

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

# Amazon OpenSearch Service の設定
<a name="opensearch-granting-access-managed"></a>

Amazon OpenSearch Service を使用する場合は、OpenSearch Service ドメインから Amazon Personalize リソースにアクセスできる必要があります。

**アクセス許可を設定するには**

1. リソースが同じアカウントにあるか異なるアカウントにあるかに応じて、リソースにアクセスするアクセス許可を持つ 1 つ以上の IAM サービスロールを作成します。
   +  OpenSearch Service リソースと Amazon Personalize リソースが同じアカウントにある場合、OpenSearch Service 用の IAM サービスロールを作成し、Amazon Personalize キャンペーンからパーソナライズされたランキングを取得するアクセス許可を付与します。詳細については、「[リソースが同じアカウントにある場合のアクセス許可の設定](service-role-managed.md)」を参照してください。
   + OpenSearch Service リソースと Amazon Personalize リソースが別々のアカウントにある場合は、2 つの IAM サービスロールを作成します。OpenSearch Service リソースを使用してアカウント内に 1 つを作成し、OpenSearch Service リソースへのアクセスを許可します。また、Amazon Personalize リソースを使用してアカウント内に 1 つを作成し、Amazon Personalize キャンペーンからパーソナライズされたランキングを取得するアクセス許可を付与します。詳細については、「[リソースが異なるアカウントにある場合のアクセス許可の設定](configuring-multiple-accounts.md)」を参照してください。

1. OpenSearch Service ドメインにアクセスするユーザーまたはロールに、OpenSearch Service 用に作成した IAM サービスロールの `PassRole` アクセス許可を付与します。詳細については、「[Amazon OpenSearch Service のドメインセキュリティの設定](domain-user-managed.md)」を参照してください。

アクセス許可を設定したら、ドメインにプラグインをインストールする準備が整います。詳細については、「[プラグインのインストール](open-search-install-managed.md)」を参照してください。

**Topics**
+ [

# リソースが同じアカウントにある場合のアクセス許可の設定
](service-role-managed.md)
+ [

# リソースが異なるアカウントにある場合のアクセス許可の設定
](configuring-multiple-accounts.md)
+ [

# Amazon OpenSearch Service のドメインセキュリティの設定
](domain-user-managed.md)

# リソースが同じアカウントにある場合のアクセス許可の設定
<a name="service-role-managed"></a>

OpenSearch Service リソースと Amazon Personalize リソースが同じアカウントにある場合、OpenSearch Service 用の IAM サービスロールを作成する必要があります。このロールには、Amazon Personalize キャンペーンからパーソナライズされたランキングを取得するためのアクセス許可が必要です。Amazon Personalize キャンペーンからパーソナライズされたランキングを取得する許可を OpenSearch Service サービスロールに付与するには、以下が必要です。
+ ロールの信頼ポリシーは OpenSearch Service への `AssumeRole` アクセス許可を付与する必要があります。信頼ポリシーの例については、「[信頼ポリシーの例](#opensearch-granting-access-managed-trust-policy)」を参照してください。
+ ロールには、Amazon Personalize キャンペーンからパーソナライズされたランキングを取得する許可が必要です。ポリシーの例については「[アクセス許可ポリシーの例](#opensearch-granting-access-managed-permissions-policy)」を参照してください。

IAM ロールの作成の詳細については、「*IAM ユーザーガイド*」の「[IAM ロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)」を参照してください。ロールへの IAM ポリシーのアタッチについては、**「IAM ユーザーガイド」の「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

OpenSearch Service 用の IAM サービスロールを作成したら、OpenSearch Service ドメインにアクセスするユーザーまたはロールに、OpenSearch Service サービスロールの `PassRole` アクセス許可を付与する必要があります。詳細については、「[Amazon OpenSearch Service のドメインセキュリティの設定](domain-user-managed.md)」を参照してください。

**Topics**
+ [

## 信頼ポリシーの例
](#opensearch-granting-access-managed-trust-policy)
+ [

## アクセス許可ポリシーの例
](#opensearch-granting-access-managed-permissions-policy)

## 信頼ポリシーの例
<a name="opensearch-granting-access-managed-trust-policy"></a>

以下の信頼ポリシーの例では、OpenSearch Service に `AssumeRole` アクセス許可を付与しています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "",
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Principal": {
            "Service": [
                "es.amazonaws.com"
            ]
        }
    }]
}
```

------

## アクセス許可ポリシーの例
<a name="opensearch-granting-access-managed-permissions-policy"></a>

次のポリシー例では、Amazon Personalize キャンペーンからパーソナライズされたランキングを取得するための最低限のアクセス許可をロールに付与しています。`Campaign ARN` には、Amazon Personalize キャンペーンの Amazon リソースネーム (ARN) を指定します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "personalize:GetPersonalizedRanking"
            ],
            "Resource": "arn:aws:personalize:us-east-1:111122223333:campaign/YourResourceId"
        }
    ]
}
```

