kitoketa blog

AWS/GCP、プログラミング、育成、リーダー、本の感想、などについて

BigQuery がテーブルレベルのアクセス制御に対応されたので試してみる[ベータ版]

始めに

BigQuery がテーブルレベルのアクセス制御に対応されたようです。
2020年7月5日現在、まだベータ版ですが、一般提供されたら、業務で使いそうなので、今のうちに試してみました。

cloud.google.com

アップデートの概要

新しくBigQueryのテーブルレベルで権限を制御できるようになります。(BigQueryテーブルACL)
これにより、データセットに権限が無い場合でも、特定のテーブルまたはビューにクエリを実行することができるので、必要最小限の権限を付与する原則をさらに徹底できます。

f:id:kitoketa:20200704101319p:plain

想定されるユースケース

  1. 社外の関係者などに、1つのテーブルだけ共有する
  2. テーブルへの読み取り専用権限を承認ビューを使わずにできる

テーブルACLを使ってみる

  1. BigQueryのUIでテーブルを選択し、「テーブルを共有」ボタンを押す

    f:id:kitoketa:20200704222725p:plain

  2. メンバーを追加して、BigQueryデータ閲覧者を付与してみる

    f:id:kitoketa:20200704223226p:plain

まとめ

基本はデータセットごとに権限制御することは変わりないですが、これまでは、ある1つテーブルを別のチームに共有したい場合は、別のデータセットに承認ビューという形で提供していました。ただ、それだとやりたいことに対して、少し煩雑だと感じていました。テーブルACLを使うと簡単に実現できるので、正式にリリースされたら使う場面は増えていきそうです。