我正在尝试编写一个策略来授予特定用户仅访问一个存储桶的权限
这是我到目前为止所做的:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::MYBUCKET",
"arn:aws:s3:::MYBUCKET/*"
]
}
]
}
我不希望此用户列出所有其他存储桶 所以我改变了 “资源”:“arn:aws:s3 ::: *”到“资源”:“arn:aws:s3 ::: MYBUCKET” 但它不起作用。我不需要这个用户以编程方式访问控制台就可以了。谢谢!!
答案 0 :(得分:2)
无法限制ListAllMyBuckets
命令的结果。他们要么看到所有存储桶的列表,要么根本看不到。
如果他们知道他们想要使用哪个存储桶,那么您只需删除列出存储桶的权限。他们仍然可以列出MYBUCKET
的内容并上传/下载对象。他们只是无法请求存储桶列表。 (并且S3 Management Console将无法运行,因为它希望能够列出帐户中的所有存储桶)