为什么在IAM策略中将条件应用于ec2:DescribeInstances失败?

Sha*_*ame 3 amazon-ec2 amazon-web-services amazon-iam

当尝试配置可以使用策略列出的实例时,我标记了以下问题:

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

附带条件的示例策略包括:

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

怎么了

Ant*_*ace 5

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

从上面的链接文档中:

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

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

进一步阅读: