我已经在网上或官方文件上阅读了所有我能读到的东西,但这个错误太尴尬了。我想将以下策略添加到我的存储桶中:
{ "Version":"2012-10-17", "Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::mybucket/*"]
} ]
}但是,我唯一能得到的就是访问被拒绝:
我试着设置了这个,但没有成功:enter image description here
另外,我尝试在我的朋友账号上添加存储桶策略,成功了,这两个账号唯一的区别是我的账号有一个弹性豆茎(我不知道这会不会影响结果),请告诉我我该怎么做?
发布于 2018-11-17 16:44:34
检查该存储桶上的策略是什么,以及您登录的用户所使用的策略是什么。为了能够更改存储桶策略,您需要拥有PutBucketPolicy权限。请记住,Deny anywhere将阻止您执行指定的操作。
修复方法是将s3:PutBucketPolicy添加到您自己,然后您应该能够更改s3存储桶权限。同一帐户上的用户策略和存储桶策略应该是这两个策略的“联合”,但如果您正在访问另一个帐户,则它将是“交集”-但您似乎正在更改帐户中的存储桶,因此您应该可以接受这一点。
如果您不能更改您的用户IAM策略,或者您不小心在存储桶上设置了Deny,那么您将不得不以帐户根用户的身份登录,并尝试以这种方式解决这个问题。
此外,确保将存储桶中的所有对象都公开是您计划要做的事情。您只允许GetObject,所以如果这应该是一些静态托管的内容,这应该是好的。
https://stackoverflow.com/questions/53349531
复制相似问题