我将在这里浏览他们的示例应用程序教程:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html即使我能够从第 1 步获得一个工作应用程序,我始终收到有关无法承担我为此应用程序设置的服务角色以及无法找到检查托管更新的权限的警告消息。我已经设置了一个具有此处列出的所有权限的服务角色:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-servicerole.html,我的理解是我应该能够使用此应用程序获取托管更新。
还附上我在名为 newpolicy@ 的角色中看到的屏幕截图。
我已经删除了应用程序、环境和角色,并使用亚马逊教程从头开始重建它们,多次,都遇到了同样的问题。
尝试使用新环境创建新应用程序,并创建具有添加权限的新角色,包括 AWSElasticBeanstalkEnhancedHealth 和 AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy 以及标准
AWSElasticBeanstalkWebTier
AWSElasticBeanstalkWorkerTier
AWSElasticBeanstalkMulticontainerDocker
教程推荐。
我希望看到一个没有问题的新应用程序,但我收到了警告事件:服务角色“arn:aws:iam::864344321409:role/newpolicy@”缺少检查托管更新所需的权限。验证角色的策略。
但是,当我单击提供的网址时,我仍然可以查看示例应用程序。
回答Arpit Jain的问题:以下是我对newpolicy@的信任关系:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
您为 EC2 实例创建了一个服务角色名称 -
newpolicy@
,但应为 Elastic Beanstalk 创建该名称以承担服务角色。应该有一个角色名称 - aws-elasticbeanstalk-service-role,如果没有,您可以通过以下步骤创建它:
在 IAM 控制台的导航窗格中,选择角色,然后选择创建角色 → 选择 AWS 服务角色类型为 AWS 服务 → 选择用例为Elastic Beanstalk - 可自定义 → 选择 Next → 它应该显示已选择的两个权限 - AWSElasticBeanstalkEnhancedHealth、AWSElasticBeanstalkService(需要添加
AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
,稍后创建角色后将添加)→ (可选)设置权限边界 → 选择 Next → 输入 角色名称为 - aws-elasticbeanstalk-service-role → 查看角色,然后选择创建角色。现在在 IAM 控制台的导航窗格中,搜索角色 - aws-elasticbeanstalk-service-role
→ 单击 添加权限 - 附加策略 → 搜索并选择 AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
→ 单击 添加权限。
角色的权限策略 - aws-elasticbeanstalk-service-role:
角色的信任关系 - aws-elasticbeanstalk-service-role:
希望这有帮助。