DEAデータのセキュリティとガバナンス
ある企業が複数アカウントにまたがるデータレイクを運用しています。データプロデューサーアカウントが S3 に保持するテーブルを、別アカウントのアナリストに対し「特定の列を除外し、地域=APACの行のみ」に限定して Athena から参照させたい。テーブルのスキーマは Glue Data Catalog で一元管理します。最小の運用負荷でこの粒度のアクセス制御を実現する方法はどれですか。
AAWS Lake Formation でデータカタログを管理し、行レベル・列レベルのアクセス許可を付与してクロスアカウント共有する
✓ 正解
Glue Data Catalog上のテーブルに列レベル・行レベル(データフィルタ)のアクセス許可を定義し、データを複製せずクロスアカウント共有できる。列除外と地域=APAC行限定をポリシーだけで実現でき運用負荷最小のため正解です。
B各アカウントの S3 バケットポリシーと IAM ポリシーで、列除外と地域フィルタの条件を記述して制御する
S3バケットポリシーとIAMはオブジェクトやプレフィックス単位の制御に留まり、テーブル内の特定列除外や行条件フィルタといった粒度を表現できないため、要求されたアクセス制御を実現できず不適切です。
Cフィルタ済みデータを Glue ETL で別 S3 プレフィックスに出力し、それを対象アカウントに共有する
ETLでフィルタ済みデータを別プレフィックスに出力する方式はデータが二重化し、元データ更新のたびに再生成・同期が必要で運用負荷とストレージコストが増えるため最小運用の要件に反します。
DAthena のワークグループごとにビューを作成し、IAM でビューへのアクセスのみを許可する
Athenaビューは単一アカウント内のSQLレベル制御には有効ですが、複数アカウントへの行/列レベル権限を一元管理するにはビューとIAMの個別管理が煩雑になり、運用負荷最小という要件を満たせません。
解説
AWS Lake Formation は Glue Data Catalog 上のテーブルに対し、列レベル(カラム除外)・行レベル(データフィルタによる行条件)のきめ細かなアクセス制御を提供し、その許可をクロスアカウントで共有できます。物理的にデータを複製せず、ポリシー定義だけで「特定列除外+地域=APAC行のみ」を実現でき運用負荷が最小です。
選択肢Bの S3 バケットポリシー/IAM はオブジェクト単位までしか制御できず、行・列レベルのフィルタは表現できません。
選択肢Cの Glue ETL でフィルタ済みデータを別出力する方式は、データの二重管理と同期運用が発生し運用負荷が高くなります。
選択肢Dの Athena ビューは単一アカウント内のSQL制御には使えますが、クロスアカウントでの行/列レベル権限の一元管理は煩雑で、ビューとIAMの組み合わせ管理が増えます。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →