如何将权限递归更改为使用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.
而如果我这样做对单个文件的命令是成功的。
我该如何让它适用于完整的文件夹?
答
您需要分别为每个对象运行命令。
您可能能够走捷径的过程中使用:
aws s3 cp --acl bucket-owner-full-control --profile <original_account_profile> s3://bucket/path s3://bucket/path
也就是说,您将文件复制到自己,但与添加ACL授予权限桶所有者。
如果您有子目录,请添加--recursive
。
'ObjectACL'只支持'files'和'bucket',不支持'folder'。所以你不能为''文件夹定义ACL。您为存储桶级别定义ACL的最简单解决方案。例如:''Resource“:”arn:aws:s3 ::: BUCKET_NAME/*“' –