执行eb create创建EB环境失败:无权限分配指定IAM角色
解决AWS Elastic Beanstalk创建环境时的IAM角色权限问题
报错核心原因
当前操作的IAM用户缺少iam:PassRole权限,无法将aws-elasticbeanstalk-service-role角色传递给Elastic Beanstalk服务,同时存在实例角色权限验证不足的警告。
具体解决方案
1. 为IAM用户添加iam:PassRole权限
- 登录AWS控制台,进入IAM服务,找到执行
eb create操作的IAM用户 - 为该用户添加自定义权限策略,策略内容如下(替换
你的AWS账号ID为实际12位账号ID):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::你的AWS账号ID:role/aws-elasticbeanstalk-service-role" } ] }
2. 验证并创建默认EB角色
如果aws-elasticbeanstalk-service-role或aws-elasticbeanstalk-ec2-role不存在,需手动创建:
- 进入IAM角色页面,点击创建角色
- 选择Elastic Beanstalk作为受信任实体类型
- 针对服务角色(
aws-elasticbeanstalk-service-role):关联AWSElasticBeanstalkService权限策略 - 针对EC2实例角色(
aws-elasticbeanstalk-ec2-role):关联AWSElasticBeanstalkWebTier或AWSElasticBeanstalkWorkerTier权限策略 - 确保角色名称与报错中提及的完全一致
3. 测试环境快速验证(可选)
若为测试环境,可临时为IAM用户附加AWSElasticBeanstalkFullAccess管理策略,快速验证权限问题是否解决(生产环境建议遵循最小权限原则,不要长期使用该策略)
操作后验证
- 先清理失败的环境:
eb terminate testEBUdg-dev
- 重新执行环境创建命令:
eb create
内容的提问来源于stack exchange,提问作者someone
相关产品推荐
相关产品推荐

