AWS Lake Formation
データレイクの構築 / 管理 / セキュリティを一元化し、S3 上のデータに対する列レベル / 行レベルのきめ細かいアクセス制御を提供するサービス
概要
AWS Lake Formation は、S3 をベースとしたデータレイクの構築、データの取り込み、カタログ登録、アクセス制御を一元的に管理するサービスです。Glue Data Catalog と統合されており、データソースからの取り込み (ブループリント)、スキーマの自動検出、テーブル / 列 / 行レベルのアクセス制御、クロスアカウントでのデータ共有を提供します。Athena、Redshift Spectrum、EMR からデータレイクにクエリする際のアクセス権限を、Lake Formation の一元的なポリシーで管理できます。
IAM ポリシーでは実現できないきめ細かいアクセス制御
データレイクのアクセス制御を S3 の IAM ポリシーと Glue Data Catalog のリソースポリシーだけで管理しようとすると、テーブル数やユーザー数の増加に伴いポリシーの管理が複雑になります。Lake Formation はデータベース、テーブル、列、行の各レベルでアクセス権限を付与する独自の権限モデルを提供し、SQL の GRANT/REVOKE に似た付与と取り消しの仕組みで管理します。列レベルフィルタリングでは、同じテーブルに対してユーザー A には全列を、ユーザー B には個人情報列を除いた列のみを公開するといった制御が可能です。行レベルセキュリティ (Row-Level Security) では、データフィルターを定義して「営業部門のユーザーには自部門のデータのみ表示」のような行単位のアクセス制御を実現します。セルレベルセキュリティは列フィルタリングと行フィルタリングを組み合わせたもので、行によって見せる列を変えるといったセル単位の制御を行います。これらの権限は、Athena、Redshift Spectrum、EMR などの連携するサービスからのクエリに適用されます。
データレイク構築のワークフローとブループリント
Lake Formation でデータレイクを構築するワークフローの一例は、データレイクの場所登録、データソースの接続、ブループリントによるデータ取り込み、権限設定の 4 ステップです。まず S3 バケットをデータレイクの場所として登録し、Lake Formation にそのバケットへのアクセス権限を委任します。次にデータソース (RDS やオンプレミスのデータベースなど、JDBC で接続できるデータベース) への接続を設定します。ブループリントは定型的なデータ取り込みパターンをテンプレート化したものです。開発者ガイドは、データベーススナップショット、増分データベース、ログファイル (AWS CloudTrail や Elastic Load Balancing のログなど) の 3 種類を挙げています (2026 年 10 月時点)。ブループリントを実行すると、裏側で Glue のクローラーと ETL ジョブが自動生成され、データソースからデータを抽出して指定したデータ形式で S3 に格納し、Glue Data Catalog にテーブルとして登録します。開発者ガイドは、ブループリントを使うと AWS Glue で作るよりワークフローの作成が簡単で自動化されると説明しています。ただし、複雑なデータ変換やカスタムロジックが必要な場合は、ブループリントではなく Glue ジョブを直接作成する方が柔軟です。
クロスアカウントデータ共有と Governed Tables
Lake Formation のクロスアカウントデータ共有は、Organizations 内の別アカウントや外部アカウントに対して、テーブル単位 / 列単位でデータへのアクセス権限を付与する機能です。従来の S3 バケットポリシーによるクロスアカウントアクセスでは、データの論理的な構造 (テーブル、列) を意識した制御ができませんでしたが、Lake Formation では「アカウント B にはテーブル X の列 A, B, C のみ読み取り可」のような粒度で共有できます。AWS RAM (Resource Access Manager) と統合されており、共有の招待と承認のワークフローが標準化されています。Governed Tables は Lake Formation が管理する特殊なテーブルタイプで、ACID トランザクション、自動データコンパクション、タイムトラベルクエリをサポートします。複数の ETL ジョブが同じテーブルに同時に書き込む場合でも、トランザクションの分離レベルが保証されるため、読み取り側が中途半端な状態のデータを参照することがありません。開発者ガイドによると、Lake Formation の権限の管理は Apache Iceberg などのオープンテーブル形式にも対応しています。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。