Analytics

AWS Lake Formation

Glue Data Catalogの上に乗る許可レイヤー。列・行単位のアクセス制御と、Bedrock Knowledge Basesが構造化データストアとしてGlue Data Catalogを使うときの必須権限が試験の焦点です。

  • B|実装まわり
  • D3 安全性・セキュリティ・ガバナンス

ひとことで言うと

Glue Data Catalog上のデータに対して、列・行・セル単位の細かいアクセス制御を一元管理する認可レイヤーです。IAMを置き換えるのではなく、その上に重ねて使います。

要するに、図書館の閲覧許可証です。目録(Data Catalog)は誰でも見られますが、実際に特定の棚の特定のページを開けるかどうかはLake Formationが管理する許可証で決まります。

なぜ生まれたか

Lake Formation以前Lake Formation導入後
列・行単位の制御をIAMのバケットポリシー・プレフィックス管理で頑張るData Catalog上のデータに対する単一の許可管理の場所ができる
Athena・Redshift Spectrum・EMR・Glue ETLごとに個別管理複数の分析サービスに横串で効く共通の認可レイヤーになる

何に使うか

用途使い方関連ドメイン
RAGコーパス中のPIIを特定ロールにだけ見せないデータフィルタで列・行・セル単位に制限D3.2
大量のテーブルへの権限をスケールさせるLF-Tags(タグベースアクセス制御)で一括付与D3.2
Bedrock Knowledge Basesの構造化データストアをGlue Data CatalogにするサービスロールにLake FormationのDescribe・Select許可+lakeformation:GetDataAccessを付与D1.4, D3.2
アクセス監査CloudTrailと連携した監査ログD3.3

試験でどう問われるか

問われ方正解に寄る条件引っかけ
「特定ユーザーには顧客テーブルの一部の列を見せたくない」Lake Formationの列・行・セルレベルのデータフィルタIAMポリシーだけで列単位の制御を試みる(IAMはリソース単位までで列は制御できない)
「数百テーブル×数十プリンシパルの権限をこれ以上手で管理できない」**LF-Tags(LF-TBAC)**で権限をタグ単位に集約個別リソースへのGRANTを増やし続ける(管理コストがn(P)×n(R)で増える)
「Bedrock Knowledge Basesの構造化データストアで権限エラーが出る」サービスロールに**lakeformation:GetDataAccess**が無い、またはLake FormationコンソールでDescribe/Select許可を付与していないIAM側のGlueアクション権限だけ足して解決しようとする(Lake Formation側の許可が別途要る)

IAMタグとLF-Tagsは別物です。 公式ドキュメントも「同じではなく相互運用できない」と明記しています。IAMタグはIAMポリシーの条件に使い、LF-TagsはLake Formationの許可付与だけに使います。ABAC設計で混同すると意図しない権限漏れが起きます。

実務でどう使うか

実務上のポイント内容
LF-TBACの効果named resource方式はn(プリンシパル)×n(リソース)の粒度で許可が必要。LF-Tagsならタグの割当と付与の合計程度まで減らせる
Hybrid access mode一部のデータベース・テーブルだけに段階導入でき、既存ワークロードの権限ポリシーを壊さず移行できる
Bedrock KB連携の落とし穴Glue Data Catalogを構造化データストアに選ぶ場合、IAM側の権限を揃えてもLake Formation側のDescribe/Select許可を忘れると同期が失敗する。両方セットで確認する

取り違えやすいもの

迷う相手切り分けの一言
AWS Glue Data CatalogData Catalogは「何がどこにあるか」の目録。Lake Formationは「誰が読めるか」の許可。片方だけでは完結しない
IAM(通常のポリシー)IAMはAWSリソース単位のアクセス制御。Lake Formationはその内側、列・行・セル単位まで踏み込む
LF-Tags vs IAMタグ/ABAC名前は似ているが別システム。LF-TagsはLake Formationの許可専用

想起チェック

Q1. 数百テーブルへの権限をユーザーごとに個別付与し続けるのは何が問題?

管理コストがプリンシパル数×リソース数で増えることです。LF-Tags(LF-TBAC)を使えば、タグの割当と付与の組み合わせだけで同じ権限構成を表現でき、管理コストを大幅に抑えられます。

Q2. Bedrock Knowledge BasesがGlue Data Catalogに同期できずauthorizationエラーになる。何が抜けている可能性が高い?

サービスロールへの**lakeformation:GetDataAccess権限**、またはLake FormationコンソールでのDescribe/Select許可付与が抜けている可能性が高いです。IAM側のGlueアクション権限だけでは足りません。

出典(AWS公式)