You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS IAM策略中配置规则限制用户仅查看指定EC2实例

策略存在的核心错误

    1. Describe*类操作的权限配置完全错误
      EC2的所有ec2:Describe*系列API不支持资源级权限控制,必须指定Resource: "*",你编写的Deny语句中使用的arn:aws:ec2:*:*:DescribeInstances/instance-id是完全无效的ARN格式,这条Deny规则不会产生任何作用。
      同时ec2:ResourceTag条件此前对ec2:Describe*类API仅支持全局校验逻辑,不会过滤API返回的结果,只要你放开了ec2:DescribeInstances权限,用户默认就可以看到所有实例,单独在全量EC2操作的Allow语句中加标签条件不会自动筛选返回的实例列表。
    1. 权限逻辑冲突
      你第一条语句直接允许了所有ec2:*操作,即使后续Deny规则生效,也会出现权限覆盖逻辑错误,完全不符合最小权限原则。

正确的实现方案

要实现用户在EC2控制台仅能查看带UserName标签且值为自身用户名的实例,可使用以下修正后的策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeImages",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:DescribeVolumes"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/UserName": "${aws:username}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances",
                "ec2:StopInstances",
                "ec2:StartInstances",
                "ec2:TerminateInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/UserName": "${aws:username}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "RunInstances"
                }
            }
        }
    ]
}

注意:配置完成后需要给对应EC2实例添加上UserName标签,标签值和对应用户的IAM用户名完全一致,权限才会生效。

内容的提问来源于stack exchange,提问作者Jason Ching Yuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 11:21:03