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

SSM自定义策略遇AccessDeniedException,请求排查配置遗漏

问题原因及修正方案

你的IAM策略遗漏了SSM会话资源的授权。调用ssm:StartSession动作时,AWS会创建一个SSM会话实例,这个会话本身也是需要被授权的资源类型,仅授权EC2实例和SSM文档不足以完成会话启动。

修正后的策略方案1(明确授权所有必要资源)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "ssm:StartSession",
            "Resource": [
                "arn:aws:ssm:us-east-1:**************:document/AWS-StartPortForwardingSessionToRemoteHost",
                "arn:aws:ec2:us-east-1:**************:instance/*",
                "arn:aws:ssm:us-east-1:**************:session/*"
            ],
            "Effect": "Allow",
            "Sid": "EnableSSMSession"
        },
        {
            "Action": "ec2:DescribeInstances",
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "DescribeEC2"
        }
    ]
}

更安全的修正方案2(通过条件限制文档,同时缩小会话资源范围)

如果需要更严格的权限控制,可以通过Condition限制仅允许使用指定的会话文档,并将会话资源限定为当前用户专属:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "ssm:StartSession",
            "Resource": [
                "arn:aws:ec2:us-east-1:**************:instance/*",
                "arn:aws:ssm:us-east-1:**************:session/${aws:username}-*"
            ],
            "Effect": "Allow",
            "Sid": "EnableSSMSession",
            "Condition": {
                "StringEquals": {
                    "ssm:DocumentName": "AWS-StartPortForwardingSessionToRemoteHost"
                }
            }
        },
        {
            "Action": "ec2:DescribeInstances",
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "DescribeEC2"
        }
    ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:52:36