

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

# 在 Amazon OpenSearch 服务中使用服务相关角色
<a name="slr"></a>

亚马逊 OpenSearch 服务使用 Amazon Identity and Access Management (IAM) [服务相关角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特的 IAM 角色，直接链接到 OpenSearch 服务。服务相关角色由 S OpenSearch ervice 预定义，包括该服务代表您调用其他 Amazon 服务所需的所有权限。

与服务相关的角色可以更轻松地设置 OpenSearch 服务，因为您不必手动添加必要的权限。 OpenSearch Service 定义其服务相关角色的权限，除非另有定义，否则只有 S OpenSearch ervice 可以担任其角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。有关服务相关角色和权限策略的更新，请参阅 [Amazon OpenSearch 服务的文档历史记录](release-notes.md)。

有关支持服务相关角色的其他服务的信息，请参阅与 [IAM 配合使用的Amazon 服务，](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并在**服务相关角色**列中查找标有 “**是**” 的服务。选择**是**和链接，查看该服务的服务关联角色文档。

**Topics**
+ [使用服务关联角色创建 VPC 域，直接查询数据来源](slr-aos.md)
+ [使用服务相关角色创建 OpenSearch 无服务器集合](serverless-service-linked-roles.md)
+ [使用服务相关角色创建 OpenSearch 摄取管道](slr-osis.md)

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

亚马逊 OpenSearch 服务使用 Amazon Identity and Access Management (IAM) [服务相关角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特的 IAM 角色，直接链接到 OpenSearch 服务。服务相关角色由 S OpenSearch ervice 预定义，包括该服务代表您调用其他 Amazon 服务所需的所有权限。

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.amazonaws.cn/opensearch-service/latest/developerguide/ac-managed.html#AmazonOpenSearchServiceRolePolicy](https://docs.amazonaws.cn/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.amazonaws.cn/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

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

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

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

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

OpenSearch 服务不允许您编辑`AWSServiceRoleForAmazonOpenSearchService`服务相关角色。在创建服务相关角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。不过，您可以使用 IAM 编辑角色的说明。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务关联角色](https://docs.amazonaws.cn/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. 登录 Amazon Web Services 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.amazonaws.cn/iam/)。

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

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

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

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

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

# 使用服务相关角色创建 OpenSearch 无服务器集合
<a name="serverless-service-linked-roles"></a>

OpenSearch 无服务器使用 Amazon Identity and Access Management (IAM) [服务相关](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)角色。服务相关角色是一种独特的 IAM 角色，直接链接到 OpenSearch 服务。服务相关角色由 S OpenSearch ervice 预定义，包括该服务代表您调用其他 Amazon 服务所需的所有权限。

OpenSearch Serverless 使用名为的服务相关角色 **AWSServiceRoleForAmazonOpenSearchServerless**，该角色提供向您的账户发布与无服务器相关的 CloudWatch指标所需的权限。与之关联的角色权限策略名 AWSServiceRoleForAmazonOpenSearchServerless 为`AmazonOpenSearchServerlessServiceRolePolicy`。有关该策略的更多信息，请参阅[AmazonOpenSearchServerlessServiceRolePolicy](https://docs.amazonaws.cn/aws-managed-policy/latest/reference/AmazonOpenSearchServerlessServiceRolePolicy.html)《*Amazon 托管策略参考指南》*。

## Serverless 的服务相关角色权限 OpenSearch
<a name="serverless-slr-permissions"></a>

OpenSearch Serverless 使用名为的服务关联角色 AWSServiceRoleForAmazonOpenSearchServerless，该角色允许 OpenSearch Serverless 代表您调用 Amazon 服务。

 AWSServiceRoleForAmazonOpenSearchServerless 服务相关角色信任以下服务来代入该角色：
+ `observability.aoss.amazonaws.com`

名为的角色权限策略`AmazonOpenSearchServerlessServiceRolePolicy`允许 OpenSearch Serverless 对指定资源完成以下操作：
+ 操作：针对所有 Amazon 资源执行 `cloudwatch:PutMetricData`

**注意**  
该策略包含条件键`{"StringEquals": {"cloudwatch:namespace": "AWS/AOSS"}}`，这意味着服务相关角色只能向`AWS/AOSS` CloudWatch命名空间发送指标数据。  
 

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

## 为无服务器创建服务相关角色 OpenSearch
<a name="create-serverless-slr"></a>

您无需手动创建服务关联角色。当您在 Amazon Web Services 管理控制台、或 Amazon API 中创建 OpenSearch 无服务器集合时 Amazon CLI， OpenSearch Serverless 会为您创建与服务相关的角色。

**注意**  
当您首次创建集合时，必须在基于身份的策略中为您分配 `iam:CreateServiceLinkedRole`。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您创建 OpenSearch 无服务器集合时，Ser OpenSearch verless 会再次为您创建服务相关角色。

您还可以使用 IAM 控制台在 A **mazon OpenSearch Serverless** 用例中创建服务相关角色。在 Amazon CLI 或 Amazon API 中，使用服务名称创建服务相关角色：`observability.aoss.amazonaws.com`

```
aws iam create-service-linked-role --aws-service-name "observability.aoss.amazonaws.com"
```

有关更多信息，请参阅 *IAM 用户指南* 中的[创建服务相关角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。如果您删除了此服务相关角色，可以使用同样的过程再次创建角色。

## 编辑无服务器的服务相关角色 OpenSearch
<a name="edit-serverless-slr"></a>

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

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

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

要删除 AWSServiceRoleForAmazonOpenSearchServerless，必须先[删除您的 Amazon Web Services 账户所有 OpenSearch 无服务器集合](serverless-delete.md)。

**注意**  
如果您尝试删除资源时 OpenSearch Serverless 正在使用该角色，则删除可能会失败。如果发生这种情况，请等待几分钟后重试。

**使用 IAM 手动删除服务关联角色**

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

## OpenSearch 无服务器服务相关角色支持的区域
<a name="serverless-slr-regions"></a>

OpenSearch Serverless 支持在每个可用 S OpenSearch erverless 的区域中使用 AWSServiceRoleForAmazonOpenSearchServerless 服务相关角色。有关支持的区域列表，请参阅中的 [Amazon OpenSearch 无服务器终端节点和配额](https://docs.amazonaws.cn/general/latest/gr/opensearch-service.html)。*Amazon Web Services 一般参考*

# 使用服务相关角色创建 OpenSearch 摄取管道
<a name="slr-osis"></a>

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

OpenSearch Ingestion 使用名为的服务相关角色 **AWSServiceRoleForAmazonOpenSearchIngestionService**，除非您使用自管理 VPC，在这种情况下，它使用名为的服务相关角色。**AWSServiceRoleForOpensearchIngestionSelfManagedVpce**随附的策略为该角色提供了在您的账户和 OpenSearch Ingestion 之间创建虚拟私有云 (VPC) 以及向您的账户发布 CloudWatch指标所需的权限。

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

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

名为的角色权限策略`AmazonOpenSearchIngestionServiceRolePolicy`允许 OpenSearch Ingestion 对指定资源完成以下操作：
+ 操作：`cloudwatch:namespace": "AWS/OSIS"` 上的 `cloudwatch:PutMetricData`
+ 操作：`ec2:CreateTags` 上的 `arn:aws:ec2:*:*:network-interface/*`
+ 操作：`ec2:CreateVpcEndpoint` 上的 `*`
+ 操作：`ec2:DeleteVpcEndpoints` 上的 `*`
+ 操作：`ec2:DescribeSecurityGroups` 上的 `*`
+ 操作：`ec2:DescribeSubnets` 上的 `*`
+ 操作：`ec2:DescribeVpcEndpoints` 上的 `*`
+ 操作：`ec2:ModifyVpcEndpoint` 上的 `*`

`AWSServiceRoleForOpensearchIngestionSelfManagedVpce` 服务相关角色信任以下服务代入该角色：
+ `self-managed-vpce.osis.amazonaws.com`

名为的角色权限策略`OpenSearchIngestionSelfManagedVpcePolicy`允许 OpenSearch Ingestion 对指定资源完成以下操作：
+ 操作：`*` 上的 `ec2:DescribeSubnets`
+ 操作：`ec2:DescribeSecurityGroups` 上的 `*`
+ 操作：`ec2:DescribeVpcEndpoints` 上的 `*`
+ 操作：`cloudwatch:namespace": "AWS/OSIS"` 上的 `cloudwatch:PutMetricData`

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

## 为 OpenSearch Ingestion 创建服务相关角色
<a name="slr-osis-create"></a>

您无需手动创建服务关联角色。当你[在、或 Amazon API 中创建 OpenSearch 摄取管道](creating-pipeline.md#create-pipeline)时 Amazon Web Services 管理控制台， OpenSearch Ingestion 会为你创建服务相关角色。 Amazon CLI

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您创建 OpenSearch 摄取管道时，In OpenSearch gestion 会再次为您创建服务相关角色。

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

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

## 删除 Ingestion 的 OpenSearch 服务相关角色
<a name="slr-osis-deleting"></a>

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

### 清除服务相关角色
<a name="slr-osis-cleanup"></a>

必须先删除服务相关角色使用的所有资源，然后才能使用 IAM 删除该角色。

**注意**  
如果您尝试删除资源时 OpenSearch Ingestion 正在使用该角色，则删除可能会失败。如果发生这种情况，请等待几分钟后重试。

**删除 OpenSearch 或角色使用的摄取`AWSServiceRoleForAmazonOpenSearchIngestionService`资源 `AWSServiceRoleForOpensearchIngestionSelfManagedVpce`**

1. 导航至 Amazon OpenSearch 服务控制台，然后选择 **Ingesti** on。

1. 删除所有管道。有关说明，请参阅[删除 Amazon OpenSearch Ingestion 管道](delete-pipeline.md)。

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

您可以使用 OpenSearch Ingestion 控制台删除服务相关角色。

**删除服务相关角色 (控制台)**

1. 导航到 IAM 控制台。

1. 选择**角色**并搜索**AWSServiceRoleForAmazonOpenSearchIngestionService**或**AWSServiceRoleForOpensearchIngestionSelfManagedVpce**角色。

1. 选择角色，选择**删除**。