我有一个未选中“阻止所有公共访问”的存储桶,将ACL设置为允许“所有人对所有列表/写入/读取”,并且有一个有效的策略从S3生成,该策略的有效资源名称为s3:*,并带有通配符每个文档...缓存已经过仔细检查,无法确定AWS S3发生了什么。
来源:https://forums.aws.amazon.com/thread.jspa?threadID=316341
答案 0 :(得分:0)
您似乎想要创建一个“公共”存储桶,这意味着任何人只要知道对象名称就可以访问该存储桶中的内容。
要做到这一点:
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket-name/*"
}
]
}
这足以访问所有内容。
要测试其是否正常运行,可以使用Amazon S3管理控制台。在存储桶中选择一个对象,然后使用 Object URL 访问该对象。这样可以避免任何键入错误,并尝试匿名访问该对象(与打开按钮相反,该按钮添加了用于私有访问的签名)。
如果该存储桶不适用于您的存储桶,建议您通过创建一个新存储桶并按照上述步骤将其公开来进行实验。如果可行,则可以比较两个存储桶之间的差异。
可能已在帐户级别应用了阻止公共访问。