レプリケート元バケットとレプリケート先バケットが異なるアカウントによって所有されている場合での、レプリケーションの設定
レプリケート元
バケットとレプリケート先
バケットが異なる AWS アカウントによって所有されている場合のレプリケーションの設定は、両方のバケットが同じアカウントによって所有されている場合のレプリケーションの設定と似ています。唯一の違いとして、レプリケート先
バケットの所有者は、レプリケート元
バケットの所有者に、バケットポリシーを追加してオブジェクトをレプリケートするアクセス権限を与える必要があります。
クロスアカウントシナリオで AWS Key Management Service でのサーバー側の暗号化を使用したレプリケーションの設定の詳細については、「クロスアカウントシナリオに対する追加のアクセス許可の付与」を参照してください。
レプリケート元バケットとレプリケート先バケットが異なる AWS アカウントによって所有されている場合にレプリケーションを設定するには
-
この例では、
レプリケーション元
バケットとレプリケーション先
バケットを 2 つの異なる AWS アカウントで作成します。AWS CLI には 2 つの認証情報プロファイルを設定する必要があります (この例では、プロファイル名にacctA
とacctB
を使用します)。認証情報プロファイルの設定については、AWS Command Line Interface ユーザーガイドの名前付きプロファイルを参照してください。 -
「同じアカウントでのバケットの設定」の手順に従って、以下の変更を加えます。
-
レプリケート元
バケットアクティビティ (レプリケート元
バケットの作成、バージョニングの有効化、および IAM ロールの作成) に関連するすべての AWS CLI コマンドには、acctA
プロファイルを使用します。acctB
プロファイルを使用してレプリケート先
バケットを作成します。 -
この例で作成した
レプリケート元
バケット、およびレプリケート先
バケットがアクセス権限ポリシーで指定されていることを確認してください。
-
-
コンソールで
レプリケート先
バケットに次のバケットポリシーを追加して、レプリケート元
バケットの所有者がオブジェクトをレプリケートできるようにします。必ず、レプリケート元
バケット所有者の 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
許可の付与が含まれます。詳細については、「レプリカ所有者の変更」を参照してください。