本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于知识库评测作业的数据加密
在知识库评测作业期间,Amazon Bedrock 会生成您的数据的临时副本。作业完成后,Amazon Bedrock 会删除数据。为了加密数据,Amazon Bedrock 将使用 KMS 密钥。它使用的是您指定的 KMS 密钥或 Amazon Bedrock 拥有的密钥。
Amazon Bedrock 需要以下部分中的 IAM 和AWS KMS权限,这样它才能使用您的 KMS 密钥来执行以下操作:
-
解密您的数据。
-
加密 Amazon Bedrock 创建的临时副本。
创建知识库评测作业时,您可以选择使用 Amazon Bedrock 拥有的 KMS 密钥,也可以选择使用自己的客户自主管理型密钥。如果您未指定客户自主管理型密钥,Amazon Bedrock 将默认使用其密钥。
在使用客户自主管理型密钥之前,您必须先执行以下操作:
-
向 IAM 服务角色的策略添加所需的 IAM 操作和资源。
-
添加所需的 KMS 密钥策略元素。
-
创建可以与您的客户自主管理型密钥进行交互的策略。这是在单独的 KMS 密钥策略中指定的。
必需的策略元素
接下来部分中的 IAM 和 KMS 密钥策略包含以下必需元素:
-
kms:Decrypt:对于您使用 KMS 密钥加密的文件,请向 Amazon Bedrock 提供访问和解密这些文件的权限。 -
kms:GenerateDataKey:控制使用 KMS 密钥生成数据密钥的权限。Amazon Bedrock 使用GenerateDataKey加密为评测作业存储的临时数据。 -
kms:DescribeKey:提供有关 KMS 密钥的详细信息。 -
kms:ViaService— 条件密钥将使用 KMS 密钥限制为只能向指定AWS服务发出请求。您必须指定以下服务:-
Amazon S3,因为 Amazon Bedrock 将数据的临时副本存储在 Amazon Bedrock 拥有的 Amazon S3 位置。
-
Amazon Bedrock,因为评估服务会调用 Amazon Bedrock 知识库 API 来执行知识库工作流。
-
-
kms:EncryptionContext:context-key— 此条件密钥限制了对AWS KMS操作的访问,因此它们仅特定于提供的加密上下文。
IAM 策略要求
在您要与 Amazon Bedrock 结合使用的 IAM 角色中,关联的 IAM 策略必须包含以下元素。要了解有关管理AWS KMS密钥的更多信息,请参阅将 IAM 策略与一起使用AWS KMS。
Amazon Bedrock 中的知识库评估工作使用AWS自有密钥。有关AWS自有密钥的更多信息,请参阅《AWS Key Management Service开发者指南》中的AWS自有密钥。
以下是一个示例 IAM 策略,该策略仅包含必需的 AWS KMS 操作和资源:
AWS KMS关键政策要求
每个 KMS 密钥都必须有一个密钥策略。密钥策略中的语句确定谁有权限使用 KMS 密钥以及如何使用 KMS 密钥。您还可使用 IAM 策略和授权来控制对 KMS 密钥的访问,但每个 KMS 密钥必须有一个密钥策略。
您必须向现有的 KMS 密钥策略添加以下语句。该语句为 Amazon Bedrock 提供了使用您指定的 KMS 密钥,将您的数据临时存储在 S3 存储桶中的权限。
为调用 CreateEvaluationJob API 的角色设置 KMS 权限
确保您的角色具有 DescribeKey GenerateDataKey、和 Decrypt 权限,这些权限用于在评估作业中使用的 KMS 密钥上创建评估作业。
KMS 密钥策略示例
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/APICallingRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kmsDescribeKey" ], "Resource": "*" } ] }
角色调用 CreateEvaluationJob API 的 IAM 策略示例