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

如何配置IAM策略,让用户组仅查看和编辑指定标签的EC2实例

问题分析与解决方案

你的IAM策略存在两个核心问题:

  1. JSON语法错误:Statement数组末尾多了多余的逗号和闭合大括号,会导致策略无法正常生效。
  2. 列表操作权限逻辑错误:EC2的列表类操作(如DescribeInstances)不支持通过Resource字段直接限制,仅靠Resource: "*"加标签条件无法过滤返回的实例列表,必须针对列表操作单独配置条件规则。

修正后的IAM策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListTaggedInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/aws:autoscaling:groupName": "abcd"
                }
            }
        },
        {
            "Sid": "AllowModifyTaggedInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances",
                "ec2:TerminateInstances",
                "ec2:ModifyInstanceAttribute"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/aws:autoscaling:groupName": "abcd"
                }
            }
        }
    ]
}

关键说明

  • 拆分权限:将列表操作和实例修改操作分开配置,避免使用过于宽泛的ec2:*权限,遵循最小权限原则。
  • 列表操作条件过滤:针对DescribeInstances这类列表操作,通过ec2:ResourceTag/[标签键]的条件,确保仅返回带有指定标签的EC2实例。
  • 语法修正:移除了原策略中多余的语法错误部分,保证策略能正常被IAM解析。

额外注意事项

  • 若需要允许更多EC2操作,可在Action数组中添加对应的操作名(如ec2:CreateImage等),但需确保仅添加业务必需的操作。
  • 测试策略时,需确保IAM用户没有其他附加策略(如管理员权限、其他允许EC2全访问的策略),否则会覆盖当前策略的限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:50:24