0

2つのs3バケット間でデータを同期します。異なるプロファイルが所有する2つのs3バケット間でデータを同期する方法

問題は、それぞれが異なるAWSアカウント(つまり、アクセスキーIDと秘密のアクセスキー)によって所有されていることです。

私は先のバケットが公に書き込み可能にしようとしたが、私はまだこれを解決する方法

fatal error: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied 

を取得しますか?

+0

(のは、アカウントAを言わせIAM役割の一つでクロスアカウントアクセスを有効にします)。 2番目のアカウント(Bアカウント)のバケットで、バケットポリシーを設定して、アカウントAのIAMロールが(s3:PutObject)を書き込むことができるようにします。 –

+0

S3バケットは、特定のIAMユーザー/ロール/プロファイルではなく、ルートAWSアカウントによって所有されています。また、S3バケットにはアクセスキー/秘密キーが特にありません。これらのアクセスクレデンシャルはルートAWSアカウントまたはIAMアカウントのいずれかに割り当てられています。バケツは異なるAWSアカウントによって所有されていると言っていますか?それとも、バケツにアクセスするために1つのAWSアカウントで異なるIAMユーザーを現在使用しているということだけですか? –

+0

はい@マークB。あなたは正しく、2つのバケットは異なるAWSアカウントで所有されています。 Btw、ソースバケットアカウントに権限を与えることを解決しました。 – gc5

答えて

0

宛先バケットをソースバケットのAWSアカウントに書き込む権限を与えて解決しました。

宛先バケットの「アクセス許可」タブに「他のAWSアカウントへのアクセス」のバケットに行き、アカウントの電子メールを使用してソースバケットのAWSアカウントへのアクセス許可を与えました。

その後、私はAWS CLIを(受信者のアカウントへのフルアクセス権を付与することを忘れないでください!)を使用してファイルをコピー:

aws s3 cp s3://<source_bucket>/<folder_path>/ s3://<destination_bucket> --recursive --profile <source_AWSaccount_profile> --grants full=emailaddress=<destination_account_emailaddress> 
関連する問題