在我的 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 上找到有关资源组的更多信息“什么是资源组”页。