amazon-web-services – 亚马逊s3 – 403禁止使用正确的存储桶策略

我正在尝试使用以下存储桶策略将我存储在s3存储桶中的所有图像公开读取.

{
"Id": "Policy1380877762691",
"Statement": [
    {
        "Sid": "Stmt1380877761162",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::<bucket-name>/*",
        "Principal": {
            "AWS": [
                "*"
            ]
        }
    }
]

}

我有4个其他类似的s3存储桶具有相同的存储桶策略,但我不断收到403错误.

当我尝试将存储桶的内容迁移到新帐户时,使用s3cmd同步传输此存储桶中的映像.

我能看到的唯一区别是

>我正在使用具有管理员权限的IAM用户,而不是root用户
>文件没有
“受让人:每个人都打开/下载文件”的权限
文件,文件在旧桶中的东西

最佳答案
如果您希望每个人都访问存储桶中的S3对象,则主体应为“*”,即,如下所示:

{
"Id": "Policy1380877762691",
"Statement": [
    {
        "Sid": "Stmt1380877761162",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::<bucket-name>/*",
        "Principal": "*"
        }
    }
]

}

资料来源:http://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Principal

转载注明原文:amazon-web-services – 亚马逊s3 – 403禁止使用正确的存储桶策略 - 代码日志