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

AWS CodePipeline部署失败:角色缺少elasticbeanstalk:CreateApplicationVersion权限

解决CodePipeline部署到Elastic Beanstalk的权限错误问题

你犯了一个常见的新手错误:你把权限策略附加到了Elastic Beanstalk的角色上,但CodePipeline的部署阶段使用的是它自己的服务角色,而非aws-elasticbeanstalk-ec2-role或aws-elasticbeanstalk-service-role。

按照以下步骤修复:

  • 找到你的CodePipeline服务角色

    1. 打开CodePipeline控制台,进入出问题的流水线
    2. 点击右上角的「设置」→「服务角色」,记录下这个角色的名称(通常格式为AWSCodePipelineServiceRole-<区域>-<流水线名称>)
  • 给CodePipeline服务角色附加权限

    1. 打开IAM控制台,搜索刚才记录的角色名称
    2. 点击「添加权限」→「附加策略」
    3. 选择你已创建的ElasticbeanstalkCreateApplicationVersion策略,点击「附加策略」
  • (可选)为避免后续出现其他权限问题,建议给这个角色添加更完整的Elastic Beanstalk部署权限,比如创建包含以下内容的自定义策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticbeanstalk:CreateApplicationVersion",
        "elasticbeanstalk:UpdateEnvironment",
        "elasticbeanstalk:DescribeEnvironments",
        "elasticbeanstalk:DescribeApplications"
      ],
      "Resource": [
        "arn:aws:elasticbeanstalk:<你的AWS区域>:<你的账号ID>:application/<你的EB应用名称>",
        "arn:aws:elasticbeanstalk:<你的AWS区域>:<你的账号ID>:environment/<你的EB应用名称>/<你的EB环境名称>"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": "arn:aws:s3:::<你的CodePipeline存储桶名称>/*"
    }
  ]
}

完成后,回到CodePipeline控制台,重新运行失败的部署阶段,错误应该会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:49:59