2017-10-04 16 views
0

s3の既存のアカウントに権限を付与しようとしています。AWS s3またはAWS s3apiでフォルダに再帰的に権限を変更する方法

バケットはアカウントによって所有されていますが、データは別のアカウントのバケットからコピーされています。

私はコマンドを使用して権限を付与しよう:私は、単一のファイルでそれを行う場合は、コマンドが成功している間

An error occurred (NoSuchKey) when calling the PutObjectAcl operation: The specified key does not exist. 

aws s3api put-object-acl --bucket <bucket_name> --key <folder_name> --profile <original_account_profile> --grant-full-control emailaddress=<destination_account_email> 

私はエラーを受け取ります。

フルフォルダではどのように動作させることができますか?

+0

'ObjectACL'は' files'と 'bucket'だけをサポートし、' folder'はサポートしません。したがって、 'folder'に対してACLを定義することはできません。バケットレベルのACLを定義する最も簡単なソリューションです。例: '" Resource ":" arn:aws:s3 ::: BUCKET_NAME/* "' –

答えて

0

オブジェクトごとに個別にコマンドを実行する必要があります。

あなたが使用することにより、短いカットプロセスにできることがあります:

ある
aws s3 cp --acl bucket-owner-full-control --profile <original_account_profile> s3://bucket/path s3://bucket/path 

、あなたが自分自身にファイルをコピーしますが、バケットの所有者に権限を付与する追加ACLで。

サブディレクトリがある場合は、--recursiveを追加します。

関連する問題