在S3中仅授予对一个存储桶的访问权限

时间:2017-07-04 15:14:20

标签: amazon-web-services amazon-s3 policies

我正在尝试编写一个策略来授予特定用户仅访问一个存储桶的权限

这是我到目前为止所做的:

{
    "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” 但它不起作用。我不需要这个用户以编程方式访问控制台就可以了。谢谢!!

1 个答案:

答案 0 :(得分:2)

无法限制ListAllMyBuckets命令的结果。他们要么看到所有存储桶的列表,要么根本看不到。

如果他们知道他们想要使用哪个存储桶,那么您只需删除列出存储桶的权限。他们仍然可以列出MYBUCKET内容并上传/下载对象。他们只是无法请求存储桶列表。 (并且S3 Management Console将无法运行,因为它希望能够列出帐户中的所有存储桶)