我有一个类似下面的政策,我已经附加了几个用户:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::foo-bar",
"arn:aws:s3:::foo-bar/*"
]
}
]
}
此政策的目的是这些用户可以完全控制存储桶foo-bar
。但是,我注意到即使用户可以使用Accesskey和Secretkey下载这些存储桶中的对象。他们无法通过URL下载对象,例如https://s3.amazonaws.com/foo-bar/test.docx
我目前以IAMManager
用户身份登录,并且还有AmazonS3FullAccess
。我可以看到此存储桶中的对象列表,但是当我单击该URL时,我无法下载它们。但是,我可以通过单击“下载”按钮下载它们。
问题
我的政策中是否有任何需要更改的内容,或者只有 可以通过网址下载
答案 0 :(得分:1)
通过在您的用户上使用您的IAM策略,您只为这些用户授予对该存储桶的S3 API访问权限。但是,当通过URL访问存储桶时,您没有使用S3 API,也没有发送任何身份验证信息。
为了直接通过URL从S3存储桶下载对象,需要将存储桶公开,您可能想要也可能不想这样做。