

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

# 設定開放原始碼 OpenSearch 許可
<a name="opensearch-granting-access"></a>

如果您使用開放原始碼 OpenSearch，您必須能夠從開放搜尋叢集存取 Amazon Personalize 資源。若要授予存取權，請執行下列動作：
+ 如果您是從頭開始設定 OpenSearch，您可以使用[快速入門 bash 指令碼](https://github.com/opensearch-project/search-processor/blob/main/helpers/personalized_search_ranking_quickstart.sh)在 Docker 容器中執行 OpenSearch 叢集。指令碼會在您的 AWS 設定檔中使用預設登入資料。您可以在執行指令碼時指定替代設定檔。

  這些登入資料必須與具有為 Amazon Personalize 行銷活動執行 GetPersonalizedRanking 動作許可的使用者或角色相關聯。如需 IAM 政策的範例，請參閱 [IAM 政策範例](#opensearch-role-policy-example)。或者，登入資料必須具有許可，才能擔任具有這些許可的角色。您可以在建立 Amazon Personalize Search Ranking 外掛程式的管道時，提供此角色的 Amazon Resource Name (ARN)。
+ 如果您不使用[快速啟動 bash 指令碼](https://github.com/opensearch-project/search-processor/blob/main/helpers/personalized_search_ranking_quickstart.sh)，您可以手動將登入資料新增至 OpenSearch 金鑰存放區。這些登入資料必須與具有許可可為您的 Amazon Personalize 行銷活動執行 GetPersonalizedRanking 動作的使用者或角色對應。

  若要手動將 AWS 登入資料新增至 OpenSearch 金鑰存放區，請執行下列執行 OpenSearch 叢集的命令 （例如 Docker 容器）。然後提供每個登入資料。如果您不使用工作階段字符，則可以省略命令中的最後一行。

  ```
  opensearch-keystore add \
  personalized_search_ranking.aws.access_key \
  personalized_search_ranking.aws.secret_key \
  personalized_search_ranking.aws.session_token
  ```
+ 如果您在 Amazon EC2 執行個體上執行 OpenSearch 叢集，您可以使用 IAM 執行個體描述檔授予許可。連接至角色的政策必須授予其許可，才能為您的 Amazon Personalize 行銷活動執行 GetPersonalizedRanking 動作。它還必須授予 Amazon EC2 擔任角色的許可。

  如需 Amazon EC2 執行個體描述檔的資訊，請參閱[使用執行個體描述檔](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)。如需政策範例，請參閱[IAM 政策範例](#opensearch-role-policy-example)。

## IAM 政策範例
<a name="opensearch-role-policy-example"></a>

下列政策範例授予使用者或角色從 Amazon Personalize 行銷活動取得個人化排名的最低許可。針對 `Campaign ARN`，指定 Amazon Personalize 行銷活動的 Amazon Resource Name (ARN)。

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

****  

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

------

此外，如果您在 Amazon EC2 執行個體上執行 OpenSearch 叢集，並使用 IAM 執行個體描述檔授予許可，該角色的信任政策必須授予 Amazon EC2 `AssumeRole`許可，如下所示。如需 Amazon EC2 執行個體描述檔的詳細資訊，請參閱[使用執行個體描述檔](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)。

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

****  

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

------