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

AWS控制台切换角色时如何继承原用户的SSMSessionRunAs标签?

AWS控制台切换角色时继承SSMSessionRunAs标签的解决方案

核心结论

控制台原生不支持自动继承原用户的SSMSessionRunAs标签,但可以通过STS会话标签传递机制间接实现,无需为每个用户创建专属切换角色。

具体实现步骤

1. 配置原用户的IAM权限

给需要切换角色的主账号用户添加以下IAM策略,允许其在AssumeRole时传递自身的SSMSessionRunAs标签:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::[目标账号ID]:role/[切换角色名]",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "sts:TagKeys": "SSMSessionRunAs"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "sts:TagSession",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SSMSessionRunAs": "${aws:PrincipalTag/SSMSessionRunAs}"
                }
            }
        }
    ]
}

2. 修改目标角色的信任策略

更新目标账号中切换角色的信任策略,允许原账号用户传递SSMSessionRunAs标签:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::[原账号ID]:user/[用户名]"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "sts:TagKeys": "SSMSessionRunAs"
                }
            }
        }
    ]
}

3. 控制台切换角色时开启标签传递

在AWS控制台切换角色的界面,点击高级选项:

  • 勾选传递会话标签
  • 在标签列表中添加SSMSessionRunAs,值填写原用户标签对应的操作系统用户名

完成以上步骤后,切换角色后的Session Manager会话会自动使用原用户指定的操作系统用户登录。

备选方案:SAML联合身份(若环境支持)

如果使用SAML身份提供商管理用户身份,可以在SAML断言中携带SSMSessionRunAs属性,然后在IAM角色的信任策略中配置,让角色自动从断言中提取该值并设置为会话标签,实现无缝继承。

最后备选:专属角色方案

仅当上述方案无法落地时,才考虑为每个用户创建专属切换角色,并在角色上绑定对应的SSMSessionRunAs标签。但该方案维护成本高,不推荐大规模使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 14:50:03