

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 托管更新服务相关角色
<a name="using-service-linked-roles-managedupdates"></a>

AWS Elastic Beanstalk 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种与 Elastic Beanstalk 直接关联的独特类型的 IAM 角色。服务相关角色由 Elastic Beanstalk 预定义，包括该服务代表您调用其他服务所需的所有权限。 AWS 

您可以使用服务相关角色轻松设置 Elastic Beanstalk，因为您不必手动添加所需的权限。Elastic Beanstalk 定义了其服务相关角色的权限，除非另外定义，否则只有 Elastic Beanstalk 可以代入该角色。定义的权限包括信任策略和权限策略，以及不能附加到任何其他 IAM 实体的权限策略。

只有在首先删除相关资源后，您才能删除服务关联角色。这将保护您的 Elastic Beanstalk 资源，因为您无法无意中删除对资源的访问权限。

有关支持服务相关角色的其他服务的信息，请参阅[使用 IAM 的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并查找 **Service-Linked Role**（服务相关角色）列中显示为 **Yes**（是）的服务。选择 **Yes**（是）和链接，查看该服务的服务相关角色文档。

## Elastic Beanstalk 的服务相关角色权限
<a name="service-linked-role-permissions-managedupdates"></a>

Elastic Beanstalk 使用名为的服务相关角色 **AWSServiceRoleForElasticBeanstalkManagedUpdates**——允许 Elastic Beanstalk 对正在运行的环境执行定期平台更新。

 AWSServiceRoleForElasticBeanstalkManagedUpdates 服务相关角色信任以下服务来代入该角色：
+ `managedupdates.elasticbeanstalk.amazonaws.com`

托管策略**AWSElasticBeanstalkManagedUpdatesServiceRolePolicy**允许 AWSServiceRoleForElasticBeanstalkManagedUpdates 服务相关角色获得 Elastic Beanstalk 代表您完成托管更新操作所需的所有权限。要查看托管策略的内容，请参阅《*AWS 托管策略参考指南》*中的[AWSElasticBeanstalkManagedUpdatesServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkManagedUpdatesServiceRolePolicy.html)页面。

您必须配置权限，允许 IAM 实体（如用户、组或角色）创建、编辑或删除服务关联角色。有关更多信息，请参阅《IAM 用户指南》**中的[服务关联角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

或者，您可以使用 AWS 托管策略[提供对 Elastic Beanstalk 的完全访问权限](AWSHowTo.iam.managed-policies.md)。

## 为 Elastic Beanstalk 创建服务相关角色
<a name="create-service-linked-role-managedupdates"></a>

您无需手动创建服务关联角色。当您使用 Elastic Beanstalk API 创建 Elastic Beanstalk 环境、启用托管更新并指定 `AWSServiceRoleForElasticBeanstalkManagedUpdates` 作为 `aws:elasticbeanstalk:managedactions` 命名空间 `ServiceRoleForManagedUpdates` 选项的值时，Elastic Beanstalk 会为您创建服务相关角色。

当 Elastic Beanstalk 在 AWSServiceRoleForElasticBeanstalkManagedUpdates 创建环境时尝试为您的账户创建服务相关角色时，您必须拥有该权限。`iam:CreateServiceLinkedRole`如果您没有此权限，环境创建将失败，您会看到说明问题的消息。

作为替代方案，也可以让具有创建服务相关角色权限的另一用户使用 IAM 预先创建服务相关角色。这样，即使您没有 `iam:CreateServiceLinkedRole` 权限，也可以创建环境。

您（或其他用户）可以使用 IAM 控制台，通过 **Elastic Beanstalk 托管更新**使用案例创建服务相关角色。在 IAM CLI 或 IAM API 中，用 `managedupdates.elasticbeanstalk.amazonaws.com` 服务名称创建一个服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[创建服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。如果您删除了此服务相关角色，可以使用同样的过程再次创建角色。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您使用 Elastic Beanstalk API 创建 Elastic Beanstalk 环境、启用托管更新并指定 `AWSServiceRoleForElasticBeanstalkManagedUpdates` 作为 `aws:elasticbeanstalk:managedactions` 命名空间 `ServiceRoleForManagedUpdates` 选项的值时，Elastic Beanstalk 会再次为您创建服务相关角色。

## 为 Elastic Beanstalk 编辑服务相关角色
<a name="edit-service-linked-role-managedupdates"></a>

Elastic Beanstalk 不允许你编辑服务相关角色。 AWSService RoleForElasticBeanstalkManagedUpdates 创建服务关联角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息，请参见《IAM 用户指南》**中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除 Elastic Beanstalk 的服务相关角色
<a name="delete-service-linked-role-managedupdates"></a>

如果不再需要使用某个需要服务关联角色的功能或服务，我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是，必须先清除服务相关角色的资源，然后才能手动删除它。

### 清除服务相关角色
<a name="service-linked-role-review-before-delete-managedupdates"></a>

您必须首先确保启用了托管更新的 Elastic Beanstalk 环境使用的是不同服务角色或已终止，然后才能使用 IAM 删除服务相关角色。

**注意**  
在您尝试终止环境时，如果 Elastic Beanstalk 服务在使用服务相关角色，终止操作可能会失败。如果发生这种情况，请等待几分钟后重试。

**终止使用（控制台）的 Elastic Beanstalk 环境 AWSService RoleForElasticBeanstalkManagedUpdates**

1. 打开 [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 AWS 区域

1. 在导航窗格中，选择 **Environments**（环境），然后从列表中选择环境的名称。

1. 选择 **Actions**（操作），然后选择 **Terminate Environment**（终止环境）。

1. 使用屏幕上的对话框确认环境终止。

有关使用 EB CLI 终止 Elastic Beanstalk 环境的详细信息，请参阅[**eb terminate**](eb3-terminate.md)。

有关[TerminateEnvironment](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_TerminateEnvironment.html)使用 API 终止 Elastic Beanstalk 环境的详细信息，请参阅。

### 手动删除服务相关角色
<a name="slr-manual-delete-managedupdates"></a>

使用 IAM 控制台、IAM CLI 或 IAM API 删除 AWSServiceRoleForElasticBeanstalkManagedUpdates 服务相关角色。有关更多信息，请参阅《IAM 用户指南》**的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## Elastic Beanstalk 服务相关角色支持的区域
<a name="slr-regions-managedupdates"></a>

Elastic Beanstalk 支持在服务可用的所有区域中使用服务相关角色。有关更多信息，请参阅 [AWS Elastic Beanstalk 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html)。