知识库资源的加密 - Amazon Bedrock

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

知识库资源的加密

Amazon Bedrock 会加密与知识库相关的资源。默认情况下,Amazon Bedrock 使用 AWS 托管密钥对这些数据进行加密。或者,您可以使用客户托管式密钥对模型构件进行加密。

支持使用 KMS 密钥进行加密的过程如下:

  • 提取数据来源时的临时数据存储

  • 如果您让 Amazon Bedrock 设置矢量数据库,则会将信息传递给 OpenSearch 服务部门

  • 查询知识库

知识库使用的下列资源也可以使用 KMS 密钥进行加密。如果加密这些资源,则需要添加权限以解密 KMS 密钥。

  • 存储在 Amazon S3 存储桶中的数据来源

  • 第三方向量存储

有关更多信息 AWS KMS keys,请参阅《AWS Key Management Service 开发人员指南》中的客户托管密钥

加密数据提取期间的临时数据存储

在为知识库设置数据提取作业时,可以使用自定义 KMS 密钥加密作业。

要允许在摄取数据源的过程中为临时数据存储创建 AWS KMS 密钥,请将以下策略附加到您的 Amazon Bedrock 服务角色。将 regionaccount-idkey-id 替换为适当的值。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] } ] }

对传递给 Amazon OpenSearch 服务的信息进行加密

如果您选择让 Amazon Bedrock 在亚马逊 OpenSearch 服务中为您的知识库创建矢量存储,Amazon Bedrock 可以将您选择的 KMS 密钥传递给亚马逊 OpenSearch 服务进行加密。要了解有关亚马逊 OpenSearch 服务加密的更多信息,请参阅亚马逊 OpenSearch 服务中的加密

加密知识库检索

您可以使用 KMS 密钥加密在查询知识库时生成响应的会话。为此,请在发出请求时在kmsKeyArn字段中包含 KMS 密钥的 ARN。RetrieveAndGenerate附加以下策略,根据情况替换 values 以允许 Amazon Bedrock 加密会话上下文。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:region:account-id:key/key-id } ] }

解密您在 Amazon S3 中的数据源的 AWS KMS 密钥的权限

您将知识库的数据来源存储在 Amazon S3 存储桶中。要对这些静态文档进行加密,您可以使用 Amazon S3 SSE-S3 服务器端加密选项。通过此选项,将使用由 Amazon S3 服务管理的服务密钥为对象加密。

有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用采用 Amazon S3 托管加密密钥的服务器端加密 (SSE-S3) 保护数据

如果您使用自定义 AWS KMS 密钥加密了 Amazon S3 中的数据源,请将以下策略附加到您的 Amazon Bedrock 服务角色,以允许 Amazon Bedrock 解密您的密钥。将 regionaccount-id 替换为密钥所属的区域和账户 ID。将 key-id 替换为密钥的 ID AWS KMS 。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "KMS:Decrypt", ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region.amazonaws.com" ] } } }] }

解密包含知识库的矢量存储的 AWS Secrets Manager 密钥的权限

如果包含知识库的矢量存储配置了 AWS Secrets Manager 密钥,则可以按照中的密钥加密和解密中的步骤使用自定义密 AWS KMS 钥对密钥进行加密。 AWS Secrets Manager

如果您这样做,请将以下策略附加到 Amazon Bedrock 服务角色,以允许它将密钥解密。将 regionaccount-id 替换为密钥所属的区域和账户 ID。将 key-id 替换为密钥的 ID AWS KMS 。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] } ] }