首页 > 解决方案 > 拒绝将现有实例升级到某些 ec2 实例类型的 IAM 策略

问题描述

我一直在尝试创建一个 IAM 策略,拒绝用户修改超出特定大小的实例类型。例如,如果用户想要将 t3a.micro 的 ec2 实例修改为 t3a.small,则应该允许他们。但是出于节省成本的原因,他们应该被拒绝修改增加一个实例来假设 *.large 实例类型。

这可能吗?

我一直在尝试为 ec2:ModifyInstanceAttribute 提出一个条件,但似乎无法理解。

这是我的政策,但它只不允许根据当前类型更改实例,而不是目标类型。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "LimitEC2policy",
            "Effect": "Deny",
            "Action": [
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:ModifyInstanceAttribute"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "ForAnyValue:StringNotLike": {
                    "ec2:InstanceType": [
                        "*.nano",
                        "*.small",
                        "*.micro",
                        "*.medium"
                    ]
                }
            }
        }
    ]
}

标签: amazon-web-servicesamazon-iam

解决方案


AWS Support 的回答是这是不可能的,因为 ec2:InstanceType 按当前运行的实例类型进行过滤。因此无法按目标类型进行过滤。


推荐阅读