我使用awscli同步两个桶(相同帐户):
aws s3 sync --only-show-errors s3://bucket-1 s3://bucket-2但是对于某些文件,我得到了权限错误:
copy failed: s3://bucket-1/dirname/file.flac to s3://bucket-2/dirname/file.flac An error occurred (AccessDenied) when calling the UploadPartCopy operation: Access Denied(在某些情况下,失败的操作是CopyObject)
这似乎只发生在.flac文件中。所有其他文件都是.mp3s,所以唯一的区别是我能想到的是文件的大小。
因为我使用的是一个拥有完全s3权限的用户,所以我不明白为什么会发生这种情况(或者如何解决这个问题)。
发布于 2018-09-16 08:45:38
该对象是否为另一个帐户所拥有?
当AWS帐户AAA中的桶可由AWS帐户BBB写入时(例如通过BucketPolicy ),可能会发生这种情况,但是作者(在BBB中)在上传时没有指定--acl bucket-owner-full-control权限。
使用以下方法检查对象的ACL:
aws s3api get-object-acl --bucket bucket-1 --key dirname/file.flac对于目标来说类似--如果一个现有的对象被一个不同的帐户所拥有,你将无法覆盖它。这就是为什么UploadPartCopy会失败。
希望这能帮上忙。
发布于 2023-04-02 15:17:44
对于我来说,它失败了,因为UploadPartCopy操作需要额外的权限,然后是常规拷贝,我将策略更改为s3:List*,并且成功了。
https://serverfault.com/questions/927364
复制相似问题