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

AWS Elastic Beanstalk示例应用无法使用角色获取托管更新权限

Elastic Beanstalk服务角色无法假设+托管更新权限缺失问题修复

核心问题定位

  1. 信任关系配置错误:你当前的服务角色信任的是ec2.amazonaws.com,但Elastic Beanstalk服务角色的信任主体必须是elasticbeanstalk.amazonaws.com,这是导致「无法假设角色」警告的直接原因。
  2. 权限策略混淆:你给服务角色附加了实例配置文件(Instance Profile)才需要的AWSElasticBeanstalkWebTier等策略,服务角色只需要特定的托管更新和健康检查权限。

修复步骤

1. 修正服务角色信任关系

进入IAM控制台,找到newpolicy@角色,修改信任关系为以下内容:

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

2. 清理并修正权限策略

  • 移除角色上的AWSElasticBeanstalkWebTier、AWSElasticBeanstalkWorkerTier、AWSElasticBeanstalkMulticontainerDocker策略(这些是给EC2实例角色用的)
  • 仅保留AWSElasticBeanstalkEnhancedHealth和AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy两个托管策略

3. 重新关联服务角色到环境

回到Elastic Beanstalk控制台:

  • 进入你的环境 → 配置 → 管理选项
  • 在「服务角色」下拉框选择修改后的newpolicy@角色,保存配置
  • 等待环境更新完成后,检查警告是否消失

注意事项

  • 不要给账户根用户附加任何权限,这既不安全也解决不了问题
  • 服务角色(给Elastic Beanstalk服务本身用)和实例配置文件(给EC2实例用)是两个不同的角色,不要混淆它们的权限和信任关系

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 05:15:18