我有两个帐户主要和次要。在主帐户中,我有一个S3存储桶,假设 com.primary.buckets.1 。
在该存储桶上,我的辅助帐户通过ACL 具有读写权限。
当辅助创建新密钥时,假设 sub / sub2 / sub3 / name.txt ,主帐户具有列表(仅)访问权限,无法下载,修改甚至添加一个键子/ different_sub / new_key.txt (403权限错误)。
有趣的是,主帐户无法访问自己的存储桶内容!!!
这让我很沮丧。有谁知道如何允许主帐户访问主存储桶中测试帐户创建的数据?
位于主帐户中的存储桶的ACL:
{
"Version": "2008-10-17",
"Id": "PolicyXXXXXXXXXX",
"Statement": [
{
"Sid": "PolicyXXXXXXXXXX",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<secondary account ID>:root"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::com.primary.buckets.1/*",
"arn:aws:s3:::com.primary.buckets.1"
]
}
]
}
答案 0 :(得分:0)
我认为您应该在密钥本身上设置ACL,允许访问所有经过身份验证的用户。默认情况下,对象只允许访问其所有者(创建者)。
对于PHP,我在下面链接了创建对象(和设置ACL)的文档:http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_putObject。