允许IAM用户访问单个s3存储桶

时间:2017-12-12 11:15:02

标签: amazon-web-services amazon-s3

我正在使用内联策略为IAM用户的s3存储桶授予访问权限

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1513073615000",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::newput-test"
            ]
        }
    ]
}

但在扩展的s3浏览器上,当我使用访问密钥ID和特定IAM用户的秘密访问密钥时,我没有列出我的存储桶。但是当我在资源中传递*它工作正常

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1513073615000",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

但问题是它允许访问IAM用户的所有s3存储桶。 但是我想只访问单个桶,任何人都知道如何实现这个目标。

1 个答案:

答案 0 :(得分:2)

尝试这样的事情

  {
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::mys3bucket",
                "arn:aws:s3:::mys3bucket/*"
            ]
        }
    ]
}

这里已经解释过了。 http://www.fizerkhan.com/blog/posts/Restrict-user-access-to-Single-S3-Bucket-using-Amazon-IAM.html