尝试配置可以使用策略列出哪些实例时,我指出以下问题:
- 如果未实现条件,则所有实例都可见。
- 当实现任何条件时,什么都不可见。
包含条件的示例策略:
{
"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 操作支持的资源级权限