【问题标题】:Giving access to s3 having a specific "tag" using AWS IAM roles and policy使用 AWS IAM 角色和策略授予对具有特定“标签”的 s3 的访问权限
【发布时间】:2020-06-01 08:14:42
【问题描述】:

我想创建一个 AWS IAM 策略,以便附加的角色应该有权访问所有具有标签“Team = devops”的 S3 存储桶。我尝试了以下 JSON 文件,但它不起作用。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "arn:aws:s3:::*",
            "Condition": {
                "StringEquals": {"s3:ResourceTag/Team": "devops"}
            }
        }
    ]
}

【问题讨论】:

    标签: amazon-s3 terraform amazon-iam


    【解决方案1】:

    根据Available Condition Keyss3:ResourceTag 不适用于 S3 条件。

    可用于在 Amazon S3 访问策略中指定条件的预定义键可分类如下:

    Object Tagging and Access Control Policies 一样,可以使用 s3:ExistingObjectTag 条件键来控制每个对象的访问权限。

    以下权限策略授予用户读取对象的权限,但条件将读取权限限制为仅具有以下特定标签键和值的对象。

    安全公共

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect":     "Allow",
          "Action":     "s3:GetObject",
          "Resource":    "arn:aws:s3:::examplebucket/*",
          "Principal":   "*",
          "Condition": {  "StringEquals": {"s3:ExistingObjectTag/security": "public" } }
        }
      ]
    }
    

    【讨论】:

      【解决方案2】:

      这不起作用。唯一的区别是在我的情况下该操作是拒绝,我可以确认它不适用!

              "Resource": "arn:aws:s3:::*/*",
              "Effect": "Deny",
              "Sid": "TestPreventS3ObjectDeletion",
              "Condition": {
                  "StringEquals": {
                      "s3:ResourceTag/Protection": "True"
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 2018-11-21
        • 2017-11-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多