用于模型评估作业的数据加密 - Amazon Bedrock

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

用于模型评估作业的数据加密

在模型评估工作期间,Amazon Bedrock 会对暂时存在的数据进行副本。任务完成后,Amazon Bedrock 会删除数据。它使用密 AWS KMS 钥对其进行加密。它要么使用您指定的 AWS KMS 密钥,要么使用Amazon Bedrock拥有的密钥来加密数据。

Amazon Bedrock 使用以下内容IAM和 AWS Key Management Service 权限使用您的密 AWS KMS 钥来解密您的数据并加密其制作的临时副本。

AWS Key Management Service 为模型评估工作提供支持

使用、或支持的创建模型评估任务时 AWS Management Console AWS CLI, AWS SDK您可以选择使用 Amazon Bedrock 拥有的KMS密钥或您自己的客户托管密钥。如果未指定客户托管密钥,则默认使用 Amazon Bedrock 拥有的密钥。

要使用客户托管密钥,必须将所需的IAM操作和资源添加到IAM服务角色的策略中。您还必须添加所需的 AWS KMS 关键策略元素。

您还需要创建一个可以与您的客户托管密钥进行交互的策略。这是在单独的 AWS KMS 密钥策略中指定的。

Amazon Bedrock 使用以下内容IAM和 AWS KMS 权限来使用您的密 AWS KMS 钥来解密您的文件并对其进行访问。它将这些文件保存到由 Amazon Bedrock 管理的 Amazon S3 内部位置,并使用以下权限对其进行加密。

IAM政策要求

与您用来向 Amazon Bedrock 提出请求的IAM角色相关的IAM策略必须包含以下元素。要了解有关管理 AWS KMS 密钥的更多信息,请参阅将IAM策略与一起使用 AWS Key Management Service

Amazon Bedrock 中的模型评估工作使用 AWS 自有密钥。这些KMS密钥归亚马逊 Bedrock 所有。要了解有关 AWS 自有密钥的更多信息,请参阅AWS Key Management Service 开发者指南中的AWS 自有密钥

必需的IAM策略元素
  • kms:Decrypt— 对于您使用 AWS Key Management Service 密钥加密的文件,请向 Amazon Bedrock 提供访问和解密这些文件的权限。

  • kms:GenerateDataKey— 控制使用 AWS Key Management Service 密钥生成数据密钥的权限。Amazon Bedrock 使用GenerateDataKey它为评估任务存储的临时数据进行加密。

  • kms:DescribeKey— 提供有关KMS密钥的详细信息。

  • kms:ViaService— 条件密钥将密KMS钥的使用限制为来自指定 AWS 服务的请求。您必须将 Amazon S3 指定为服务,因为 Amazon Bedrock 将您的数据的临时副本存储在其拥有的 Amazon S3 位置。

以下是仅包含所需 AWS KMS IAM操作和资源的IAM策略示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CustomKMSKeyProvidedToBedrock", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:{{region}}:{{accountId}}:key/[[keyId]]" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.{{region}}.amazonaws.com" } } }, { "Sid": "CustomKMSDescribeKeyProvidedToBedrock", "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:{{region}}:{{accountId}}:key/[[keyId]]" ] } ] }

AWS KMS 关键政策要求

每个 AWS KMS 密钥必须只有一个密钥策略。密钥策略中的声明决定谁有权使用 AWS KMS 密钥以及他们如何使用密钥。您也可以使用IAM策略和授权来控制对 AWS KMS 密钥的访问权限,但每个 AWS KMS 密钥都必须有密钥策略。

Amazon Bedrock 中必需的 AWS KMS 关键政策要素
  • kms:Decrypt— 对于您使用 AWS Key Management Service 密钥加密的文件,请向 Amazon Bedrock 提供访问和解密这些文件的权限。

  • kms:GenerateDataKey— 控制使用 AWS Key Management Service 密钥生成数据密钥的权限。Amazon Bedrock 使用GenerateDataKey它为评估任务存储的临时数据进行加密。

  • kms:DescribeKey— 提供有关KMS密钥的详细信息。

您必须将以下语句添加到现有的 AWS KMS 密钥策略中。它为 Amazon Bedrock 提供了使用您指定的将您的数据临时存储在 Amazon Bedrock 服务存储桶中的权限。 AWS KMS

{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:evaluationJobArn": "arn:aws:bedrock:{{region}}:{{accountId}}:evaluation-job/*", "aws:SourceArn": "arn:aws:bedrock:{{region}}:{{accountId}}:evaluation-job/*" } } }

以下是完整 AWS KMS 策略的示例。

{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "EnableIAMUserPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{{CustomerAccountId}}:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:evaluationJobArn": "arn:aws:bedrock:{{region}}:{{accountId}}:evaluation-job/*", "aws:SourceArn": "arn:aws:bedrock:{{region}}:{{accountId}}:evaluation-job/*" } } } ] }