2017-11-13 17 views
1

1つのアカウントにバケットがあり、このバケットのコンテンツを別のアカウントの別のバケットにコピーしようとしています:異なるアカウントの別のバケットにファイルをコピーしても、ソースファイルにs3ファイルの所有者を設定する

ここで私が見つかりました:AWS S3 copy files and folders between two buckets

次のコマンドを実行します。

aws s3 sync s3://mybucket-src s3://mybucket-target 

は、トリックを行います。あなたが暗号化をnoneからアクセス拒否に変更されて見ることができるように

enter image description here

:私は私が見る先のバケツに画像をコピーする場合でも、問題があります。だから今私は手動でイメージを公開しようとしても動作しませんし、私はイメージを開くことさえできません。

誰かが私の問題を助けることができますか?ここで

は、ターゲット上の私のポリシーです:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAll", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::xxxxxxxxxxxx:root", "" ] }, "Action": "", "Resource": [ "arn:aws:s3:::test", "arn:aws:s3:::test/*" ] } ] } 

また、デフォルトの暗号化が両方のバケットにnoneです

更新: 手掛かりを与えるかもしれないもう一つ:私は別のアカウントでテスト同じs3がセットアップされ、働いたが、これらの2つのアカウントで同じ問題が発生する。私はs3で暗号化を使用していないので、何が問題になるのかはわかりません。私は何かが設定したアカウント上で起こっているか、多分それはAWS

のバグがあると思い

更新:

私はまた、新しいアカウントにコピーされたファイルの所有者はまだ最後のアカウントであることに気づいたもう一つ。最後の所有者を参照しています

答えて

1

私の回答は、S3オブジェクトがKMS管理キー(SSE-KMS)を使用して暗号化されていることを前提としています。

  1. は、先のバケットに暗号化されていない格納する前に、ファイルを復号化コピーをやり直し:

    次の2つの選択肢があります。

  2. アカウント間で暗号化キーを共有します。

既存のカスタムキーへのクロスアカウントアクセスを有効にする方法。

KMSコンソールで、クロスアカウントアクセスを有効にするカスタムキーエイリアスをクリックします。

[キーの使用]セクションで、[外部アカウント]サブセクションを探し、[外部アカウントの追加]をクリックします。このキーを使用できるようにするアカウントの12桁のAWSアカウントIDを入力します。追加する外部アカウントごとにこのプロセスを繰り返します。完了したら[変更を保存]をクリックします。

Share Custom Encryption Keys

+0

これは本当に役に立ちます。しかし、私がソースで自分の画像を見ると、私は暗号化がなくてもファイルが暗号化されずに保存されていると思います。コピーが発生したときに暗号化が行われると思いますか? –

+0

ソースオブジェクトが暗号化されていない場合は、宛先アカウントのS3ポリシーを確認します。暗号化はデフォルトのアクションとして有効になっていますが、暗号化キーにはアクセスできません。 –

+0

は、ここに私のポリシーです:{ "バージョン": "2012年10月17日"、 "文":[ { "シド": "AllowAll"、 "エフェクト":、 "許可" "校長" :{ "AWS":[ "ARN:AWS:IAM :: XXXXXXXXXXXX:ルート"、 "*" ] }、 "アクション": "*"、 "リソース":[ 「ARN。 aws:s3 ::: test "、 " arn:aws:s3 ::: test/* " } }暗号化が追加されているかどうかわかりますか? –

関連する問題