

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

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

如果您使用 Amazon OpenSearch Service，您必須能夠從 OpenSearch Service 網域存取 Amazon Personalize 資源。

**若要設定 許可**

1. 視您的資源是否位於相同或不同的帳戶而定，請建立具有存取資源許可的一或多個 IAM 服務角色。
   +  如果您的 OpenSearch Service 和 Amazon Personalize 資源位於同一個帳戶中，您可以為 OpenSearch Service 建立 IAM 服務角色，並授予許可，以從您的 Amazon Personalize 行銷活動取得個人化排名。如需詳細資訊，請參閱[當資源位於相同帳戶時設定許可](service-role-managed.md)。
   + 如果您的 OpenSearch Service 和 Amazon Personalize 資源位於不同的帳戶中，您可以建立兩個 IAM 服務角色。您可以使用 OpenSearch Service 資源在帳戶中建立一個資源，並授予其存取 OpenSearch Service 資源的權限。而且，您可以使用 Amazon Personalize 資源在帳戶中建立一個 ，並授予它從您的 Amazon Personalize 行銷活動取得個人化排名的許可。如需詳細資訊，請參閱[當資源位於不同帳戶時設定許可](configuring-multiple-accounts.md)。

1. 授予存取您為 OpenSearch Service 建立之 IAM 服務角色的 OpenSearch Service 網域`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 行銷活動取得個人化排名的許可。以下是授予 OpenSearch Service 服務角色許可，以從您的 Amazon Personalize 行銷活動取得個人化排名的必要條件：
+ 角色的信任政策必須授予 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 身分許可](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 Resource Name (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)。 * OpenSearch * 如需政策範例，請參閱[OpenSearch Service 使用者或角色的政策範例](#opensearch-domain-user-policy-examples)。

## OpenSearch Service 使用者或角色的政策範例
<a name="opensearch-domain-user-policy-examples"></a>

下列 IAM 政策範例會授予您在 中為 OpenSearch Service 建立之 IAM 服務角色的使用者或角色`PassRole`許可[當資源位於相同帳戶時設定許可](service-role-managed.md)。

------
#### [ 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"
                    ]
                }
            }
        }
    ]
}
```

------