我正在尝试将一个S3存储桶从一个帐户(A)移动到另一个帐户(B)。
我已经成功地完成了这个操作,并从帐户A中删除了存储桶。
我现在正在尝试将新的存储桶从帐户B移动到帐户B上的另一个存储桶,但是发现除了存储桶本身之外,我无法访问文件。
经过与s3 cli及其权限的搏斗后,我检查了s3api
命令,并发现文件(惊喜)仍保留旧的所有权。
我现在正在尝试更改它,但是使用put-bucket-acl
时停滞不前,JSON文件对于s3api
命令不起作用。
我尝试以调试方式运行命令,但并没有太多收获。
有人知道该怎么办吗?
也许有更好的解决方法?
到目前为止我做了什么: 命令:
aws s3api put-bucket-acl --bucket my-bucket --cli-input-json file://1.json
与put-object-acl相同
1. json文件:
"Grantee": {
"DisplayName": "account_B",
"EmailAddress": "user@mail.com",
"ID": "111111hughalphnumericnumber22222",
"Type": "CanonicalUser",
"Permission": "FULL_CONTROL"
}
我收到的错误信息如下:
更新: 在我的情况下,假设在两个帐户之间使用AssumeRole无效。 cli(s3cmd,s3api)GUI(MCSTools,bucketexplorer),使用headers、body(Postman)的ACL也没有帮助。 我正在联系AWS支持,并希望能得到最好的解决方案。 有了解决方案后我会进行更新。输入中存在未知参数: "Grantee",必须是以下之一:ACL、AccessControlPolicy、Bucket、ContentMD5、GrantFullControl、GrantRead、GrantReadACP、GrantWrite、GrantWriteACP。输入中存在未知参数: "Permission",必须是以下之一:ACL、AccessControlPolicy、Bucket、ContentMD5、GrantFullControl、GrantRead、GrantReadACP、GrantWrite、GrantWriteACP。
file://<myfile.json>
这部分。 - C.J.