Amazon s3 – 403禁止使用正确的存储桶策略

Sea*_*ady 5 permissions amazon-s3 amazon-web-services s3cmd

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

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

}

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

当我尝试将存储桶中的内容迁移到新帐户时,已使用s3cmd sync传输了该存储桶中的图像。

我唯一看到的区别是

  1. 我使用的是具有管理员权限的IAM用户,而不是root用户
  2. 这些文件没有每个文件的“被授予人:每个人都可以打开/下载文件”权限,这些文件在旧存储桶中已经拥有

小智 2

如果您希望每个人都可以访问存储桶中的 S3 对象,则主体应该是“*”,即,如下所示:

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

}
Run Code Online (Sandbox Code Playgroud)

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