我以root
用户的身份登录aws帐户。已为static website hosting
创建了一个存储桶。我还取消选中了Public access Settings
上的所有选项,如下图所示。
之后,我尝试从docs
更新存储桶策略{
"Version":"2012-10-17",
"Statement":[{
"Sid":"PublicReadGetObject",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::example-bucket/*"
]
}
]
}
但是我不断收到Access denied
错误。我不明白我错过了什么。我尝试了以下操作。
我发现了其他SO帖子this,该帖子告诉您取消选中block
new public bucket policies option
我已经做过,但是
为什么对我不起作用?
我销毁了存储桶并重做了所有内容,但问题相同 持续存在。
我还创建了一个新的IAM用户,其角色可以访问所有内容。这也没有解决问题。
不过,我可以通过public
选项卡下s3菜单中的Make Public
选项将s3对象手动更改为s3 Overview
。这暂时暂时解决了我的问题,但是每次重新上传文件时,我都必须继续这样做。
所以我的问题是。 为什么即使root用户也拒绝访问?
答案 0 :(得分:0)
我按照您的步骤进行,对我来说很好:
然后它给了我一个警告提示:
此存储桶具有公共访问权限
您已提供对此存储桶的公共访问权限。我们强烈建议您不要授予对S3存储桶的任何公开访问权限。
我看不到为什么您会收到拒绝访问。我唯一的建议是在出现一些奇怪问题的情况下,使用其他浏览器进行尝试。
您还可以通过AWS CLI 添加存储桶策略:put-bucket-policy — AWS CLI Command Reference
这也成功将存储桶策略添加到了我的存储桶中。