创建一个 AWS IAM 策略,仅允许在特定资源组内创建资源?

创建一个 AWS IAM 策略,仅允许在特定资源组内创建资源?

在我的 AWS 账户中,我们有 3 个不同的应用程序,A、B、C。

我想为 B 团队创建一个 IAM 策略,允许他们创建新的 EC2 实例,但限制其在 B 资源组内进行标记,或者设置其他一些可以明确将该新实例与 B 组关联的约束。这可能吗?

答案1

是的,使用 IAM 绝对可以实现这一点,Condition元素。Condition 元素允许您构建表达式,在其中可以使用布尔运算符来匹配条件,在您的情况下,该条件将是具有特定标签的资源。

例如,如果您将所有应用程序 B 资源标记为“GroupB”,则以下 IAM 策略将限制用户只能启动、停止和重新启动仅有的具有该标签的 EC2 资源:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances",      
        "ec2:RebootInstances"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/GroupB":"true"
        }
      },
      "Resource": [
        "arn:aws:ec2:your_region:your_account_ID:instance/*"
      ],
      "Effect": "Allow"
    }
  ]
}

您可以在 AWS 上找到有关资源组的更多信息“什么是资源组”页。

相关内容