1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[随時更新予定]ユースケース別Bigqueryの権限付与パターン

Posted at

これなに

BQの権限付与で毎回どれつければいいんだっけ?となるのでこの機会にまとめてみることにした。
(ドキュメント読んでもよくわからないし。。。)
※以下は全て手作業で確認してるので、もしかしたら漏れがあるかもしれません。ご容赦ください

case1: 特定のデータセットだけ閲覧・検索させたい

これが一番よくあるパターンだと思う。
特にBQはテーブル単位で権限が付与できないので共有用のデータセットを作ってそこに見せたいテーブルのviewを作るということがあるが、viewテーブルの場合のみ承認済みビューを登録するという一手間が発生するので注意

設定方法

1. IAMで BigQuery ジョブユーザー を付与

2. 共有データセットで BigQuery データ閲覧者を付与

※(viewテーブルを許容したい時のみ必要) 作成したviewを承認済みviewに登録する
viewの元テーブルが格納されてるデータセットを押下し 共有データセット承認済みのビュー を選択し、viewを保存したデータセットとviewテーブルを選択。

こうなる

  • できること
    • 指定したデータセット配下テーブルのスキーマとプレビューの閲覧
    • 指定したデータセット配下テーブルへのselect文の発行
  • できないこと
    • 指定したデータセット以外へのアクセス
    • テーブルのスキーマの編集
    • SQLの結果をBQテーブルとして指定したデータセット配下へ保存(viewもNG)
    • insert,update,delete文の発行

case2: プロジェクト配下全てのテーブルを閲覧・検索させたい

BQ適当に見ていいけどデータの変更だけは間違ってもさせたくない時。
以下のできないことにも書いてるがSQLの結果をBQテーブルに保存ができないので、例えば
大容量のデータを一旦テーブルに書き出してからGCSにあげて落とすみたいなことは当然できない。

設定方法

・IAMで以下の権限をを付与
  ・BigQuery ジョブユーザー
  ・BigQuery データ閲覧者

こうなる

  • できること
    • プロジェクト配下のテーブルのスキーマとプレビューの閲覧
    • プロジェクト配下のテーブルへのselect文の発行
  • できないこと
    • テーブルのスキーマの編集
    • SQLの結果をBQテーブルとしてへ保存(viewもNG)
    • insert,update,delete文の発行
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?