本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对模型自定义任务和构件进行加密
默认情况下,Amazon Bedrock 使用 AWS 托管密钥对模型自定义任务中的以下模型工件进行加密。
-
模型定制任务
-
模型自定义作业的输出文件(训练和验证指标)
-
生成的自定义模型
或者,您可以通过创建客户托管密钥来加密模型工件。有关更多信息 AWS KMS keys,请参阅《AWS Key Management Service 开发人员指南》中的客户托管密钥。要使用客户管理的密钥,请执行以下步骤。
-
使用创建客户托管密钥 AWS Key Management Service。
-
附加基于资源的策略,允许指定角色创建或使用自定义模型。
创建客户托管密钥
首先,请确保您拥有CreateKey
权限。然后按照创建密钥中的步骤在 AWS KMS 控制台或 CreateKeyAPI 操作中创建客户托管密钥。确保创建对称加密密钥。
创建密钥时会返回密钥Arn
的值,您可以在提交模型自定义任务customModelKmsKeyId时将其用作密钥。
创建密钥策略并将其附加到客户托管密钥
按照创建密钥策略中的步骤,将以下基于资源的策略附加到 KMS 密钥。该策略包含两个声明。
-
角色对模型自定义构件进行加密的权限。将自定义模型构建者角色的 ARN 添加到该
Principal
字段。 -
角色在推理中使用自定义模型的权限。将自定义模型用户角色的 ARN 添加到该
Principal
字段。
{ "Version": "2012-10-17", "Id": "KMS Key Policy", "Statement": [ { "Sid": "
Permissions for custom model builders
", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id
:user/role
" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*" }, { "Sid": "Permissions for custom model users
", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id
:user/role
" }, "Action": "kms:Decrypt", "Resource": "*" } }
对训练、验证和输出数据进行加密
当您使用 Amazon Bedrock 运行模型自定义任务时,您将输入(训练/验证数据)文件存储在您的 Amazon S3 存储桶中。任务完成后,Amazon Bedrock 会将输出指标文件存储在您在创建任务时指定的 S3 存储桶中,并将生成的自定义模型项目存储在由控制的 Amazon S3 存储桶中。 AWS
默认情况下,输入和输出文件使用 Amazon S3 SSE-S3 服务器端加密进行加密,AWS 托管式密钥使用。此类密钥由代表您创建、管理和使用 AWS。
相反,您可以选择使用您自己创建、拥有和管理的客户托管密钥来加密这些文件。请参阅前面的章节和以下链接,了解如何创建客户托管密钥和密钥策略。
-
要了解有关 Amazon S3 SSE-S3 服务器端加密的更多信息,请参阅对亚马逊 S3 托管密钥使用服务器端加密 (SSE-S3)
-
要详细了解用于加密 S3 对象的客户托管密钥,请参阅使用 KMS 密钥的服务器端加密 (SSE- AWS KMS)