

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

# 使用服务关联角色创建 VPC 域，直接查询数据来源
<a name="slr-aos"></a>

亚马逊 OpenSearch 服务使用 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)。服务相关角色是一种独特的 IAM 角色，直接链接到 OpenSearch 服务。服务相关角色由 S OpenSearch ervice 预定义，包括该服务代表您调用其他 AWS 服务所需的所有权限。

OpenSearch 服务使用名为的服务相关角色 **AWSServiceRoleForAmazonOpenSearchService**，该角色提供该角色为域或直接查询数据源启用 [VPC 访问](cognito-auth.md)所需的最低 Amazon EC2 和 Elastic Load Balancing 权限。

## 旧式 Elasticsearch 角色
<a name="slr-replacement"></a>

Amazon OpenSearch 服务使用名`AWSServiceRoleForAmazonOpenSearchService`为的服务相关角色。您的账户还可以包含一个名为 `AWSServiceRoleForAmazonElasticsearchService` 的旧式服务关联角色，它与已经弃用的 Elasticsearch API 终端节点一起使用。

如果您的账户中不存在旧版 Elasticsearch 角色，则 OpenSearch 服务会在您首次创建域名时自动创建一个新的 OpenSearch 服务相关角色。 OpenSearch 否则，您的账户将继续使用此 Elasticsearch 角色。为使这种自动创建成功，您必须具有 `iam:CreateServiceLinkedRole` 操作的权限。

## Permissions
<a name="slr-permissions"></a>

`AWSServiceRoleForAmazonOpenSearchService` 服务相关角色信任以下服务代入该角色：
+ `opensearchservice.amazonaws.com`

名为的角色权限策略[https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac-managed.html#AmazonOpenSearchServiceRolePolicy](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac-managed.html#AmazonOpenSearchServiceRolePolicy)允许 S OpenSearch ervice 对指定资源完成以下操作：
+ 操作：`*` 上的 `acm:DescribeCertificate`
+ 操作：`cloudwatch:PutMetricData` 上的 `*`
+ 操作：`ec2:CreateNetworkInterface` 上的 `*`
+ 操作：`ec2:DeleteNetworkInterface` 上的 `*`
+ 操作：`ec2:DescribeNetworkInterfaces` 上的 `*`
+ 操作：`ec2:ModifyNetworkInterfaceAttribute` 上的 `*`
+ 操作：`ec2:DescribeSecurityGroups` 上的 `*`
+ 操作：`ec2:DescribeSubnets` 上的 `*`
+ 操作：`ec2:DescribeVpcs` 上的 `*`
+ 操作：针对所有网络接口和 VPC 端点执行 `ec2:CreateTags`
+ 操作：`*` 上的 `ec2:DescribeTags`
+ 操作：当请求包含标签时，`ec2:CreateVpcEndpoint`对所有 VPCs安全组、子网和路由表以及所有 VPC 终端节点执行操作 `OpenSearchManaged=true`
+ 操作：当请求包含标签时，`ec2:ModifyVpcEndpoint`对所有 VPCs安全组、子网和路由表以及所有 VPC 终端节点执行操作 `OpenSearchManaged=true`
+ 操作：当请求包含标签 `OpenSearchManaged=true` 时，针对所有端点执行 `ec2:DeleteVpcEndpoints`
+ 操作：`*` 上的 `ec2:AssignIpv6Addresses`
+ 操作：`ec2:UnAssignIpv6Addresses` 上的 `*`
+ 操作：`elasticloadbalancing:AddListenerCertificates` 上的 `*`
+ 操作：`*` 上的 `elasticloadbalancing:RemoveListenerCertificates`

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

## 创建服务关联角色
<a name="create-slr"></a>

您无需手动创建服务关联角色。当您使用创建支持 VPC 的域或直接查询数据源时 AWS 管理控制台， OpenSearch 服务会为您创建服务相关角色。为使这种自动创建成功，您必须具有 `iam:CreateServiceLinkedRole` 操作的权限。

您还可以使用 IAM 控制台、IAM CLI 或 IAM; API 来手动创建服务相关角色。有关更多信息，请参阅 *IAM 用户指南* 中的[创建服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。

## 编辑服务相关角色
<a name="edit-slr"></a>

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

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

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

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

必须先确认服务相关角色没有活动会话并删除该角色使用的任何资源，然后才能使用 IAM 删除服务相关角色。

**在 IAM 控制台中检查服务相关角色是否具有活动会话**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在 IAM 控制台的导航窗格中，选择**角色**。然后选择 `AWSServiceRoleForAmazonOpenSearchService` 角色的名称（不是复选框）。

1. 在所选角色的 **Summary** 页面上，选择 **Access Advisor** 选项卡。

1. 在**访问顾问**选项卡查看服务相关角色的近期活动。
**注意**  
如果您不确定 S OpenSearch ervice 是否在使用该`AWSServiceRoleForAmazonOpenSearchService`角色，可以尝试删除该角色。如果服务正在使用该角色，则删除操作会失败，并且您可以查看正在使用该角色的资源。如果正在使用该角色，则必须等待会话结束后才能删除该角色，使用该角色 and/or 删除资源。您无法撤销服务相关角色对会话的权限。

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

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