

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为知识库设置安全配置
<a name="kb-create-security"></a>

创建知识库后，您可能需要设置以下安全配置：

**Topics**
+ [为知识库设置数据访问策略](#kb-create-security-data)
+ [为您的 Amazon OpenSearch 无服务器知识库设置网络访问策略](#kb-create-security-network)

## 为知识库设置数据访问策略
<a name="kb-create-security-data"></a>

如果您使用的是[自定义角色](kb-permissions.md)，请为新创建的知识库设置安全配置。如果您让 Amazon Bedrock 为您创建服务角色，则可以跳过此步骤。按照与您设置的数据库相对应的选项卡中的步骤进行操作。

------
#### [ Amazon OpenSearch Serverless ]

要将对 Amazon OpenSearch Serverless 集合的访问权限限制为知识库服务角色，请创建数据访问策略。您可以通过下列方式来执行此操作：
+ 按照亚马逊 OpenSearch 服务开发者指南中的[创建数据访问策略（控制台）](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-console)中的步骤使用亚马逊 OpenSearch 服务控制台。
+ 通过发送带有[OpenSearch 无服务器端点](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions)的[CreateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateAccessPolicy.html)请求来使用 AWS API。有关AWS CLI示例，请参阅[创建数据访问策略（AWS CLI）](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli)。

使用以下数据访问策略，指定 Amazon OpenSearch Serverless 集合和您的服务角色：

```
[
    {
        "Description": "${data access policy description}",
        "Rules": [
          {
            "Resource": [
              "index/${collection_name}/*"
            ],
            "Permission": [
                "aoss:DescribeIndex",
                "aoss:ReadDocument",
                "aoss:WriteDocument"
            ],
            "ResourceType": "index"
          }
        ],
        "Principal": [
            "arn:aws:iam::${account-id}:role/${kb-service-role}"
        ]
    }
]
```

------
#### [ Pinecone, Redis 企业云 or MongoDB Atlas ]

要集成Pinecone、Redis Enterprise Cloud、MongoDB Atlas 向量索引，请将以下基于身份的策略附加到您的知识库服务角色，以允许其访问向量索引AWS Secrets Manager的密钥。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "bedrock:AssociateThirdPartyKnowledgeBase"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:${secret-id}"
            }
        }
    }]
}
```

------

------

## 为您的 Amazon OpenSearch 无服务器知识库设置网络访问策略
<a name="kb-create-security-network"></a>

如果您使用私有 Amazon OpenSearch Serverless 集合作为知识库，则只能通过 AWS PrivateLink VPC 终端节点对其进行访问。您可以在[设置亚马逊 OpenSearch 无服务器矢量集合时创建私有的 Amazon OpenSearch Serverless 集合](knowledge-base-setup.md)，也可以在配置其网络访问策略时将现有的亚马逊 OpenSearch 无服务器集合（包括亚马逊 Bedrock 控制台为您创建的集合）设为私有。

《亚马逊 OpenSearch 服务开发者指南》中的以下资源将帮助您了解私有 Amazon OpenSearch Serverless 集合所需的设置：
+ 有关为私有 Amazon OpenSearch Serverless 集合设置 VPC 终端节点的更多信息，请参阅[使用接口终端节点访问 Amazon OpenSearch Serverless（）AWS PrivateLink](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html)。
+ 有关 Amazon Serverless 中网络访问策略的更多信息，请参阅 Amazon OpenSearch Serv [ OpenSearch erless 的网络访问权限](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html)。

要允许 Amazon Bedrock 知识库访问亚马逊 OpenSearch 无服务器的私有馆藏，您必须编辑亚马逊 OpenSearch 无服务器集合的网络访问策略，以允许 Amazon Bedrock 作为源服务。选择与您的首选方法对应的选项卡，然后按照以下步骤操作：

------
#### [ Console ]

1. 打开亚马逊 OpenSearch 服务控制台，网址为[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/)。

1. 从左侧导航窗格中选择**集合**。然后选择您的集合。

1. 在**网络**部分，选择**关联策略**。

1. 选择**编辑**。

1. 对于**选择策略定义方法**，请执行以下操作之一：
   + 将**选择策略定义方法**保留为**可视化编辑器**，并在**规则 1** 部分配置以下设置：

     1. （可选）在**规则名称**字段中，输入网络访问规则的名称。

     1. 在**访问如下位置的集合**下，选择**私有（推荐）**。

     1. 选择 **AWS 服务私有访问权限**。在文本框中输入 **bedrock.amazonaws.com**。

     1. 取消选择 “**启用对 OpenSearch 仪表板的访问权限**”。
   + 选择 **JSON**，然后将以下策略粘贴到 **JSON 编辑器**。

     ```
     [
         {                                        
             "AllowFromPublic": false,
             "Description":"${network access policy description}",
             "Rules":[
                 {
                     "ResourceType": "collection",
                     "Resource":[
                         "collection/${collection-id}"
                     ]
                 }
             ],
             "SourceServices":[
                 "bedrock.amazonaws.com"
             ]
         }
     ]
     ```

1. 选择**更新**。

------
#### [ API ]

要编辑您的 Amazon OpenSearch Serverless 馆藏的网络访问策略，请执行以下操作：

1. 使用[OpenSearch 无服务器端点](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions)发送[GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)请求。指定策略的 `name`，然后将 `type` 指定为 `network`。记下响应中的 `policyVersion`。

1. 使用[OpenSearch 无服务器端点](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions)发送[UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)请求。至少指定以下字段：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/kb-create-security.html)

   ```
   [
       {                                        
           "AllowFromPublic": false,
           "Description":"${network access policy description}",
           "Rules":[
               {
                   "ResourceType": "collection",
                   "Resource":[
                       "collection/${collection-id}"
                   ]
               }
           ],
           "SourceServices":[
               "bedrock.amazonaws.com"
           ]
       }
   ]
   ```

有关AWS CLI示例，请参阅[创建数据访问策略（AWS CLI）](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli)。

------
+ 按照[创建网络策略（控制 OpenSearch 台）中的步骤使用 Amazon Service 控制台](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-console)。在集合详细信息的**网络**部分注明**关联策略**，而不是创建网络策略。