为知识库设置安全配置 - Amazon Bedrock

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

为知识库设置安全配置

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

为知识库设置数据访问策略

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

Amazon OpenSearch Serverless

要限制知识库服务角色访问 Amazon OpenSearch Serverless 集合,请创建数据访问策略。您可以通过下列方式来执行此操作:

使用以下数据访问策略,指定 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 Enterprise Cloud or MongoDB Atlas

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

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase" ], "Resource": "*", "Condition": { "StringEquals": { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:iam::${region}:${account-id}:secret:${secret-id}" } } }] }

为您的 Amazon OpenSearch 无服务器知识库设置网络访问策略

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

《亚马逊 OpenSearch 服务开发者指南》中的以下资源将帮助您了解私有 Amazon OpenSearch Serverless 集合所需的设置:

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

Console
  1. 打开亚马逊 OpenSearch 服务控制台,网址为https://console.aws.amazon.com/aos/

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

  3. 网络部分,选择关联策略

  4. 选择编辑

  5. 对于选择策略定义方法,请执行以下操作之一:

    • 选择策略定义方法保留为可视化编辑器,并在规则 1 部分配置以下设置:

      1. (可选)在规则名称字段中,输入网络访问规则的名称。

      2. 访问如下位置的集合下,选择私有(推荐)

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

      4. 取消选择 “启用 OpenSearch 仪表板访问权限”。

    • 选择 JSON,然后将以下策略粘贴到 JSON 编辑器

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

API

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

  1. 使用OpenSearch 无服务器端点发送GetSecurityPolicy请求。指定策略的 name,然后将 type 指定为 network。记下响应中的 policyVersion

  2. 使用OpenSearch 无服务器端点发送UpdateSecurityPolicy请求。至少指定以下字段:

    字段 描述
    名称 策略的名称
    policyVersion policyVersion 将从 GetSecurityPolicy 响应返回给您。
    type 安全策略的类型。指定 network
    policy 要使用的策略。指定以下 JSON 对象
    [ { "AllowFromPublic": false, "Description":"${network access policy description}", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}" ] } ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]

有关 AWS CLI 示例,请参阅创建数据访问策略(AWS CLI)