本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 Elastic Beanstalk 实例配置文件
实例配置文件是 AWS Identity and Access Management (IAM) 角色的容器,您可以使用该容器在实例启动时将角色信息传递给 Amazon EC2 实例。
如果您的 AWS 账户没有 EC2 实例配置文件,则必须使用 IAM 服务创建一个。然后,您可以将此 EC2 实例配置文件分配到您创建的新环境。创建环境向导提供了相关的信息,以在您使用 IAM 服务过程提供指导,确保您可以创建具有所需权限的 EC2 实例配置文件。创建该实例配置文件后,您可以返回控制台以将其选中并作为 EC2 实例配置文件,然后继续执行创建环境的相关步骤。
注意
以前,Elastic Beanstalk 创建了一个默认 EC2 实例aws-elasticbeanstalk-ec2-role
配置文件,该配置文件名为账户首次创建环境 AWS 时命名。该实例配置文件包含默认的托管式策略。如果您的账户已经有该实例配置文件,则可继续将其分配到您的环境。
但是,最近的 AWS 安全准则不允许 AWS 服务自动创建具有对其他 AWS 服务(在本例中为 EC2)的信任策略的角色。根据这些安全准则,Elastic Beanstalk 将不再创建默认的 aws-elasticbeanstalk-ec2-role
实例配置文件。
托管策略
Elastic Beanstalk 提供多种托管式策略,以确保您的环境能够满足不同的使用场景需求。要满足环境的默认使用场景需要,必须将这些策略附加到 EC2 实例配置文件对应的角色。
-
AWSElasticBeanstalkWebTier— 授予应用程序将日志上传到 Amazon S3 并将调试信息上传到的权限 AWS X-Ray。要查看托管策略的内容,请参阅AWSElasticBeanstalkWebTier《AWS 托管策略参考指南》。
-
AWSElasticBeanstalkWorkerTier— 授予日志上传、调试、指标发布和工作器实例任务(包括队列管理、领导者选举和定期任务)的权限。要查看托管策略的内容,请参阅AWSElasticBeanstalkWorkerTier《AWS 托管策略参考指南》。
-
AWSElasticBeanstalkMulticontainerDocker— 向 Amazon 弹性容器服务授予权限,以协调 Docker 环境的集群任务。要查看托管策略的内容,请参阅AWSElasticBeanstalkMulticontainerDocker《AWS 托管策略参考指南》。
重要
Elastic Beanstalk 托管式策略不提供精细权限—它们授予使用 Elastic Beanstalk 应用程序可能需要的所有权限。在某些情况下,您可能希望进一步限制我们的托管策略的权限。有关一个用例的示例,请参阅防止跨环境访问 Amazon S3 存储桶。
我们的托管式策略也不涵盖对您可能添加到解决方案中且不由 Elastic Beanstalk 管理的自定义资源的权限。要实施更精细的权限、所需的最低权限或自定义资源权限,请使用自定义策略。
EC2 的信任关系政策
要允许环境中的 EC2 实例代入所需的角色,实例配置文件必须将 Amazon EC2 指定为信任关系策略中的可信实体,如下所示。
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
要自定义权限,您可以向附加到默认实例配置文件的角色添加策略,或者创建具有一组受限权限的实例配置文件。
创建实例配置文件
实例配置文件是一个面向标准 IAM 角色的包装程序,它允许 EC2 实例代入该角色。您可以创建其他实例配置文件来为不同的应用程序自定义权限。或者,如果您不使用 Worker 层或 ECS 托管式 Docker 环境,则可以创建不向这些功能授予权限的实例配置文件。
要创建实例配置文件
-
在 IAM 控制台中,打开 Roles(角色)页面
。 -
选择创建角色。
-
在可信实体类型下,选择 AWS 服务。
-
在 Use case(使用案例)下,选择 EC2。
-
选择下一步。
-
附加由 Elastic Beanstalk 提供的适当托管式策略以及提供应用程序所需的权限的任何其他策略。
-
选择下一步。
-
输入角色的名称。
-
(可选)将标签添加到角色。
-
选择 创建角色。
验证分配给实例配置文件的权限
分配给您的默认实例配置文件的权限不是固定的,具体取决于其创建时间、您上次启动环境的时间和您使用的客户端。您可以在 IAM 控制台中验证默认实例配置文件的权限。
验证默认实例配置文件的权限
-
在 IAM 控制台中,打开 Roles(角色)页面
。 -
选择分配为 EC2 实例配置文件的角色。
-
在 Permissions(权限)选项卡中,审核附加到角色的策略列表。
-
要查看策略授予的权限,请选择相应的策略。
更新 out-of-date 默认实例配置文件
如果默认实例配置文件缺少所需的权限,您可以手动将托管式策略附加到分配为 EC2 实例配置文件的角色。
向附加到默认实例配置文件的角色添加托管式策略
-
在 IAM 控制台中,打开 Roles(角色)页面
。 -
选择分配为 EC2 实例配置文件的角色。
-
在 Permissions(权限)选项卡上,选择 Attach policies(附加策略)。
-
键入
AWSElasticBeanstalk
以筛选策略。 -
选择下列策略,然后选择 Attach policy(附加策略):
-
AWSElasticBeanstalkWebTier
-
AWSElasticBeanstalkWorkerTier
-
AWSElasticBeanstalkMulticontainerDocker
-
向默认实例配置文件添加权限
如果您的应用程序访问默认实例配置文件中未授予权限 AWS 的 API 或资源,请在 IAM 控制台中添加授予权限的策略。
向附加到默认实例配置文件的角色添加策略
-
在 IAM 控制台中,打开 Roles(角色)页面
。 -
选择分配为 EC2 实例配置文件的角色。
-
在 Permissions(权限)选项卡上,选择 Attach policies(附加策略)。
-
选择适用于应用程序使用的附加服务的托管策略。例如,
AmazonS3FullAccess
或AmazonDynamoDBFullAccess
。 -
选择 Attach policy(附加策略)。