TL

Cloud Service

AWS Lake Formation

S3上のデータレイク構築を効率化し、列・行・セル単位のアクセス権限を一元管理するガバナンスサービス。

中級DEA-C01SCS-C02セキュリティ
最終更新: 2026-06-13公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.S3上のデータレイクの構築・取り込み・カタログ整備を効率化する。
  • 2.テーブル・列・行・セル単位のきめ細かなアクセス権限を一元管理する。
  • 3.Glueデータカタログを基盤に、AthenaやRedshiftなど複数の分析サービスへ統一的に権限を適用できる。

解決する課題

S3にデータを集めてデータレイクを作るとき、「どのチームがどのテーブル・どの列・どの行まで見てよいか」を整理するのは難しい問題です。素のS3とIAMだけで制御しようとすると、バケットポリシーやプレフィックス単位の権限が増え続け、列や行のレベルでは細かく絞れず、サービスごとに権限定義もばらばらになりがちです。Lake Formationは:

  • S3上のデータレイクの構築・取り込み・カタログ整備を効率化する
  • テーブル・列・行・セル単位のきめ細かなアクセス権限を一元管理する
  • AthenaやRedshift Spectrum、EMR、Glueなど複数の分析サービスに同じ権限定義を統一的に適用する

「データレイクのアクセス権を中央で統制したい」「列ごと・行ごとに見せる範囲を変えたい」という要件に向きます。

主要概念と用語

  • データレイク: S3上に多様な形式のデータを集約した保管領域。Lake Formationはその上のアクセス制御とカタログ管理を担う
  • データカタログ: テーブルのスキーマ(列名・型・S3の場所)を管理するメタデータ。Lake FormationはGlueデータカタログを基盤に権限を付与する
  • データレイク管理者: Lake Formation上で権限の付与・剥奪を行える管理者ロール。最初に明示的に指定する必要がある
  • Lake Formation権限(LF権限): データベース・テーブル・列・行などのリソースに対し、SELECTやINSERTなどをプリンシパルへ付与する仕組み
  • データロケーション権限: 特定のS3パスをデータレイクのストレージとして登録し、利用を許可する権限
  • LFタグ(タグベースアクセス制御): データベースやテーブル、列にタグを付け、タグ条件で権限をまとめて管理する方式。リソースが増えても付与ルールを少数に保てる
  • データフィルタ: 行レベル条件や列の許可・除外を定義し、同じテーブルでもプリンシパルごとに見える範囲を変える仕組み
  • ブループリント / ワークフロー: データベースやログを取り込んでカタログ化する処理をテンプレート化したもの

仕様・制限・クォータ

  • 権限の対象はデータベース、テーブル、列、行、セルといったカタログ上の論理リソースで、付与先はIAMプリンシパルなど
  • きめ細かなアクセス制御は、それに対応した分析エンジン(Athena、Redshift Spectrum、EMR、Glueなど)を通じてクエリしたときに適用される
  • S3をデータレイクのロケーションとして登録し、Lake Formation経由でアクセスさせるのが基本構成
  • LFタグやデータフィルタ、登録ロケーション、各種ポリシーの個数などにサービスクォータがあり、必要に応じて引き上げを申請できる
  • クロスアカウントでのデータ共有にも対応する
IAMだけでは届かない粒度を補う

S3バケットポリシーやIAMはオブジェクトやプレフィックス単位の制御が中心です。Lake Formationは「テーブルのこの列だけ」「条件に合う行だけ」といった、IAM単体では表現しにくい粒度を補完します。

内部の仕組み

Lake Formationは、データそのものを保持するのではなく、Glueデータカタログの上にアクセス制御の層を重ねる形で動作します。S3上の実データはそのまま、カタログ上のテーブル定義に対して権限を付与します。

  • 管理者がS3パスをデータレイクのロケーションとして登録し、利用するサービスロールに対してそのパスの利用を許可する
  • 利用者がAthenaなど対応エンジンからテーブルにクエリすると、エンジンはLake Formationに権限を問い合わせ、許可された列・行だけを返す
  • 列の除外や行のフィルタはデータフィルタとして定義し、クエリ時にエンジン側で適用される
  • 権限はリソースを直接指定する方式と、LFタグで条件付けする方式の2通りがあり、後者は大規模カタログでも付与ルールを少数に保てる
対応エンジン経由でこそ効く

列・行レベルの制御は、Lake Formationに対応したエンジン経由のアクセスで効果を発揮します。登録S3パスに直接アクセスする経路を残すと、きめ細かな制御を迂回されかねないため、アクセス経路を統制することが重要です。

設計パターン / ベストプラクティス

  • タグベースアクセス制御(LFタグ)を基本に: テーブルや列にタグを付け、タグ条件で権限を付与すると、リソース増加に対して付与ルールが膨らみにくい
  • データレイク管理者を限定: 権限を操作できる管理者は最小限にし、職務分離を徹底する
  • S3直アクセスを絞る: 登録したS3ロケーションへは原則Lake Formation経由でアクセスさせ、IAMでの直接アクセスは抑制する
  • 列・行フィルタで職責に合わせる: 個人情報を含む列はマスクや除外、地域や部門で行を絞るなど、職務に応じた最小可視範囲を設計する
  • クロスアカウント共有の活用: 中央のデータレイクから各アカウントへ、必要なリソースだけをタグや個別指定で共有する

