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

AWS跨账号Assume角色使用Session Manager访问实例报错如何配置

AWS跨账号SSM Session Manager访问权限配置修复方案

问题根因

你遇到的TerminateSession接口AccessDenied报错,核心原因是权限策略中使用的${aws:username}全局变量在跨账号AssumeRole场景下无法匹配会话ARN:当账号B的IAM用户Assume到账号A的ssm-accoutB-role后,生成的SSM会话名称前缀是AssumeRole时指定的会话名,而非账号B的IAM用户名,导致原策略的资源匹配规则失效。
另外你当前策略中额外附加的sts:AssumeRole权限属于冗余配置,ssm-accoutB-role作为被Assume的角色,自身不需要该权限,还会引入安全风险。

修复步骤

1. 修正账号A中ssm-accoutB-role的权限策略

替换为以下配置,如果你需要精细化控制仅允许操作自己发起的会话,可以将会话资源的通配符替换为arn:aws:ssm:*:*:session/${aws:stsRoleSessionName}-*:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:<你的实例区域>:<账号A的ID>:instance/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:resourceTag/ssm": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/*"
            ]
        }
    ]
}

2. 补充会话操作记录所需配置

如果你需要留存外部账号的操作命令日志,还需要完成以下配置:

  • 登录账号A的Systems Manager控制台,进入「会话管理器」-「首选项」,配置会话日志输出到指定S3存储桶或者CloudWatch Logs日志组
  • 给EC2实例附加的实例角色补充日志写入权限:如果输出到S3则添加对应存储桶的s3:PutObject权限,如果输出到CloudWatch Logs则添加logs:CreateLogStream、logs:PutLogEvents权限

3. 配置账号B侧IAM用户的AssumeRole权限

账号B的IAM用户本身需要拥有Assume到账号A角色的权限,给该用户附加如下策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::<账号A的ID>:role/ssm-accoutB-role"
        }
    ]
}

4. 验证生效

账号B侧用户重新Assume角色获取凭证后,执行以下命令即可正常发起会话:
aws ssm start-session --target <目标实例ID> --region <实例所在区域>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:48:02