我已经给了源(和目的地(帐户s3:*对bucket和bucket/*的权限
我可以将文件上传到目标帐户的bucket。但它到达时没有权限,目的地帐户所有者无法读取它。
此外,源帐户无法删除它。(目标帐户可以删除它,但不能读取它(
[root@ip-10-66-2-209 ~]# aws s3 cp nohup.out s3://ji-rhel
upload: ./nohup.out to s3://ji-rhel/nohup.out
[root@ip-10-66-2-209 ~]# aws s3 rm s3://ji-rhel/nohup.out
delete failed: s3://ji-rhel/nohup.out An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
所以我尝试添加各种acl语句:
[root@ip-10-66-2-209 ~]# aws s3 cp nohup.out s3://ji-rhel --acl public-read-write
upload failed: ./nohup.out to s3://ji-rhel/nohup.out An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied
与"--acl bucket所有者完全控制"相同的多部分错误。如果我上传一个较小的文件,那么PutObject上也会出现同样的错误。
我在bucket/*上给了源帐户一个额外的"s3:ObjectOwnerOverrideToBucketOwner"权限。
我尝试上传文件,然后从控制台更改目标帐户的权限。
Access denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: C703B5....
有人对如何进行跨帐户上传和文件可读有什么想法吗?
将对象复制到其他帐户拥有的存储桶时,请使用:--acl bucket-owner-full-control
这将确保接收bucket"拥有"对象。
Duh。我只是认为是实例角色不允许完全S3访问,而不是bucket策略。