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

AWS CodePipeline部署CloudFormation报root无iam:PassRole权限求助

问题修复方案

报错根因

你收到的root is not authorized to perform: iam:PassRole报错,是因为调用CloudFormation执行部署的身份(你当前使用的root账号)缺少IAM PassRole权限,无法将模板中定义的IAM角色传递给CloudFormation服务完成资源创建。

修复步骤

  • 第一步:为操作身份添加PassRole权限
    不建议生产环境使用root账号执行部署操作,你可以先为当前使用的root账号添加如下自定义策略,也可以切换为专用IAM操作账号并给该账号配置对应权限:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "iam:PassRole",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "iam:PassedToService": "cloudformation.amazonaws.com"
                    }
                }
            }
        ]
    }
    
    生产环境请将Resource替换为你实际创建的IAM角色ARN,缩小权限范围
  • 第二步:修正CloudFormation模板错误
    你当前模板中的RootInstanceProfile资源的Roles参数引用错误,原本引用的是角色名参数,实际应该引用RootRole资源,修正后的代码段如下:
    RootInstanceProfile:
      Type: 'AWS::IAM::InstanceProfile'
      Properties:
        Path: /
        Roles:
          - !Ref RootRole
    
  • 第三步:可选优化项
    你当前定义的IAM角色开放了全操作全资源权限,且仅信任S3服务,可根据实际使用场景收敛权限范围、补充需要信任的服务主体,避免权限过大带来的安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:57:02