別の AWS アカウントにある Amazon S3 ロケーションの登録 - AWS Lake Formation

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

別の AWS アカウントにある Amazon S3 ロケーションの登録

AWS Lake Formation では、Amazon Simple Storage Service (Amazon S3) ロケーションを AWS アカウント間で登録できます。例えば、 AWS Glue Data Catalog がアカウント A にある場合、アカウント A のユーザーはアカウント B に Amazon S3 バケットを登録できます。

AWS アカウント A の () ロールを使用してアカウント B に Amazon S3 バケットを登録するには、次のアクセス許可が必要です。 AWS Identity and Access Management IAM AWS

  • アカウント A のロールが、アカウント B のバケットに対する許可を付与する必要があります。

  • アカウント B のバケットポリシーが、アカウント A のロールにアクセス許可を付与する必要があります。

重要

[Requester pays] (リクエスタ支払い) が有効になっている Amazon S3 バケットの登録は避けてください。Lake Formation に登録されたバケットの場合、バケットの登録に使用されるロールは常にリクエスト元であると見なされます。バケットが別の AWS アカウントからアクセスされた場合、ロールがバケット所有者と同じアカウントに属している場合、バケット所有者はデータアクセスに対して課金されます。

Lake Formation サービスリンクロールを使用して、別のアカウントにあるロケーションを登録することはできません。その代わりに、ユーザー定義のロールを使用する必要があります。このロールは、「ロケーションの登録に使用されるロールの要件」の要件を満たす必要があります。サービスリンクロールの詳細については、「Lake Formation のサービスリンクロールの許可」を参照してください。

開始する前に

ロケーションの登録に使用されるロールの要件」を確認してください。

別の AWS アカウントでロケーションを登録するには
注記

ロケーションが暗号化されている場合は、代わりに「AWS アカウント間での暗号化された Amazon S3 ロケーションの登録」の手順を実行してください。

以下の手順は、Data Catalog が含まれるアカウント 1111-2222-3333 のプリンシパルが、アカウント 1234-5678-9012 にある Amazon S3 バケット awsexamplebucket1 を登録したいという状況を前提としています。

  1. アカウント 1111-2222-3333 で、 にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. 新しいロールを作成するか、「ロケーションの登録に使用されるロールの要件」の要件を満たす既存のロールを表示します。ロールが awsexamplebucket1 に対する Amazon S3 許可を付与することを確認します。

  3. で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/。アカウント 1234-5678-9012 でサインインします。

  4. [Bucket name] (バケット名) リストで、awsexamplebucket1 というバケット名を選択します。

  5. [Permissions] (アクセス許可) を選択します。

  6. [Permissions] (アクセス許可) ページで、[Bucket Policy] (バケットポリシー) を選択します。

  7. [Bucket policy editor] (バケットポリシーエディタ) に、以下のポリシーを貼り付けます。置換 <role-name> をロールの名前に置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Principal": { "AWS":"arn:aws:iam::111122223333:role/<role-name>" }, "Action":"s3:ListBucket", "Resource":"arn:aws:s3:::awsexamplebucket1" }, { "Effect":"Allow", "Principal": { "AWS":"arn:aws:iam::111122223333:role/<role-name>" }, "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource":"arn:aws:s3:::awsexamplebucket1/*" } ] }
  8. [保存] を選択します。

  9. で AWS Lake Formation コンソールを開きますhttps://console.aws.amazon.com/lakeformation/。データレイク管理者として、またはロケーションを登録するために十分な許可を持つユーザーとして、アカウント 1111-2222-3333 にサインインします。

  10. ナビゲーションペインの [管理] で、[データレイクのロケーション] を選択します。

  11. [データレイクのロケーション] ページで、[ロケーションを登録] を選択します。

  12. [Register location] (ロケーションの登録) ページで、[Amazon S3 path] (Amazon S3 パス) にバケット名 s3://awsexamplebucket1 を入力します。

    注記

    クロスアカウントバケットは [Browse] (参照) を選択してもリストに表示されないため、バケット名を入力する必要があります。

  13. IAM ロール で、ロールを選択します。

  14. [Register location] (ロケーションを登録) を選択します。