AWS Lake Formation は、AWS Glue Data Catalog を使用して Amazon S3 データに関するメタデータをデータベースとテーブルの形式で保存します。テーブルには、スキーマ情報、パーティション情報、およびデータロケーションなどの基盤となるデータに関する情報が保存されます。データベースはテーブルのコレクションです。Data Catalog には、リソースリンクも含まれています。これは、外部アカウントの共有データベースとテーブルへのリンクで、データレイク内のデータへのクロスアカウントアクセスに使用されます。各 AWS アカウントには、AWS リージョンごとに 1 つの Data Catalog があります。
Lake Formation には、Amazon S3 内のデータを基盤とする Data Catalog のデータベース、テーブル、列へのアクセスを許可または取り消すためのリレーショナルデータベース管理システム (RDBMS) のアクセス許可モデルが用意されています。
Lake Formation 許可モデルの詳細について学ぶ前に、以下の背景情報を確認しておくことが役に立ちます。
-
Lake Formation によって管理されるデータレイクは、Amazon Simple Storage Service (Amazon S3) 内の指定されたロケーションに置かれます。
-
Lake Formation は、データレイクにインポートされるログやリレーショナルデータベース内のデータなどのソースデータ、および Amazon S3 内のデータレイクにあるデータに関するメタデータが含まれた Data Catalog を維持します。メタデータは、データベースおよびテーブルとして編成されます。メタデータテーブルには、スキーマ、ロケーション、パーティショニング、およびそれらが表すデータに関するその他の情報が含まれています。メタデータデータベースは、テーブルのコレクションです。
-
Lake Formation Data Catalog は、AWS Glue が使用する Data Catalog と同じです。AWS Glue クローラを使用して Data Catalog テーブルを作成し、AWS Glue 抽出、変換、ロード (ETL) ジョブを使用してデータレイク内の基盤となるデータを投入することができます。
-
Data Catalog 内のデータベースやテーブルは、Data Catalog リソースと呼ばれます。Data Catalog 内のテーブルは、Amazon S 3 のデータソースまたは表形式データ内のテーブルと区別するために、メタデータテーブルと呼ばれます。メタデータテーブルがポイントする Amazon S3 またはデータソース内のデータは、基盤となるデータと呼ばれます。
-
プリンシパルは、ユーザーもしくはロール、Amazon QuickSight ユーザーもしくはグループ、または SAML プロバイダー経由で Lake Formation の認証を受けるユーザーもしくはグループで、クロスアカウントアクセス制御の場合は、AWS アカウント ID、組織 ID、または組織単位 ID になります。
-
メタデータテーブルは AWS Glue クローラが作成しますが、Lake Formation コンソール、API、AWS Command Line Interface (AWS CLI) を使用して手動で作成することも可能です。メタデータテーブルを作成するときは、ロケーションを指定する必要があります。データベースを作成するときは、ロケーションはオプションです。テーブルロケーションは、Amazon S3 ロケーション、または Amazon Relational Database Service (Amazon RDS) データベースなどのデータソースロケーションにすることができます。データベースロケーションは、常に Amazon S3 ロケーションです。
-
Amazon Athena および Amazon Redshift などの Lake Formation と統合するサービスは、メタデータの取得、またはクエリを実行するための認可の確認を実行するために Data Catalog にアクセスできます。統合されたサービスの完全なリストについては、「AWS のサービスの Lake Formation との統合」を参照してください。