

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用服務連結角色來建立 VPC 網域和直接查詢資料來源
<a name="slr-aos"></a>

Amazon OpenSearch Service 使用 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)。服務連結角色是直接連結至 OpenSearch Service 的一種特殊 IAM 角色類型。服務連結角色由 OpenSearch Service 預先定義，並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

OpenSearch Service 使用名為 **AWSServiceRoleForAmazonOpenSearchService** 的服務連結角色，可提供角色啟用網域或直接查詢資料來源 [VPC 存取](cognito-auth.md)所需的最低 Amazon EC2 和 Elastic Load Balancing 許可。

## 舊版 Elasticsearch 角色
<a name="slr-replacement"></a>

Amazon OpenSearch Service 使用名為 `AWSServiceRoleForAmazonOpenSearchService` 的服務連結角色。您的帳戶可能也會包含名為 `AWSServiceRoleForAmazonElasticsearchService` 的舊版服務連結角色，其使用已被淘汰的 Elasticsearch API 端點運作。

如果您的帳戶中沒有舊版的 Elasticsearch 角色，則 OpenSearch Service 會在您首次建立 OpenSearch 網域時，自動建立一個新的 OpenSearch 服務連結角色。否則，您的帳戶將繼續使用 Elasticsearch 角色。若要讓此自動建立作業順利完成，您必須具有 `iam:CreateServiceLinkedRole` 動作的許可。

## 許可
<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) 的角色許可政策允許 OpenSearch Service 對指定資源完成下列動作：
+ 動作：`*` 上的 `acm:DescribeCertificate`
+ 動作：`*` 上的 `cloudwatch:PutMetricData`
+ 動作：`*` 上的 `ec2:CreateNetworkInterface`
+ 動作：`*` 上的 `ec2:DeleteNetworkInterface`
+ 動作：`*` 上的 `ec2:DescribeNetworkInterfaces`
+ 動作：`*` 上的 `ec2:ModifyNetworkInterfaceAttribute`
+ 動作：`*` 上的 `ec2:DescribeSecurityGroups`
+ 動作：`*` 上的 `ec2:DescribeSubnets`
+ 動作：`*` 上的 `ec2:DescribeVpcs`
+ 動作：在所有網路介面和 VPC 端點進行 `ec2:CreateTags`
+ 動作：`*` 上的 `ec2:DescribeTags`
+ 動作：當請求包含標籤 `OpenSearchManaged=true` 時，在所有 VPC、安全群組、子網路和路由表，以及所有 VPC 端點上進行 `ec2:CreateVpcEndpoint`
+ 動作：當請求包含標籤 `OpenSearchManaged=true` 時，在所有 VPC、安全群組、子網路和路由表，以及所有 VPC 端點上進行 `ec2:ModifyVpcEndpoint`
+ 動作：當請求包含標籤 `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 Service 會為您建立服務連結角色。若要讓此自動建立作業順利完成，您必須具有 `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 Service 不允許您編輯 `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 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在 IAM 主控台的導覽窗格中，選擇**角色**。然後選擇 `AWSServiceRoleForAmazonOpenSearchService` 角色的名稱 (而非核取方塊)。

1. 在所選角色的 **Summary (摘要)** 頁面中，選擇 **Access Advisor (存取 Advisor)** 分頁。

1. 在 **Access Advisor (存取 Advisor)** 分頁中，檢閱服務連結角色的近期活動。
**注意**  
如果您不確定 OpenSearch Service 是否正在使用 `AWSServiceRoleForAmazonOpenSearchService` 角色，可嘗試刪除該角色。如果服務正在使用該角色，則刪除會失敗，而您可以檢視正在使用該角色的資源。如果角色正在使用中，則您必須先等到工作階段結束，才能刪除該角色，及/或刪除正在使用該角色的資源。您無法撤銷服務連結角色的工作階段。

### 手動刪除服務連結角色
<a name="slr-manual-delete"></a>

從 IAM 主控台、API 或 CLI AWS 刪除服務連結角色。如需相關說明，請參閱 *IAM 使用者指南*中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。