レプリケート元バケットとレプリケート先バケットが異なるアカウントによって所有されている場合での、レプリケーションの設定 - Amazon Simple Storage Service

レプリケート元バケットとレプリケート先バケットが異なるアカウントによって所有されている場合での、レプリケーションの設定

レプリケート元バケットとレプリケート先バケットが異なる AWS アカウントによって所有されている場合のレプリケーションの設定は、両方のバケットが同じアカウントによって所有されている場合のレプリケーションの設定と似ています。唯一の違いとして、レプリケート先バケットの所有者は、レプリケート元バケットの所有者に、バケットポリシーを追加してオブジェクトをレプリケートするアクセス権限を与える必要があります。

クロスアカウントシナリオで AWS Key Management Service でのサーバー側の暗号化を使用したレプリケーションの設定の詳細については、「クロスアカウントシナリオに対する追加のアクセス許可の付与」を参照してください。

レプリケート元バケットとレプリケート先バケットが異なる AWS アカウントによって所有されている場合にレプリケーションを設定するには
  1. この例では、レプリケーション元バケットとレプリケーション先バケットを 2 つの異なる AWS アカウントで作成します。AWS CLI には 2 つの認証情報プロファイルを設定する必要があります (この例では、プロファイル名に acctAacctB を使用します)。認証情報プロファイルの設定については、AWS Command Line Interface ユーザーガイド名前付きプロファイルを参照してください。

  2. 同じアカウントでのバケットの設定」の手順に従って、以下の変更を加えます。

    • レプリケート元バケットアクティビティ (レプリケート元バケットの作成、バージョニングの有効化、および IAM ロールの作成) に関連するすべての AWS CLI コマンドには、acctA プロファイルを使用します。acctB プロファイルを使用してレプリケート先バケットを作成します。

    • この例で作成したレプリケート元バケット、およびレプリケート先バケットがアクセス権限ポリシーで指定されていることを確認してください。

  3. コンソールでレプリケート先バケットに次のバケットポリシーを追加して、レプリケート元バケットの所有者がオブジェクトをレプリケートできるようにします。必ず、レプリケート元バケット所有者の AWS アカウント ID とレプリケート先バケット名を指定してポリシーを編集してください。

    注記

    次の例を使用するには、user input placeholders をユーザー自身の情報に置き換えます。DOC-EXAMPLE-BUCKET を送信先のバケットの名前に置き換えます。source-bucket-acct-ID:role/Service-role/source-acct-IAM-Role を、このレプリケーション設定に使用しているロールに置き換えます。

    IAM サービスロールを手動で作成した場合は、次のポリシー例に示すように、ロールパスを role/service-role/ として設定します。詳細については、「IAM ユーザーガイド」の「IAM ARN」を参照してください。

    { "Version":"2012-10-17", "Id":"", "Statement":[ { "Sid":"Set-permissions-for-objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-acct-ID:role/service-role/source-acct-IAM-role" }, "Action":["s3:ReplicateObject", "s3:ReplicateDelete"], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid":"Set permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-acct-ID:role/service-role/source-acct-IAM-role" }, "Action":["s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning"], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET" } ] }

バケットを選択してバケットポリシーを追加します。手順については、Amazon S3 コンソールを使用したバケットポリシーの追加 を参照してください。

レプリケーションでは、デフォルトで、レプリケート元オブジェクトの所有者もレプリカを所有しています。レプリケート元とレプリケート先のバケットが、異なる AWS アカウントによって所有されている場合、レプリケート先バケットを所有する AWS アカウントにレプリカの所有権を変更するためのオプション設定を追加できます。これには、ObjectOwnerOverrideToBucketOwner 許可の付与が含まれます。詳細については、「レプリカ所有者の変更」を参照してください。