按照链接https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html->我试图在AWS S3上创建和托管静态页面。但是我在使用存储桶策略向我的存储桶提供公共访问时遇到了麻烦。
所以,一旦我粘贴
{
"Version":"2012-10-17",
"Statement":[{
"Sid":"PublicReadGetObject",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::mybucket-name.com/*"]
}]
}
这使我拒绝访问错误。
在IAM中,我已将以下自定义策略与用户ID相关联,但是仍然收到错误消息。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::mybucket-name.com",
"arn:aws:s3:::mybucket-name.com/*"
]
}
]
}
我也已将此策略链接到我的用户名和角色。 创建存储桶时,我的“阻止公共访问”如下所示。 我的ACL按钮也提供了“仅列出”的公共访问权限。
因此,任何人都可以帮助我在这里所缺少的东西,我已经研究了这里提供的不同建议,但还是没有运气。谁能给我任何方向,例如不会迷路?
答案 0 :(得分:2)
您仅为自己分配了在存储桶中编辑内容的权限。有关权限的列表,请参见S3 docs。
您至少希望将s3:PutBucketPolicy
添加到用户权限列表中。但是s3:PutBucketAcl
和s3:PutBucketWebsite
也可能有用。
就我个人而言,我可能只将s3:*
交给设置此设置的用户,否则您可能最终再次遇到这个绊脚石。