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

如何配置IAM策略实现仅列出带指定Dept标签的EC2实例

正确配置方案

问题根因

你当前的配置报错核心原因是:ec2:Describe*包含大量和EC2实例无关的通用查询操作(比如查询可用区、VPC、路由表等),这类操作对应的资源没有Dept标签,你给所有ec2:Describe*操作统一绑定标签校验条件,会导致这类通用请求直接被IAM拒绝,控制台就返回API错误。

另外补充说明:aws:RequestTag条件仅适用于创建资源时携带标签的场景,完全不适用资源列表查询场景,不需要使用。

正确IAM策略配置

你需要拆分权限语句,先放开控制台必要的通用查询权限,再单独给实例查询操作加标签过滤条件,示例如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeRegions",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceTypes"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Dept": "Sales"
                }
            }
        }
    ]
}

补充说明

  • 上述通用查询权限列表可根据你的实际控制台使用需求增减,只要不把不需要标签校验的操作和带标签条件的操作混在同一条语句即可。
  • 如果你还需要限制EBS卷、弹性IP等其他EC2资源的查询结果,可单独新增语句,给对应资源的Describe操作加上同样的ec2:ResourceTag/Dept条件即可。
  • 该配置下IAM不会拒绝实例查询请求,只会自动过滤掉不符合标签条件的实例返回,控制台不会再报API错误。

内容的提问来源于stack exchange,提问作者Dark Night

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:18:04