【问题标题】:AWS S3: user policy for specifc bucketAWS S3:特定存储桶的用户策略
【发布时间】:2016-06-02 08:14:20
【问题描述】:

我刚刚设置了我的 AWS S3。 我的应用程序使用全管理员访问密钥,但因为这可能有风险,我想设置一个带有 IAM 组的 IAM 用户,并且只允许他使用 S3 东西。 我的存储桶位于 eu-central-1,在以下策略中其名称为“MYBCKET”:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::MYBCKET"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject"
        ],
        "Resource": [
            "arn:aws:s3:::MYBCKET/*"
        ]
    }
]

}

这不起作用。如果我为用户提供以下策略,它就会起作用:

    {
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:ListBucket"
        ],
        "Resource": [
            "*"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject"
        ],
        "Resource": [
            "*"
        ]
    }
]

}

它肯定与资源有关。 有人可以向我解释资源的组成,以便我可以理解并希望找到错误吗? 只是告诉你:我确定我的存储桶名称拼写正确,并且我在资源 arn:aws:s3:::MYBCKET/*arn:aws:s3:::MYBCKET 中尝试了不同的组合,以及其他一些不起作用的组合。

感谢您的回答和时间。

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    如果意图是用户应该以编程方式访问存储桶,我认为您的政策没有任何问题。

    如果用户还需要能够通过控制台访问策略,您可以尝试这样做,这将允许用户列出存储桶:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetBucketLocation",
            "s3:ListAllMyBuckets"
          ],
          "Resource": "arn:aws:s3:::*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": ["arn:aws:s3::: MYBCKET"]
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject"
          ],
          "Resource": ["arn:aws:s3::: MYBCKET/*"]
        }
      ]
    }
    

    【讨论】:

    • 我刚刚发现我一直都很好。但是好像我配置AWS的策略模拟器错误,你必须填写你要测试的具体资源。所以我可能只是有点愚蠢。无论如何感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2012-11-23
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多