View a markdown version of this page

Amazon S3 Tables 統合の有効化 - AWS Lake Formation

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon S3 Tables 統合の有効化

Amazon S3 コンソールを使用して Amazon S3 テーブルバケットを作成し、 AWS 分析サービスと統合できます。詳細については、「Amazon S3 Tables と AWS 分析サービスの統合」を参照してください。

では AWS Lake Formation、Lake Formation コンソールまたは AWS Lake Formation を使用して、Amazon S3 Tables と AWS Glue Data Catalog および との統合を有効にできます AWS CLI。

  1. Lake Formation コンソール (‭‬https://console.aws.amazon.com/lakeformation/‬) を開きます。

  2. ナビゲーションペインの[データカタログ] で、[カタログ] を選択します。

  3. [カタログ] ページで [S3 テーブル統合を有効にする] を選択します。

    カタログページの S3 テーブル統合を有効にするオプション。
  4. Lake Formation が分析クエリエンジンに認証情報を提供するために必要なアクセス許可を持つ IAM ロールを選択します。ロールがデータにアクセスするために必要なアクセス許可については、「前提条件」セクションの「step3-permissions」を参照してください。

    IAM ロール を含む S3 統合の有効化画面。
  5. [外部エンジンに、Amazon S3 の場所のデータに対するフルアクセス許可を付与する] を選択します。サードパーティーエンジンのフルテーブルアクセスを有効にすると、Lake Formation は IAM セッションタグの検証を実行せずにサードパーティーエンジンに直接認証情報を返します。つまり、アクセスするテーブルに Lake Formation のきめ細かなアクセスコントロールを適用することはできません。

  6. [有効化] を選択します。S3 Tables の新しいカタログがカタログリストに追加されます。S3 テーブルカタログ統合を有効にすると、サービスは S3 テーブルバケットのデータロの場所を Lake Formation に登録します。

  7. カタログを選択してカタログオブジェクトを表示し、他のプリンシパルにアクセス許可を付与します。

    S3 テーブルカタログ

    マルチレベルカタログを作成するには、「Amazon Simple Storage Service ユーザーガイド」の「テーブルバケットの作成」セクションを参照してください。

前提条件セクションに従って、Lake Formation がテーブルリソースにアクセスできるようにする IAM サービスロールを作成します。

  1. 次の信頼ポリシーを含むファイルを Role-Trust-Policy.json という名前で作成します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPolicy", "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }
  2. 次のコマンドを使用して IAM サービスロールを作成します。

    aws iam create-role \ --role-name S3TablesRoleForLakeFormation \ --assume-role-policy-document file://Role-Trust-Policy.json
  3. 次のポリシーを含むファイルを LF-GluePolicy.json という名前で作成します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationPermissionsForS3ListTableBucket", "Effect": "Allow", "Action": [ "s3tables:ListTableBuckets" ], "Resource": [ "*" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket", "Effect": "Allow", "Action": [ "s3tables:CreateTableBucket", "s3tables:GetTableBucket", "s3tables:CreateNamespace", "s3tables:GetNamespace", "s3tables:ListNamespaces", "s3tables:DeleteNamespace", "s3tables:DeleteTableBucket", "s3tables:CreateTable", "s3tables:DeleteTable", "s3tables:GetTable", "s3tables:ListTables", "s3tables:RenameTable", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/*" ] } ] }
  4. 次のコマンドを使用してポリシーをロールにアタッチします。

    aws iam put-role-policy \ --role-name S3TablesRoleForLakeFormation \ --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \ --policy-document file://LF-GluePolicy.json
  5. 以下を含むファイルを input.json という名前で作成します。

    { "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation" }
  6. 次のコマンドを使用してテーブルバケットを Lake Formation に登録します。

    aws lakeformation register-resource \ --region us-east-1 \ --with-privileged-access \ --cli-input-json file://input.json
  7. 次のカタログを含むファイルを catalog.json という名前で作成します。

    { "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [], "AllowFullTableExternalDataAccess": "True" } }
  8. 次のコマンドを使用して s3tablescatalog カタログを作成します。このカタログを作成すると、テーブルバケット、名前空間、テーブルに対応するオブジェクト AWS Glue Data Catalog が に入力されます。

    aws glue create-catalog \ --region us-east-1 \ --cli-input-json file://catalog.json
  9. 次のコマンド AWS Glue を使用して、s3tablescatalogカタログが に追加されていることを確認します。

    aws glue get-catalog --catalog-id s3tablescatalog