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

GitHub Action调用AWS CodePipeline报sts:AssumeRole无权限如何解决?

修复步骤

  • 第一步:核对权限动作拼写
    你提到添加的sts:AssumRole为拼写错误,AWS官方正确的STS权限动作是sts:AssumeRole,请先修改你绑定给lms-test用户的IAM策略中的动作名称,确保拼写完全匹配。
  • 第二步:核对权限策略的资源配置
    你为lms-test用户配置的sts:AssumeRole权限的Resource字段,必须和报错中提示的目标资源ARN完全匹配,参考正确的策略配置片段:
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "替换为你需要Assume的IAM角色完整ARN"
    }
    
    注意:sts:AssumeRole的操作对象只能是IAM角色ARN,如果你误将CodePipeline的ARN填入该权限的资源字段,也会触发权限报错。如果你是需要直接触发CodePipeline执行,对应权限动作为codepipeline:StartPipelineExecution,资源为CodePipeline的ARN。
  • 第三步:核对目标角色的信任策略
    你需要Assume的IAM角色,必须在自身的信任策略中允许lms-test用户执行AssumeRole操作,参考信任策略配置片段:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::替换为你的AWS账号ID:user/lms-test"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  • 第四步:核对附加配置一致性
    1. 如果你要Assume的角色设置了外部ID校验,请确保你在GitHub Actions配置中传入了正确的外部ID参数
    2. 核对你使用的AWS账号ID、区域配置,确保和角色、CodePipeline所属的账号、区域完全匹配
    3. 配置修改后最长可能有2分钟的缓存延迟,建议修改后等待2分钟再重新测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:45:08