【发布时间】:2022-02-25 15:20:22
【问题描述】:
我的 s3 存储桶 sertting Access 是 public 和 block public aceess 是 off
现在我通过 aws-web 控制台上传了文件。
该文件已被禁止公开。
我在这里检查page并设置
Bucketpolicy 如下所示。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:GetBucket*",
],
"Resource": [
"arn:aws:s3:::si12-s3-resource-up",
"arn:aws:s3:::si12-s3-resource-up/*"
]
}
]
}
但是,还是一样。
我应该在哪里检查更多?
手动上传文件后。
来到每个对象页面并将ACL设置为对所有人公开。
可以看到文件。
所以,,,,在我看来。
已设置存储桶策略,但以某种方式优先考虑 ACL 或忽略存储桶策略???
解决方案
我关闭 ACL 并设置
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket--name/*"
}
]
}
它有效,我不确定为什么以前的存储桶策略不起作用
但非常感谢您的评论。
【问题讨论】:
-
您的存储桶策略非常不安全,不应使用。它允许世界上任何人删除您的对象。
-
谢谢我删除了GetBucket以外的东西,但问题还是一样。
-
您能否在目标对象中尝试使用 'acl': 'public-read'。
-
是的,它有效。 @Jiji Alexander,但是如何将其设为默认公开?
-
我将 ACL 设置为无效,看起来只有存储桶策略有效,,,但情况仍在继续...
标签: amazon-web-services amazon-s3