Elastic Beanstalk 服务角色
服务角色是 Elastic Beanstalk 在代表您调用其他服务时代入的 IAM 角色。例如,Elastic Beanstalk 在调用 Amazon Elastic Compute Cloud(Amazon EC2)、Elastic Load Balancing 和 Amazon EC2 Auto Scaling API 来收集信息时,将会使用一个服务角色。Elastic Beanstalk 使用的服务角色是您在创建 Elastic Beanstalk 环境时指定的角色。
有两个托管策略附加到服务角色。这些策略提供的权限允许 Elastic Beanstalk 访问创建和管理环境所需的 AWS 资源。一个托管策略提供增强的运行状况监控和工作线程层 Amazon SQS 支持的权限,另一个策略提供托管平台更新所需的其他权限。
AWSElasticBeanstalkEnhancedHealth
此策略向 Elastic Beanstalk 授予监控实例和环境运行状况的权限。它还包括 Amazon SQS 操作,以允许 Elastic Beanstalk 监控工作线程环境的队列活动。要查看托管式策略内容,请参阅《AWS 托管式策略参考指南》中的 AWSElasticBeanstalkEnhancedHealth 页面。
AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
此策略向 Elastic Beanstalk 授予权限,以代表您更新环境以执行托管平台更新。要查看托管式策略内容,请参阅《AWS 托管式策略参考指南》中的 AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy 页面。
服务级别权限分组
此策略根据提供的权限集分为多个语句。
-
ElasticBeanstalkPermissions– 这一组权限用于调用 Elastic Beanstalk 服务操作(Elastic Beanstalk API)。 -
AllowPassRoleToElasticBeanstalkAndDownstreamServices– 这一组权限允许将任何角色传递给 Elastic Beanstalk 及其他下游服务,例如 CloudFormation。 -
ReadOnlyPermissions– 这一组权限用于收集有关运行环境的信息。 -
*OperationPermissions– 采用此命名模式的组用于调用执行平台更新必需的操作。 -
*BroadOperationPermissions– 采用此命名模式的组用于调用执行平台更新必需的操作。它们还包括支持旧环境的广泛权限。 -
*TagResource– 采用这种命名模式的组适用于使用 tag-on-create API 为在 Elastic Beanstalk 环境中创建的资源附加标签的调用。
您可以使用以下任一方法创建 Elastic Beanstalk 环境。每个部分都描述了该方法如何处理服务角色。
Elastic Beanstalk 控制台
使用 Elastic Beanstalk 控制台创建环境时,Elastic Beanstalk 将提示您创建一个名为 aws-elasticbeanstalk-service-role 的服务角色。当通过 Elastic Beanstalk 创建时,此角色包括一个信任策略,允许 Elastic Beanstalk 代入服务角色。本主题前面描述的两个托管策略也会附加到该角色。
Elastic Beanstalk 命令行界面 (EB CLI)
您可以使用 Elastic Beanstalk 命令行界面(EB CLI)的 eb create 命令创建环境。如果您未通过 --service-role 选项指定服务角色。Elastic Beanstalk 将创建相同的默认服务角色 aws-elasticbeanstalk-service-role。如果默认服务角色已存在,Elastic Beanstalk 会将其用于新环境。当通过 Elastic Beanstalk 创建时,此角色包括一个信任策略,允许 Elastic Beanstalk 代入服务角色。本主题前面描述的两个托管策略也会附加到该角色。
Elastic Beanstalk API
您可以使用 Elastic Beanstalk API 的 CreateEnvironment 操作创建环境。如果您未指定服务角色,Elastic Beanstalk 将创建一个监控服务相关角色。这是独特类型的服务角色,由 Elastic Beanstalk 预定义,它具有服务代表您调用其他 AWS 服务所需的所有权限。服务相关角色与您的账户关联。Elastic Beanstalk 仅会创建此角色一次,然后在创建其他环境时重复使用此角色。您也可以使用 IAM 提前为账户创建此监控服务相关角色。在您的账户具有监控服务相关角色时,您可以通过 Elastic Beanstalk 控制台、Elastic Beanstalk API 或 EB CLI 使用该角色创建环境。有关如何将服务相关角色与 Elastic Beanstalk 环境结合使用的说明,请参阅将服务相关角色用于 Elastic Beanstalk。
有关服务角色的更多信息,请参阅 管理 Elastic Beanstalk 服务角色。