運用・監視

  • 権限の付与・剥奪、ロケーション登録などの操作はCloudTrailで監査できる
  • 「誰がどのリソースにどの権限を持つか」をLake Formation上で棚卸しし、過剰な付与を定期的に見直す
  • ブループリントやワークフローで取り込み処理をテンプレート化し、カタログ整備を再現性高く運用する
  • LFタグの体系をあらかじめ設計し、タグの命名・付与ルールをドキュメント化しておくと、権限のレビューが容易になる

コスト

  • Lake Formationの権限管理機能そのものには、一般に追加の専用料金がかからない範囲が多い
  • 実際のコストは、基盤となるGlueデータカタログ、取り込みや変換に使うGlueジョブ、クエリを実行するAthenaやRedshift、EMR、保管先のS3といった周辺サービスの利用量で決まる
  • きめ細かな制御を付けても、データ自体は移動・複製しないため、追加のストレージコストは基本的に発生しない
課金の主役は周辺サービス

費用を見積もるときは「Lake Formationの料金」ではなく、Glue・Athena・Redshift・S3など実際に処理とストレージを担うサービスの利用量を中心に考えると見通しが立ちます。

セキュリティ

  • アクセス制御はIAMとLake Formation権限の二層で構成され、Lake Formationが列・行・セル単位の粒度を担う
  • LFタグにより、データの分類(機密度や部門など)に基づいた権限付与をスケールさせられる
  • データレイク管理者の権限を絞り、付与・剥奪の操作を職務分離する
  • 保管時の暗号化はS3とKMS、通信はTLSで保護し、操作監査はCloudTrailで行う
  • 登録S3ロケーションへの直接アクセス経路を統制し、きめ細かな制御の迂回を防ぐ

Well-Architected の観点

  • セキュリティ: 列・行・セル単位の最小権限を中央で一元管理し、複数の分析サービスへ統一適用する。職務分離と監査ログを徹底
  • 運用上の優秀性: タグベースで権限ルールを少数に保ち、ブループリントで取り込みを再現性高く運用する
  • コスト最適化: データを複製せずカタログ上で制御するため、ガバナンス強化に伴う追加ストレージが発生しにくい
  • パフォーマンス効率: 行・列フィルタにより必要なデータだけを返し、不要な範囲の処理を避ける

試験で問われるポイント

頻出
  • 「S3データレイクで列・行レベルのアクセス制御を一元管理」→ Lake Formation
  • IAMやS3バケットポリシーでは難しいテーブル内の列・行単位の制御を担うのがLake Formation
  • 大規模カタログの権限管理は**LFタグ(タグベースアクセス制御)**でスケールさせる
  • 権限はGlueデータカタログ上のリソースに付与し、Athena・Redshift Spectrum・EMRなど対応エンジン経由で適用される
  • 登録S3ロケーションへの直接アクセスを許すと、きめ細かな制御を迂回されうる点に注意

関連サービス・比較

アクセス制御の基盤である AWS IAM とよく対比されます。IAMはサービスやリソース単位の認可を担い、Lake Formationはその上でデータレイク内部の列・行といった粒度を担う、補完関係にあります。

観点Lake FormationIAM
制御の粒度テーブル・列・行・セル単位サービス・リソース・S3プレフィックス単位
対象データレイク内のカタログ資産AWS全般のAPI・リソース操作
主な用途データレイクのきめ細かなアクセス統制プリンシパルの基本的な認可
関係IAMと組み合わせて二層で機能認可の土台。単体ではテーブル内部まで絞れない

ハンズオン / CLI例

# S3パスをデータレイクのロケーションとして登録
aws lakeformation register-resource \
  --resource-arn arn:aws:s3:::my-data-lake/sales/ \
  --use-service-linked-role

# 特定テーブルの「指定した列だけ」をロールにSELECT許可(列レベル制御)
aws lakeformation grant-permissions \
  --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/analyst \
  --resource '{"TableWithColumns":{"DatabaseName":"sales_db","Name":"orders","ColumnNames":["order_id","amount","region"]}}' \
  --permissions "SELECT"

# 付与済み権限の確認
aws lakeformation list-permissions \
  --resource '{"Table":{"DatabaseName":"sales_db","Name":"orders"}}'

AWS Service

AWS Lake Formationを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

分析

比較で見る軸

クラウド: AWS / カテゴリ: 分析 / 難易度: intermediate

導入後に効く点

テーブル・列・行・セル単位のきめ細かなアクセス権限を一元管理する。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
AWS
カテゴリ
分析
難易度
intermediate
関連資格
DEA-C01 / SCS-C02
設計柱
security

判断チェックリスト

  • 自社の用途が「分析 / security」に近いか確認する。
  • 強みである「S3上のデータレイクの構築・取り込み・カタログ整備を効率化する。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

分析securityDEA-C01SCS-C02