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

在AWS中创建IAM策略以限制用户仅可查看和操作指定EC2实例

AWS IAM 单EC2实例权限配置问题解答

你的需求完全可以实现,之前配置失败是因为对AWS IAM的EC2权限规则和策略语法理解有误

问题原因

  • EC2所有Describe*系列的API操作不支持资源级权限,必须指定Resource为*,这是你第一次配置时报错的直接原因。
  • 后续添加的Condition存在两处错误:
    • 语法错误:资源标签匹配的正确语法是ec2:ResourceTag/<标签键>,不是用逗号分隔,你写的ec2:ResourceTag,UserName属于语法错误
    • 标签键不匹配:你的目标实例打的标签键是name,而条件中写的是UserName,两者无法匹配,所以过滤规则不生效

正确策略示例

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowInstanceOperate",
            "Effect": "Allow",
            "Action": [
                "ec2:RebootInstances",
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:us-east-1:33333333333:instance/i-444444444444444"
        },
        {
            "Sid": "AllowViewSpecifiedInstanceOnly",
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/name": "abc"
                }
            }
        }
    ]
}

配置效果

上述策略部署后,userA执行DescribeInstances查询时,AWS会自动过滤返回结果,仅返回标签为name=abc的那台EC2实例,账号下其他所有EC2实例对该用户完全不可见;同时userA仅能对指定ARN的那台EC2实例执行重启、启动、停止操作,无法操作其他实例。如果需要给用户开放该实例的其他管理权限,只要将对应支持资源级权限的EC2操作添加到第一个Statement的Action列表中即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 05:36:03