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

如何配置AWS策略使EC2实例仅能向自身发送ssm:SendCommand

正确配置EC2实例角色仅允许向自身发送SSM SendCommand

以下是满足需求的IAM策略配置:

{
    "Effect": "Allow",
    "Action": "ssm:SendCommand",
    "Resource": [
        "arn:aws:ssm:eu-west-1::document/AWS-RunPowerShellScript",
        "arn:aws:ec2:*:123456789:instance/*"
    ],
    "Condition": {
        "ArnEquals": {
            "ssm:TargetInstanceARN": "${ec2:SourceInstanceARN}"
        }
    }
}

策略核心逻辑

  1. 资源范围:保留SSM文档ARN和EC2实例通配符ARN,因为ssm:SendCommand操作必须同时指定命令文档和目标实例两个资源。
  2. 条件约束:
    • 用ssm:TargetInstanceARN匹配命令发送的目标实例ARN。
    • 用${ec2:SourceInstanceARN}引用发起请求的EC2实例自身ARN(仅当请求通过EC2实例角色发起时生效)。
    • 通过ArnEquals条件将两者绑定,确保只有目标实例是发起请求的实例自身时,操作才被允许。

原策略无效的原因

  • 直接在Resource字段中使用${ec2:SourceInstanceARN}不符合IAM规则,Resource字段不支持这种动态变量引用。
  • 错误使用了ssm:SourceInstanceARN条件键,ssm:SendCommand操作中标识目标实例的有效条件键是ssm:TargetInstanceARN。

内容的提问来源于stack exchange,提问作者zdenko.s

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:45:00