如何将权限递归更改为使用AWS s3或AWS s3api的文件夹

问题描述:

我正尝试将权限授予s3中的现有帐户。如何将权限递归更改为使用AWS s3或AWS s3api的文件夹

存储桶归该帐户所有,但数据是从另一个帐户的存储桶复制的。

当我尝试给予用命令的权限:

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

我收到的错误:

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

而如果我这样做对单个文件的命令是成功的。

我该如何让它适用于完整的文件夹?

+0

'ObjectACL'只支持'files'和'bucket',不支持'folder'。所以你不能为''文件夹定义ACL。您为存储桶级别定义ACL的最简单解决方案。例如:''Resource“:”arn:aws:s3 ::: BUCKET_NAME/*“' –

您需要分别为每个对象运行命令。

您可能能够走捷径的过程中使用:

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

也就是说,您将文件复制到自己,但与添加ACL授予权限桶所有者。

如果您有子目录,请添加--recursive