2016-06-01 5 views
1
  1. からs3cmd PUT後禁じ貼り付けます。
  2. 私はS3にAccount1からtext.txts3cmd putを行っAccountZでバケットを作成し、それを公に
  3. 読み出し/書き込み製:、その後//AccountZ/test.txt
  4. それがアップロードした後、私がしようとしましたAccountZ/test.txtを別のバケットに貼り付けてください。エラー("The following objects were not copied due to errors from: <AccountZ folder>")があると表示されます。だから、私はファイルへのアクセス許可を変更しようとしました、そして、私はそれを行う権限を持っていないと言います。
  5. S3コンソールを使用してAccountZのターゲットディレクトリにファイルをアップロードすると、そのファイルにはコピー/ペーストが可能です。だから、PUT
  6. のためにアップロードされたファイルに問題があるようです。s3cmdのアクセス権設定をAccountZのキー/シークレットに変更すると、アップロードされたファイルのアクセス許可は正常に動作し、コピー/ 。

S3コンソールに/ PUTファイルをアップロードしてコピー/ペーストする方法を教えてください。S3コンソールコピー/はのiが2つのAWSアカウントを持っているとしましょう、別のアカウント

+0

"コピー/貼り付け"はユーザーインターフェイスのアクションです。どのUIを参照していますか? –

+0

@MarcusMüllerAWS S3コンソール – Kristian

+0

AccountZ/test.txtファイルをコピーしようとしているバケットのパーミッションとは何ですか? – error2007s

答えて

2

オブジェクトがS3にアップロードされるとき、オブジェクトの所有者はオブジェクトを作成したアカウントです。この場合、バケツがAccountZに存在していても、オブジェクトの所有者はAccount1です。オブジェクトの既定のアクセス許可は、オブジェクトの所有者(Account1)によってのみ変更が許可されます。 AccountZがオブジェクトで行うことができるのは、それを削除することだけです。

バケットポリシーを作成すると、そのポリシーはバケットを所有する同じアカウントによって「所有」されているバケット内のオブジェクトに自動的に適用されます。 AccountZはバケットを所有し、Account1はそのオブジェクトを所有しているため、パブリックの読み書きのバケットポリシーはここでは適用されません。

オブジェクトのアップロード時にACL(例: 'public-read-write')を指定してみてください。すでにアップロードされているオブジェクトを変更する必要がある場合は、Account1の資格情報を使用してS3 APIからPutObjectAcl呼び出しを試してください。

ソリューションは、(私は、ソース・データ・バケットにバケットポリシーを追加行かなければならなかったということでした:(http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html

0

提案@ScottWolfものと同様の戦略では、私は私の問題を解決するには、以下の操作を行う必要がありましたAccount1)を作成します。アカウントsの資格情報を使用するためにs3 apiを再構成し、次にAccount1からAccountZへのコピーを行う必要がありました。

関連する問題