主帐户允许辅助访问存储桶,但辅助服务器在同一存储桶中创建的数据不可由主服务器访问

时间:2013-11-19 13:36:04

标签: amazon-web-services amazon-s3 acl

我有两个帐户主要次要。在主帐户中,我有一个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"
            ]
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

我认为您应该在密钥本身上设置ACL,允许访问所有经过身份验证的用户。默认情况下,对象只允许访问其所有者(创建者)。

对于PHP,我在下面链接了创建对象(和设置ACL)的文档:http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_putObject