【问题标题】:AWS IAM Policy to Deny all buckets except one拒绝除一个之外的所有存储桶的 AWS IAM 策略
【发布时间】:2021-10-01 16:22:16
【问题描述】:

我正在尝试创建一个 IAM 策略以授予对特定存储桶的只读权限:

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

问题是我有一些公开的存储桶,所以我想拒绝对这些存储桶的所有权限,我尝试在策略中编写类似以下内容但不起作用。我的想法是拒绝我特定存储桶之外的所有内容。

{
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringNotLike": {
                    "s3:prefix": [
                        "mybucket",
                        "mybucket/",
                        "mybucket/*"
                    ]
                }
            }
        },

【问题讨论】:

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


    【解决方案1】:

    我用不同的方法解决了自己,因为s3:prefix 仅适用于部分操作,这种方法不适合我的用例。 相反,我可以使用NotResource

        {
            "Effect": "Deny",
            "Action": "*",
            "NotResource": [
                "arn:aws:s3:::mybucket",
                "arn:aws:s3:::mybucket/*"
            ]
        }
    

    【讨论】:

      猜你喜欢
      • 2017-02-12
      • 2019-09-29
      • 2020-11-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2019-11-09
      • 2012-11-23
      • 2017-02-14
      相关资源
      最近更新 更多