CDK Pipelines UpdatePipeline阶段执行失败 AssumeRole权限报错
排查步骤
- 校验CDK部署角色的信任策略
打开IAM控制台找到cdk-hnb659fds-deploy-role-608983964447-ap-southeast-1,进入信任关系标签页,确认信任主体包含WhitespaceApp-CdkPipelineUpdatePipelineSelfMutatio-5L0H9BL407WF角色的ARN,或者包含当前账号ID608983964447。同账号部署场景下如果信任策略仅限制了服务主体,也会导致跨角色调用被拒绝。 - 校验自更新角色的权限配置
检查WhitespaceApp-CdkPipelineUpdatePipelineSelfMutatio-5L0H9BL407WF角色的权限策略,确认存在如下权限配置:
注意核对资源ARN的账号、区域、角色名拼写完全匹配,无多余字符或拼写错误。{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::608983964447:role/cdk-hnb659fds-deploy-role-608983964447-ap-southeast-1" } - 排查上层权限限制
使用AWS IAM策略模拟器,输入自更新角色的ARN、模拟执行sts:AssumeRole操作,目标资源为部署角色ARN,查看是否存在服务控制策略(SCP)、权限边界等上层配置显式拒绝该操作,企业级AWS组织的全局权限限制优先级高于角色自身配置的权限。 - 修复SSM参数访问权限
后续的ssm:GetParameter报错是AssumeRole失败后,CDK fallback使用自更新角色直接访问bootstrap版本参数导致的。你可以选择两种方式修复:- 给自更新角色补充
ssm:GetParameter权限,资源为arn:aws:ssm:ap-southeast-1:608983964447:parameter/cdk-bootstrap/hnb659fds/version - 重新执行CDK bootstrap命令,同步更新信任配置和参数权限,推荐命令如下:
执行完bootstrap后重新触发流水线即可。cdk bootstrap aws://608983964447/ap-southeast-1 --trust 608983964447 --trust-for-pipeline 608983964447 - 给自更新角色补充
内容的提问来源于stack exchange,提问作者Qinjie
相关产品推荐
相关产品推荐

