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

AWS Service Catalog执行SSM Automation Document无法Assume角色报错如何解决

问题根因

你遇到的The defined assume role is unable to be assumed报错,核心是IAM角色MY_SSM_ROLE的信任策略配置错误,和角色权限策略是两套独立的IAM配置项,你当前仅配置了MY_SSM_ROLE的权限策略,未配置正确的信任关系。

步骤1:配置MY_SSM_ROLE的信任关系

进入IAM控制台,找到MY_SSM_ROLE,切换到「信任关系」标签页,编辑信任策略,替换为以下内容(将ACCOUNTID替换为你的AWS账号ID):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ssm.amazonaws.com",
                "AWS": "arn:aws:iam::ACCOUNTID:role/My_END_USER_Role"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

以上配置同时允许两类主体代入MY_SSM_ROLE:SSM自动化服务本身执行任务时的权限,以及Service Catalog使用的My_END_USER_Role触发自动化时的代入权限。

步骤2:修正My_END_USER_Role的权限

你之前将sts:AssumeRole权限配置到了MY_SSM_ROLE上是无效的,需要给My_END_USER_Role附加以下权限策略,允许它代入MY_SSM_ROLE:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::ACCOUNTID:role/MY_SSM_ROLE"
        }
    ]
}

步骤3:清理冗余配置

MY_SSM_ROLE上你之前添加的包含sts:AssumeRole、iam:PassRole、ssm:StartAutomationExecution的测试策略可以直接删除,仅需要保留EC2停止权限即可:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:StopInstances",
            "Resource": "*"
        }
    ]
}

验证注意事项

  • 确认IAM角色名、账号ID拼写完全正确,若角色不是创建在默认根路径下,需要在ARN中补全对应路径
  • IAM配置修改存在最多5分钟的缓存延迟,修改完成后等待1-2分钟再测试即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:54:05