

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

# 维护服务相关角色
<a name="using-service-linked-roles-maintenance"></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-maintenance"></a>

Elastic Beanstalk 使用名为的服务相关角色 **AWSServiceRoleForElasticBeanstalkMaintenance**——允许 Elastic Beanstalk 为您的运行环境执行定期维护活动。

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

 AWSServiceRoleForElasticBeanstalkMaintenance 服务相关角色的权限策略包含 Elastic Beanstalk 代表您完成操作所需的所有权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
        {
            "Sid": "AllowCloudformationChangeSetOperationsOnElasticBeanstalkStacks",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateChangeSet",
                "cloudformation:DescribeChangeSet",
                "cloudformation:ExecuteChangeSet",
                "cloudformation:DeleteChangeSet",
                "cloudformation:ListChangeSets",
                "cloudformation:DescribeStacks"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:*:stack/awseb-*",
                "arn:aws:cloudformation:*:*:stack/eb-*"
            ]
        }
}
```

------

您必须配置权限，允许 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-maintenance"></a>

您无需手动创建服务关联角色。当您使用 Elastic Beanstalk API 创建 Elastic Beanstalk 环境但未指定实例配置文件时，Elastic Beanstalk 会为您创建服务相关角色。

**重要**  
 如果您在其他使用此角色支持的功能的服务中完成某个操作，此服务关联角色可以出现在您的账户中。如果您在 2019 年 4 月 18 日之前使用 Elastic Beanstalk 服务，当时该服务开始 AWSServiceRoleForElasticBeanstalkMaintenance 支持服务相关角色，而您的账户需要该服务，那么 Elastic Beanstalk 会在您的账户中创建该角色。 AWSService RoleForElasticBeanstalkMaintenance 要了解更多信息，请参阅[我的 IAM 账户中的新角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您使用 Elastic Beanstalk API 创建 Elastic Beanstalk 环境但未指定实例配置文件时，Elastic Beanstalk 会再次为您创建服务相关角色。

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

Elastic Beanstalk 不允许你编辑服务相关角色。 AWSService RoleForElasticBeanstalkMaintenance 创建服务关联角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。但是可以使用 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-maintenance"></a>

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

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

在使用 IAM 删除服务相关角色之前，必须先终止使用此服务相关角色的任何 Elastic Beanstalk 环境。

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

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

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-maintenance"></a>

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

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

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