【问题标题】:Primary account allows secondary to access bucket, but data created by secondary within the same bucket are not accessible to primaryPrimary账户允许Secondary访问bucket,但是Secondary在同一个bucket中创建的数据是Primary无法访问的
【发布时间】:2013-12-03 02:11:27
【问题描述】:

我有两个帐户 primarysecondary。在主账户中,我有一个 S3 存储桶,比如说 com.primary.buckets.1

在该存储桶上,我的辅助帐户通过 ACL 具有读取和写入权限

次要创建新密钥比方说sub/sub2/sub3/name.txt,主要帐户具有列表(仅限)访问权限,不能下载、修改甚至添加一个密钥 sub/different_sub/new_key.txt(403 权限错误)。

好笑的是,主账号无权访问自己bucket的内容!!!

这让我很沮丧。有谁知道如何让主账户访问主存储桶中测试账户创建的数据?

位于主账户中的存储桶的 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"
            ]
        }
    ]
}

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-10-21
    • 1970-01-01
    • 2020-12-08
    • 2012-04-16
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    相关资源
    最近更新 更多