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

使用AWS CLI创建Elastic Beanstalk环境时遇IAM权限错误求助

解决AWS CLI创建Elastic Beanstalk环境时的IAM角色权限报错
  • 检查aws-elasticbeanstalk-service-role的信任策略
    确保该角色允许Elastic Beanstalk服务扮演它,执行以下操作:
    先创建trust-policy-service.json文件,内容如下:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "elasticbeanstalk.amazonaws.com"
          },
          "Action": "sts:AssumeRole",
          "Condition": {
            "StringEquals": {
              "sts:ExternalId": "elasticbeanstalk"
            }
          }
        }
      ]
    }
    

    然后运行命令更新信任策略:

    aws iam update-assume-role-policy --role-name aws-elasticbeanstalk-service-role --policy-document file://trust-policy-service.json
    
  • 确认用户的iam:PassRole权限
    即便有管理员权限,也要确保用户策略明确允许传递目标角色。创建pass-role-policy.json文件:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": [
            "arn:aws:iam::你的AWS账户ID:role/aws-elasticbeanstalk-service-role",
            "arn:aws:iam::你的AWS账户ID:instance-profile/aws-elasticbeanstalk-ec2-role"
          ]
        }
      ]
    }
    

    替换你的AWS账户ID为实际账户ID,将策略附加到目标用户:

    aws iam put-user-policy --user-name 你的用户名 --policy-name ElasticBeanstalkPassRole --policy-document file://pass-role-policy.json
    
  • 验证实例角色与实例配置文件的关联
    aws-elasticbeanstalk-ec2-role必须绑定到同名实例配置文件,若未绑定执行:

    aws iam create-instance-profile --instance-profile-name aws-elasticbeanstalk-ec2-role
    aws iam add-role-to-instance-profile --instance-profile-name aws-elasticbeanstalk-ec2-role --role-name aws-elasticbeanstalk-ec2-role
    
  • 检查CLI凭据是否正确
    确认当前CLI使用的是已分配权限的用户:

    aws configure list
    

    若凭据不正确,重新配置:

    aws configure
    

    输入正确的访问密钥、秘密密钥等信息。

  • 缺失默认角色时手动创建
    如果目标角色不存在,直接创建默认服务角色和EC2角色:

    # 创建默认Elastic Beanstalk服务角色
    aws elasticbeanstalk create-default-service-role
    
    # 创建EC2角色及信任策略
    echo '{
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "ec2.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }' > trust-policy-ec2.json
    
    aws iam create-role --role-name aws-elasticbeanstalk-ec2-role --assume-role-policy-document file://trust-policy-ec2.json
    
    # 附加Elastic Beanstalk实例托管策略
    aws iam attach-role-policy --role-name aws-elasticbeanstalk-ec2-role --policy-arn arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier
    aws iam attach-role-policy --role-name aws-elasticbeanstalk-ec2-role --policy-arn arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:15:37