BigQuery がテーブルレベルのアクセス制御に対応されたので試してみる[ベータ版]
始めに
BigQuery がテーブルレベルのアクセス制御に対応されたようです。
2020年7月5日現在、まだベータ版ですが、一般提供されたら、業務で使いそうなので、今のうちに試してみました。
アップデートの概要
新しくBigQueryのテーブルレベルで権限を制御できるようになります。(BigQueryテーブルACL)
これにより、データセットに権限が無い場合でも、特定のテーブルまたはビューにクエリを実行することができるので、必要最小限の権限を付与する原則をさらに徹底できます。
想定されるユースケース
- 社外の関係者などに、1つのテーブルだけ共有する
- テーブルへの読み取り専用権限を承認ビューを使わずにできる
テーブルACLを使ってみる
- BigQueryのUIでテーブルを選択し、「テーブルを共有」ボタンを押す
- メンバーを追加して、BigQueryデータ閲覧者を付与してみる
まとめ
基本はデータセットごとに権限制御することは変わりないですが、これまでは、ある1つテーブルを別のチームに共有したい場合は、別のデータセットに承認ビューという形で提供していました。ただ、それだとやりたいことに対して、少し煩雑だと感じていました。テーブルACLを使うと簡単に実現できるので、正式にリリースされたら使う場面は増えていきそうです。