为什么在 IAM 策略中将条件应用于 ec2:描述实例会失败



尝试配置可以使用策略列出哪些实例时,我指出以下问题:

  • 如果未实现条件,则所有实例都可见。
  • 当实现任何条件时,什么都不可见。

包含条件的示例策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1461235889000",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:InstanceType": "r3.xlarge"
                }
            }
        }
    ]
}

这是怎么回事?

ec2:DescribeInstances操作不支持资源级权限或应用条件。

从上面的链接文档中:

。要在 IAM 策略中使用这些操作,您必须通过对语句中的 Resource 元素使用 * 通配符向用户授予使用操作的所有资源的权限。您不能将 Amazon EC2 条件键用于这些操作。

因此,您在不带条件的情况下使用 * 通配符是有效的,但不幸的是,应用任何条件(截至撰写本文时)将无法按预期工作。

延伸阅读:

  • Amazon EC2 API 操作支持的资源级权限

相关内容

  • 没有找到相关文章