

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

# 使用精細的存取控制設定 OpenSearch 許可
<a name="kb-osm-permissions-console-fgap"></a>

雖然為選用，我們強烈建議您為 OpenSearch 網域啟用精細的存取控制。使用精細的存取控制，您可以使用角色型存取控制，可讓您建立具有特定許可的 OpenSearch 角色，並將其對應至知識庫服務角色。對應會授予您的知識庫最低必要許可，允許其存取 OpenSearch 網域和索引並對其執行操作。

若要設定和使用精細的存取控制：

1. 請確定您使用的 OpenSearch 網域已啟用精細的存取控制。

1. 對於使用精細的存取控制的網域，以 OpenSearch 角色的形式設定縮小政策範圍的許可。

1. 對於您為其建立角色的網域，請將角色對應新增至知識庫服務角色。

下列步驟說明如何設定 OpenSearch 角色，並確保 OpenSearch 角色與知識庫服務角色之間的正確對應。

**建立 OpenSearch 角色並設定許可**  
啟用精細的存取控制並將 Amazon Bedrock 設定為連線至 OpenSearch Service 之後，您可以使用每個 OpenSearch 網域的 OpenSearch Dashboards 連結來設定許可。

**若要設定網域的許可以允許存取 Amazon Bedrock：**

1. 開啟 OpenSearch Dashboards，找到您要使用的 OpenSearch 網域。若要尋找 Dashboards 的連結，請前往您在 OpenSearch Service 主控台中建立的網域。對於執行 OpenSearch 的網域，URL 的格式為 `{{domain-endpoint}}/_dashboards/`。如需詳細資訊，請參閱《Amazon OpenSearch Service 開發人員指南》**中的 [Dashboards](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html)。

1. 在 OpenSearch Dashboards 中，選擇**安全性**，然後選擇**角色**。

1. 選擇建**立角色**。

1. 提供角色的任何名稱，例如 **kb\_opensearch\_role**。

1. 在**叢集許可**下，新增下列許可。
   + `indices:data/read/msearch`
   + `indices:data/write/bulk*`
   + `indices:data/read/mget*`

1. 在**索引許可**下，提供向量索引的名稱。選擇**建立新的許可群組**，然後選擇**建立新的動作群組**。將下列許可新增至動作群組，例如 `KnowledgeBasesActionGroup`。將下列許可新增至動作群組。
   + `indices:admin/get`
   + `indices:data/read/msearch`
   + `indices:data/read/search`
   + `indices:data/write/index`
   + `indices:data/write/update`
   + `indices:data/write/delete`
   + `indices:data/write/delete/byquery`
   + `indices:data/write/bulk*`
   + `indices:admin/mapping/put`
   + `indices:data/read/mget*`  
![在 OpenSearch Dashboards 中建立的動作群組，用於新增叢集和索引許可。](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/images/kb/kb-test-os-action-groups.png)

1. 選擇**建立**以建立 OpenSearch 角色。

以下顯示新增許可的範例 OpenSearch 角色。

![OpenSearch Dashboards 中新增許可的範例 OpenSearch 角色。](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/images/kb/kb-test-os-dashboards-permissions.png)


**建立角色對應至您的知識庫服務角色**

1. 識別需要對應的 IAM 角色。
   + 如果您建立了自己的自訂 IAM 角色，您可以從 IAM 主控台複製此角色的角色 ARN。
   + 如果您允許知識庫為您建立角色，您可以在建立知識庫時記下角色 ARN，然後複製此角色 ARN。

1. 開啟 OpenSearch Dashboards，找到您要使用的 OpenSearch 網域。URL 的格式為 `{{domain-endpoint}}/_dashboards/`。

1. 從導覽窗格中，選擇**安全**。

1. 搜尋您剛從清單中建立的角色，例如 **kb\_opensearch\_role**，然後開啟它。

1. 在**已對應的使用者**索引標籤上，選擇**管理對應**。

1. 在**後端角色**區段中，輸入知識庫受 AWS 管 IAM 角色的 ARN。根據您是否建立自己的自訂角色或讓知識庫為您建立角色，從 IAM 主控台或 Amazon Bedrock 主控台複製角色 ARN 資訊，然後在 OpenSearch 主控台中輸入**後端角色**的資訊。以下是範例。

   ```
   arn:aws:iam::{{<accountId>}}:role/service-role/{{<knowledge-base-service-role>}}
   ```

1. 選擇**對應**。

   知識庫服務角色現在可以連線至 OpenSearch 角色，並對網域和索引執行必要的操作。