

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# サービスにリンクされたロールを使用して、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 ドメインを初めて作成するときに、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`。対象リソース: `*`
+ アクション: すべての VPC、セキュリティグループ、サブネット、およびルートテーブル、ならびにリクエストにタグ `OpenSearchManaged=true` が含まれる場合、すべての VPC エンドポイントで `ec2:CreateVpcEndpoint`
+ アクション: すべての VPC、セキュリティグループ、サブネット、およびルートテーブル、ならびにリクエストにタグ `OpenSearchManaged=true` が含まれる場合、すべての VPC エンドポイントで `ec2:ModifyVpcEndpoint`
+ アクション: リクエストにタグ `OpenSearchManaged=true` が含まれる場合、すべてのエンドポイントで `ec2:DeleteVpcEndpoints`
+ アクション: `ec2:AssignIpv6Addresses`。対象リソース: `*`
+ アクション: `*` 上で `ec2:UnAssignIpv6Addresses`
+ アクション: `*` 上で `elasticloadbalancing:AddListenerCertificates`
+ アクション: `elasticloadbalancing:RemoveListenerCertificates` 上で `*`

サービスにリンクされたロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、権限を設定する必要があります。詳細については、「IAM ユーザーガイド」の「[Service-linked role permissions](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 ユーザーガイド」の「*サービスにリンクされたロールの編集*」を参照してください。

## サービスリンクロールの削除
<a name="delete-slr"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、モニタリングや保守が積極的に行われていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールをクリーンアップする必要があります。

### サービスにリンクされたロールのクリーンアップ
<a name="slr-review-before-delete"></a>

IAM を使用してサービスにリンクされたロールを削除するには、まずそのロールにアクティブなセッションがないことを確認し、そのロールで使用されているリソースをすべて削除する必要があります。

**サービスにリンクされたロールにアクティブなセッションがあるかどうかを、IAM コンソールで確認するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. IAM コンソールのナビゲーションペインで **[ロール]** を選択します。次に、`AWSServiceRoleForAmazonOpenSearchService` ロールの名前 (チェックボックスではありません) を選択します。

1. 選択したロールの [**概要**] ページで、[**アクセスアドバイザー**] タブを選択します。

1. [**アクセスアドバイザー**] タブで、サービスにリンクされたロールの最新のアクティビティを確認します。
**注記**  
OpenSearch Service で `AWSServiceRoleForAmazonOpenSearchService` ロールが使用されているかどうかが不明な場合は、このロールの削除を試みることができます。サービスでロールが使用されている場合、削除は失敗し、ロールが使用されているリソースを表示できます。ロールが使用されている場合は、ロールを削除する前、またはロールを使用しているリソースを削除する前にセッションが終了するのを待つ必要があります。サービスにリンクされたロールのセッションを取り消すことはできません。

### サービスにリンクされたロールの手動削除
<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) の「*サービスにリンクされたロールの削除*」を参照してください。