見せる範囲を設計する — IAM・列・部署プロジェクト
データセット、列、部署への配布を別のレイヤーで守ると、PIIを抱えたデータ基盤でも分析を止めずに共有できます。
TL;DR
- IAM はデータセットを開けるかを決める。
- ポリシータグは同じテーブルのPII列だけを拒否またはマスクする。
- BigQuery Sharing はコピーせず、部署プロジェクトにリンクドデータセットとして届ける。
01三層で守る
「テーブルを読める」と「PIIを見せる」は同じ権限ではない。

IAMでデータセットの入口を制御し、Authorized Viewで公開する形を絞り、ポリシータグでemail等の列を制御する。
02ポリシータグの効き方
タグを付けると、Ownerであってもタグ権限なしには列を読めない。

high(認証情報)・medium(直接識別子)・low(準識別子)の分類を置き、Fine-Grained ReaderまたはMasked Readerを明示して付ける。
要点:タグを付けると、Ownerであってもタグ権限なしには列を読めない。
03部署へ配る
共有先の自由と、中央データの統制を両立させる。

データチームはExchangeでマートを公開し、営業等は自分のプロジェクトでSubscribeする。データはコピーされず更新は反映され、クエリ課金は利用側に発生する。
結論
- まず公開するマートを整え、rawへの直接アクセスを最小化する。
- 列レベルはPIIの分類と実行主体の権限をセットで設計する。
- Sharingはデータ複製ではなく、独立した分析環境への参照配布。