------

# リソースが異なるアカウントにある場合のアクセス許可の設定
<a name="configuring-multiple-accounts"></a>

OpenSearch Service リソースと Amazon Personalize リソースが別々のアカウントにある場合は、各アカウントに IAM ロールを作成し、そのロールにアカウントのリソースへのアクセスを許可します。

**複数のアカウントのアクセス許可を設定するには**

1. Amazon Personalize キャンペーンが存在するアカウントで、Amazon Personalize キャンペーンからパーソナライズされたランキングを取得するアクセス許可を持つ IAM ロールを作成します。プラグインを設定するときは、`personalized_search_ranking` レスポンスプロセッサの `external_account_iam_role_arn` パラメータでこのロールの ARN を指定します。詳細については、「[Amazon OpenSearch Service のパイプラインを作成する](managed-opensearch-plugin-pipeline-example.md)」を参照してください。

   ポリシーの例については「[アクセス許可ポリシーの例](service-role-managed.md#opensearch-granting-access-managed-permissions-policy)」を参照してください。

1. OpenSearch Service ドメインが存在するアカウントで、OpenSearch Service の `AssumeRole` アクセス許可を付与する信頼ポリシーを持つロールを作成します。プラグインを設定するときは、`personalized_search_ranking` レスポンスプロセッサの `iam_role_arn` パラメータでこのロールの ARN を指定します。詳細については、「[Amazon OpenSearch Service のパイプラインを作成する](managed-opensearch-plugin-pipeline-example.md)」を参照してください。

   信頼ポリシーの例については、「[信頼ポリシーの例](service-role-managed.md#opensearch-granting-access-managed-trust-policy)」を参照してください。

1. 各ロールを変更して、他のロールの `AssumeRole` アクセス許可を付与します。例えば、Amazon Personalize リソースにアクセスできるロールの場合、その IAM ポリシーは OpenSearch Service ドメインのアカウントのロールに、次のようにロール継承アクセス許可を付与します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::111122223333:role/roleName"
            
       }]
   }
   ```

------

1. OpenSearch Service ドメインが存在するアカウントで、OpenSearch Service ドメインにアクセスするユーザーまたはロールに、先ほど作成した OpenSearch Service サービスロールの `PassRole` アクセス許可を付与します。詳細については、「[Amazon OpenSearch Service のドメインセキュリティの設定](domain-user-managed.md)」を参照してください。

# Amazon OpenSearch Service のドメインセキュリティの設定
<a name="domain-user-managed"></a>

OpenSearch Service でプラグインを使用するには、ドメインにアクセスするユーザーまたはロールが、先ほど作成した [OpenSearch Service 用の IAM サービスロール](service-role-managed.md)に対する `PassRole` アクセス許可を持っている必要があります。また、ユーザーまたはロールには、`es:ESHttpGet` および `es:ESHttpPut` アクションを実行するためのアクセス許可が必要です。

OpenSearch Service へのアクセス許可の設定については、**「Amazon OpenSearch Service デベロッパーガイド」の「[Amazon OpenSearch Service のセキュリティ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/security.html)」を参照してください。IAM ポリシーの例については、「[OpenSearch Service のユーザーまたはロールのポリシー例](#opensearch-domain-user-policy-examples)」を参照してください。

## OpenSearch Service のユーザーまたはロールのポリシー例
<a name="opensearch-domain-user-policy-examples"></a>

次の IAM ポリシーの例では、[リソースが同じアカウントにある場合のアクセス許可の設定](service-role-managed.md) で作成した OpenSearch Service 用の IAM サービスロールの `PassRole` アクセス許可をユーザーまたはロールに付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/aws-service-role/opensearchservice.amazonaws.com/AWSServiceRoleForAmazonOpenSearchService"
        }
    ]
}
```

------

次の IAM ポリシーは、OpenSearch Service でパイプラインと検索クエリを作成するための最低限の許可を付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpPut"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:ResourceTag/environment": [
                        "production"
                    ]
                }
            }
        }
    ]
}
```

------