【发布时间】:2017-05-27 01:37:21
【问题描述】:
场景:我在同一个账户下有一个 EC2 实例和一个 S3 存储桶,而我在该 EC2 上的 Web 应用程序想要访问该存储桶中的资源。
按照官方文档,我使用s3access 创建了一个 IAM 角色并将其分配给 EC2 实例。据我了解,现在我的网络应用程序应该能够访问存储桶。但是,经过试验,似乎我必须像这样添加allowPublicRead 存储桶策略:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*"
}
]
}
否则我会被禁止访问。
但是,既然我已经将 s3access IAM 角色授予 EC2 实例,为什么还要使用此 allowPublicRead 存储桶策略?
【问题讨论】:
-
@stanely-luo,可能你想看看这个 - stackoverflow.com/a/57476893?noredirect=1
标签: amazon-web-services amazon-s3 amazon-ec2 amazon-iam