我研究了this和其他主题。我在Amazon S3上创建了一个新的存储桶“ilya_test_1”。我为Everyone添加了启用了上传/删除功能的权限。我保留默认的私人权限。我将图像上传到存储桶根目录。
我尝试通过浏览器浏览到我的图像,然后获得AccessDenied。难道这个桶中的所有东西都不应该公开访问吗?
我不明白的是,如果我已授予Everyone访问权限,为什么需要设置以下存储桶策略?
注意:如果我设置了Everyone和此存储桶策略的权限,则访问有效。
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::ilya_test_1/*"
}
]
}
答案 0 :(得分:0)
您正在上传权限。但在上传中,标题可以将文件设置为公共或私有。也许有些事情是在上传时将标题设置为私有?
(另外,在S3上公开写一般是一个坏主意。你应该有一个服务器,分发你的客户端可以PUT / POST的签名S3 URL。为什么?因为你可以更容易地防止滥用(限制大小)上传,限制每个IP上传的数量等。)