

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

# 設定 OpenSearch 受管叢集的資源型政策
<a name="kb-osm-permissions-slr-rbp"></a>

建立知識庫時，您可以建立自己的自訂角色，或讓 Amazon Bedrock 為您建立一個角色。設定許可的方式取決於您是建立新角色還是使用現有角色。如果您已經有現有的 IAM 角色，您必須確保網域的存取政策不會防止帳戶中的角色執行必要的 OpenSearch API 動作。

如果您選擇讓 Amazon Bedrock 知識庫為您建立 IAM 角色，您必須確保網域的存取政策授予許可，讓您帳戶中的角色執行必要的 OpenSearch API 動作。如果您的網域具有限制性存取政策，其可能會防止您的角色執行這些動作。以下顯示限制性資源型政策的範例。

在這種情況下，您可以：
+ 使用 OpenSearch 網域可以授予此角色存取權的現有 IAM 角色建立知識庫，以執行必要的操作。
+ 或者，您可以讓 Amazon Bedrock 為您建立新的角色。在此情況下，您必須確保網域的存取政策必須授予許可，讓您帳戶中的角色執行必要的 OpenSearch API 動作。

以下各節顯示授予必要許可的範例 IAM 政策，以及如何更新網域的存取政策，以便授予執行必要 OpenSearch API 操作的許可。

**Topics**
+ [範例身分型和資源型政策](#kb-osm-permissions-iam)
+ [建立 Amazon Bedrock 知識庫服務角色](#kb-osm-permissions-slr)
+ [更新資源型政策](#kb-osm-permissions-console-rbp)

## 範例身分型和資源型政策
<a name="kb-osm-permissions-iam"></a>

本節提供範例身分政策和資源型政策，您可以在與 Amazon Bedrock 知識庫整合時為 OpenSearch 網域設定這些政策。您必須授予 Amazon Bedrock 許可，才能對您提供知識庫的索引執行這些動作。


****  

| Action | 資源 | 說明 | 
| --- | --- | --- | 
| es:ESHttpPost | arn:{{<partition>}}:es:{{<region>}}:{{<accountId>}}:domain/{{<domainName>}}/{{<indexName>}} | 用於將資訊插入至索引 | 
| es:ESHttpGet |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | 用於從索引搜尋資訊。此動作是在 domain/index 層級和 domain/index/\* 層級上設定的。在 domain/index 層級，它可以取得有關索引的高階詳細資訊，例如引擎類型。若要擷取儲存在索引中的詳細資訊，domain/index/\* 層級需要許可。 | 
| es:ESHttpHead |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | 用於從索引取得資訊。此動作是在 domain/index 層級和 domain/index/\* 層級上設定的，以防需要在更高層級取得資訊，例如特定索引是否存在。 | 
| es:ESHttpDelete | arn:{{<partition>}}:es:{{<region>}}:{{<accountId>}}:domain/{{<domainName>}}/{{<indexName>}} | 用於刪除索引的資訊 | 
| es:DescribeDomain | arn:{{<partition>}}:es:{{<region>}}:{{<accountId>}}:domain/{{<domainName>}} | 用於對網域執行驗證，例如使用的引擎版本。 | 

### 範例身分型政策
<a name="kb-osm-permissions-idpolicy"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OpenSearchIndexAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpPost",
                "es:ESHttpPut",
                "es:ESHttpDelete"
            ],
            "Resource": [
                "arn:aws:{{es:us-east-1}}:{{123456789012}}:domain/{{domainName}}/{{indexName}}/*"
            ]
        },
        {
            "Sid": "OpenSearchIndexGetAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpHead"
            ],
            "Resource": [
            "arn:aws:{{es:us-east-1}}:{{123456789012}}:domain/{{domainName}}/{{indexName}}"
            ]
        },
        {
            "Sid": "OpenSearchDomainValidation",
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain"
            ],
            "Resource": [
            "arn:aws:{{es:us-east-1}}:{{123456789012}}:domain/{{domainName}}"
            ]
        }
    ]
}
```

------

### 範例資源型政策
<a name="kb-osm-permissions-rbp"></a>

**注意**  
請確定已建立服務角色，以便在資源型政策中使用。

## 建立 Amazon Bedrock 知識庫服務角色
<a name="kb-osm-permissions-slr"></a>

建立知識庫時，您可以選擇建立和使用新服務角色的選項。本節會逐步引導您建立 Amazon Bedrock 知識庫服務角色。透過將資源型政策和精細的存取政策對應到此角色，它將授予 Amazon Bedrock 向 OpenSearch 網域提出請求的許可。

**若要指定 Amazon Bedrock 知識庫服務角色：**

1. 在 Amazon Bedrock 主控台中，前往[知識庫](https://console.aws.amazon.com/bedrock/home#/knowledge-bases)。

1. 選擇**建立**，然後選擇**具有向量存放區的知識庫**。

1. 選擇**建立並使用新的服務角色**。您可以使用預設值，或提供自訂角色名稱，Amazon Bedrock 會自動為您建立知識庫服務角色。

1. 繼續透過主控台來設定資料來源，以及剖析和分塊策略。

1. 選擇嵌入模型，然後在**選擇現有的向量存放區**下，選擇 **Amazon OpenSearch 受管叢集**。

**重要**  
在您繼續建立知識庫之前，請完成下列步驟，以設定資源型政策和精細的存取政策。如需建立知識庫的詳細步驟，請參閱 [透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md)。

## 更新資源型政策
<a name="kb-osm-permissions-console-rbp"></a>

如果您的 OpenSearch 網域具有限制性存取政策，您可以遵循此頁面上的指示來更新資源型政策。這些許可允許知識庫使用您提供的索引，並擷取 OpenSearch 網域定義，以對網域執行必要的驗證。

**從 設定資源型政策 AWS 管理主控台**

1. 前往 [Amazon OpenSearch Service 主控台](https://console.aws.amazon.com/aos/home?region=us-east-1#opensearch/dashboard)。

1. 前往您已建立的網域，然後前往設定資源型政策的**安全組態**。

1. 在 **JSON** 索引標籤中編輯政策，然後更新類似於 [範例資源型政策](#kb-osm-permissions-rbp) 的政策。

1. 您現在可以返回 Amazon Bedrock 主控台，並提供 OpenSearch 網域和索引的詳細資訊，如[受管叢集的知識庫設定](knowledge-base-setup.md#knowledge-base-setup-osm)中所述。