选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

模型自定义作业和构件的加密

聚焦模式
模型自定义作业和构件的加密 - Amazon Bedrock

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

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

Amazon Bedrock 使用您的训练数据和CreateModelCustomizationJob操作或控制台来创建自定义模型,该模型是 Amazon Bedrock 基础模型的微调版本。您的自定义模型由管理和存储 AWS。

Amazon Bedrock 仅使用您提供的微调数据对 Amazon Bedrock 模型进行微调。Amazon Bedrock 不会将微调数据用于任何其他用途。您的训练数据不会用于训练基地 Titan 模型或分发给第三方。其他使用数据,例如使用时间戳、登录的账户IDs以及服务记录的其他信息,也不会用于训练模型。

微调作业完成后,您为进行微调而提供的训练或验证数据都不会存储在 Amazon Bedrock 中。

请注意,经过微调的模型可以在生成完成时重放部分微调数据。如果您的应用程序不应以任何形式公开微调数据,那么您应首先从训练数据中筛选掉机密数据。如果您已经错误地使用机密数据创建了自定义模型,则可以删除该自定义模型,从训练数据中筛选掉机密信息,然后创建一个新模型。

要加密自定义模型(包括复制的模型),Amazon Bedrock 为您提供了两个选项:

  1. AWS 拥有的密钥— 默认情况下,Amazon Bedrock 使用加密自定义模型。 AWS 拥有的密钥您无法查看、管理 AWS 拥有的密钥、使用或审核其使用情况。但是您无需执行任何工作或更改任何计划即可保护用于加密数据的密钥。有关更多信息,请参阅 AWS Key Management Service 开发人员指南中的 AWS 拥有的密钥

  2. 客户托管密钥 – 您可以选择使用自行管理的客户自主管理型密钥加密自定义模型。有关更多信息 AWS KMS keys,请参阅《AWS Key Management Service 开发人员指南》中的客户托管密钥

注意

Amazon Bedrock 自动启用静态加密 AWS 拥有的密钥 ,不收取任何费用。如果您使用客户管理的密钥,则需要 AWS KMS 付费。有关定价的更多信息,请参阅 AWS Key Management Service 定价

有关的更多信息 AWS KMS,请参阅《AWS Key Management Service 开发人员指南》

Amazon Bedrock 如何使用补助金 AWS KMS

如果您指定客户托管密钥来加密自定义模型以进行模型自定义或模型复制任务,Amazon Bedrock 会通过向发送CreateGrant请求来 AWS KMS代表您创建与该自定义模型关联的主要KMS授权。此授权允许 Amazon Bedrock 访问和使用您的客户自主管理型密钥。中的赠款 AWS KMS 用于让 Amazon Bedrock 访问客户账户中的KMS密钥。

Amazon Bedrock 需要主授权,才能将客户自主管理型密钥用于以下内部操作:

  • 向发送DescribeKey请求, AWS KMS 以验证您在创建任务时输入的对称客户托管KMS密钥 ID 是否有效。

  • 向发送GenerateDataKey解密请求, AWS KMS 以生成由您的客户托管密钥加密的数据密钥并解密加密的数据密钥,以便它们可用于加密模型工件。

  • 向发送CreateGrant请求,使用上述操作的子集(DescribeKey、、Decrypt)创建限定范围的次要授权GenerateDataKey,用于异步执行模型自定义、模型复制或预配置吞吐量创建。AWS KMS

  • Amazon Bedrock 在创建补助金时指定了退休委托人,因此该服务可以发送请求。RetireGrant

您拥有对客户托管 AWS KMS 密钥的完全访问权限。您可以按照 AWS Key Management Service 开发人员指南中的停用和撤销授权步骤撤销授权,也可以通过修改密钥政策随时删除服务对您的客户自主管理型密钥的访问权限。这样一来,Amazon Bedrock 将无法访问由您的密钥加密的自定义模型。

自定义模型的主授权和二级授权的生命周期

  • 主授权的使用期限较长,只要相关的自定义模型仍在使用,它就会一直处于有效状态。删除自定义模型后,相应的主授权将自动停用。

  • 二级授权的使用期限较短。一旦 Amazon Bedrock 代表客户执行的操作完成,它们就会自动停用。例如,模型复制任务完成后,允许 Amazon Bedrock 对复制的自定义模型进行加密的二级授权将立即停用。

了解如何创建客户自主管理型密钥以及如何为其附加密钥政策

要使用您创建和管理的密钥对 AWS 资源进行加密,请执行以下常规步骤:

  1. (先决条件)确保您的IAM角色拥有CreateKey操作权限。

  2. 按照创建密钥中的步骤,使用 AWS KMS 控制台或CreateKey操作创建客户托管密钥。

  3. 创建密钥时会返回密钥的 Arn,您可以将其用于需要使用密钥的操作(例如,提交模型自定义作业运行模型推理时)。

  4. 创建密钥政策并为其附加所需权限。要创建密钥策略,请按照《 AWS Key Management Service 开发人员指南》中创建密钥策略中的步骤进行操作。

自定义模型和复制模型的权限和密钥政策

创建KMS密钥后,您可以为其附加密钥策略。密钥政策是基于资源的政策,您可以将其附加到客户自主管理型密钥上,用于控制对密钥的访问权限。每个客户托管式密钥必须只有一个密钥策略,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥策略。您可以随时修改密钥政策,但在更改在整个 AWS KMS中可用之前可能会出现短暂的延迟。有关更多信息,请参阅https://docs.aws.amazon.com/kms/latest/developerguide/《AWS Key Management Service 开发人员指南》中的管理对客户托管密钥的访问

以下KMS操作用于加密自定义模型和复制模型的密钥:

  1. kms: CreateGrant — 允许 Amazon Bedrock 服务委托人通过授权操作访问指定KMS密钥,从而为客户托管密钥创建授权。有关授权的更多信息,请参阅 AWS Key Management Service 开发人员指南中的 Grants in AWS KMS

    注意

    Amazon Bedrock 还设置了停用主体,并将在不再需要授权后自动停用授权。

  2. kms: DescribeKey — 提供客户托管的密钥详细信息以允许 Amazon Bedrock 验证密钥。

  3. kms: GenerateDataKey — 提供客户托管的密钥详细信息以允许 Amazon Bedrock 验证用户访问权限。Amazon Bedrock 会将生成的加密文字与自定义模型一起存储,用作对自定义模型用户的额外验证检查。

  4. kms: decrypt — 解密存储的密文以验证角色是否可以正确访问加密自定义模型的密钥。KMS

作为最佳安全实践,我们建议您添加 k ms: ViaService 条件密钥,以限制对 Amazon Bedrock 服务的访问密钥。

虽然一个密钥只能附加一个密钥政策,但您可以通过在政策的 Statement 字段的列表中添加语句,将多个语句附加到密钥政策。

以下语句与加密自定义模型和复制模型有关:

要使用您的客户自主管理型密钥加密自定义模型或复制的模型,请在密钥政策中包含以下语句,以允许加密模型。在 Principal 字段中,将您要允许加密和解密密钥的账户添加到 AWS 子字段映射的列表中。如果您使用kms:ViaService条件键,则可以为每个区域添加一行,或者使用*代替${region}来允许所有支持 Amazon Bedrock 的区域。

{ "Sid": "PermissionsEncryptDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

要使用您的客户自主管理型密钥加密自定义模型或复制的模型,请在密钥政策中包含以下语句,以允许加密模型。在 Principal 字段中,将您要允许加密和解密密钥的账户添加到 AWS 子字段映射的列表中。如果您使用kms:ViaService条件键,则可以为每个区域添加一行,或者使用*代替${region}来允许所有支持 Amazon Bedrock 的区域。

{ "Sid": "PermissionsEncryptDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

要允许访问已使用密钥加密的模型,请在KMS密钥策略中包含以下语句以允许对密钥进行解密。在 Principal 字段中,将您要允许解密密钥的账户添加到 AWS 子字段映射的列表中。如果您使用kms:ViaService条件键,则可以为每个区域添加一行,或者使用*代替${region}来允许所有支持 Amazon Bedrock 的区域。

{ "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

要允许访问已使用密钥加密的模型,请在KMS密钥策略中包含以下语句以允许对密钥进行解密。在 Principal 字段中,将您要允许解密密钥的账户添加到 AWS 子字段映射的列表中。如果您使用kms:ViaService条件键,则可以为每个区域添加一行,或者使用*代替${region}来允许所有支持 Amazon Bedrock 的区域。

{ "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

要了解您需要创建的密钥政策,请展开与您的使用案例相对应的部分:

如果您计划对使用密KMS钥自定义的模型进行加密,则密钥的密钥策略将取决于您的用例。展开与您的使用案例相对应的部分:

如果用于调用自定义模型的角色与用于自定义模型的角色相同,则您只需使用 加密模型 中的语句。在以下策略模板的 Principal 字段中,将您要允许自定义和调用自定义模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用自定义模型的角色与用于自定义模型的角色不同,您需要同时使用 加密模型允许访问加密模型 中的语句。按如下方式修改以下策略模板中的语句:

  1. 第一条语句允许加密和解密密钥。在 Principal 字段中,将您要允许自定义自定义模型的账户添加到 AWS 子字段映射的列表中。

  2. 第二条语句仅允许对密钥进行解密。在 Principal 字段中,将您要仅允许调用自定义模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果您计划对使用密KMS钥自定义的模型进行加密,则密钥的密钥策略将取决于您的用例。展开与您的使用案例相对应的部分:

如果用于调用自定义模型的角色与用于自定义模型的角色相同,则您只需使用 加密模型 中的语句。在以下策略模板的 Principal 字段中,将您要允许自定义和调用自定义模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用自定义模型的角色与用于自定义模型的角色相同,则您只需使用 加密模型 中的语句。在以下策略模板的 Principal 字段中,将您要允许自定义和调用自定义模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用自定义模型的角色与用于自定义模型的角色不同,您需要同时使用 加密模型允许访问加密模型 中的语句。按如下方式修改以下策略模板中的语句:

  1. 第一条语句允许加密和解密密钥。在 Principal 字段中,将您要允许自定义自定义模型的账户添加到 AWS 子字段映射的列表中。

  2. 第二条语句仅允许对密钥进行解密。在 Principal 字段中,将您要仅允许调用自定义模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用自定义模型的角色与用于自定义模型的角色不同,您需要同时使用 加密模型允许访问加密模型 中的语句。按如下方式修改以下策略模板中的语句:

  1. 第一条语句允许加密和解密密钥。在 Principal 字段中,将您要允许自定义自定义模型的账户添加到 AWS 子字段映射的列表中。

  2. 第二条语句仅允许对密钥进行解密。在 Principal 字段中,将您要仅允许调用自定义模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

当您复制自己拥有或已共享给的模型时,您可能需要管理最多两个密钥政策:

如果您计划使用KMS密钥对复制的模型进行加密,则密钥的密钥策略将取决于您的用例。展开与您的使用案例相对应的部分:

如果用于调用复制模型的角色与用于创建模型复制的角色相同,则您只需使用 加密模型 中的语句。在以下策略模板的 Principal 字段中,将您要允许复制和调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用复制模型的角色与用于创建模型复制的角色不同,您需要同时使用 加密模型允许访问加密模型 中的语句。按如下方式修改以下策略模板中的语句:

  1. 第一条语句允许加密和解密密钥。在 Principal 字段中,将您要允许创建复制模型的账户添加到 AWS 子字段映射的列表中。

  2. 第二条语句仅允许对密钥进行解密。在 Principal 字段中,将您要仅允许调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果您要复制的源模型使用KMS密钥加密,请将来自的语句附加允许访问加密模型到加密源模型的密钥策略中。此语句允许模型复制角色对用于加密源模型的密钥进行解密。在以下策略模板的 Principal 字段中,将您要允许复制源模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

当您复制自己拥有或已共享给的模型时,您可能需要管理最多两个密钥政策:

如果您计划使用KMS密钥对复制的模型进行加密,则密钥的密钥策略将取决于您的用例。展开与您的使用案例相对应的部分:

如果用于调用复制模型的角色与用于创建模型复制的角色相同,则您只需使用 加密模型 中的语句。在以下策略模板的 Principal 字段中,将您要允许复制和调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用复制模型的角色与用于创建模型复制的角色不同,您需要同时使用 加密模型允许访问加密模型 中的语句。按如下方式修改以下策略模板中的语句:

  1. 第一条语句允许加密和解密密钥。在 Principal 字段中,将您要允许创建复制模型的账户添加到 AWS 子字段映射的列表中。

  2. 第二条语句仅允许对密钥进行解密。在 Principal 字段中,将您要仅允许调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果您计划使用KMS密钥对复制的模型进行加密,则密钥的密钥策略将取决于您的用例。展开与您的使用案例相对应的部分:

如果用于调用复制模型的角色与用于创建模型复制的角色相同,则您只需使用 加密模型 中的语句。在以下策略模板的 Principal 字段中,将您要允许复制和调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用复制模型的角色与用于创建模型复制的角色相同,则您只需使用 加密模型 中的语句。在以下策略模板的 Principal 字段中,将您要允许复制和调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用复制模型的角色与用于创建模型复制的角色不同,您需要同时使用 加密模型允许访问加密模型 中的语句。按如下方式修改以下策略模板中的语句:

  1. 第一条语句允许加密和解密密钥。在 Principal 字段中,将您要允许创建复制模型的账户添加到 AWS 子字段映射的列表中。

  2. 第二条语句仅允许对密钥进行解密。在 Principal 字段中,将您要仅允许调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果用于调用复制模型的角色与用于创建模型复制的角色不同,您需要同时使用 加密模型允许访问加密模型 中的语句。按如下方式修改以下策略模板中的语句:

  1. 第一条语句允许加密和解密密钥。在 Principal 字段中,将您要允许创建复制模型的账户添加到 AWS 子字段映射的列表中。

  2. 第二条语句仅允许对密钥进行解密。在 Principal 字段中,将您要仅允许调用复制模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果您要复制的源模型使用KMS密钥加密,请将来自的语句附加允许访问加密模型到加密源模型的密钥策略中。此语句允许模型复制角色对用于加密源模型的密钥进行解密。在以下策略模板的 Principal 字段中,将您要允许复制源模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

如果您要复制的源模型使用KMS密钥加密,请将来自的语句附加允许访问加密模型到加密源模型的密钥策略中。此语句允许模型复制角色对用于加密源模型的密钥进行解密。在以下策略模板的 Principal 字段中,将您要允许复制源模型的账户添加到 AWS 子字段映射的列表中。

{ "Version": "2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

监控 Amazon Bedrock 服务的加密密钥

当您将 AWS KMS 客户托管密钥与您的 Amazon Bedrock 资源一起使用时,您可以使用AWS CloudTrailAmazon CloudWatch Logs 来跟踪 Amaz on Bedrock 向其发送的请求。 AWS KMS

以下是 Amazon Bedrock CreateGrant为创建主拨款而调用的监控KMS操作的示例 AWS CloudTrail 事件:

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01", "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelCopy/SampleUser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/RoleForModelCopy", "accountId": "111122223333", "userName": "RoleForModelCopy" }, "attributes": { "creationDate": "2024-05-07T21:46:28Z", "mfaAuthenticated": "false" } }, "invokedBy": "bedrock.amazonaws.com" }, "eventTime": "2024-05-07T21:49:44Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "bedrock.amazonaws.com", "userAgent": "bedrock.amazonaws.com", "requestParameters": { "granteePrincipal": "bedrock.amazonaws.com", "retiringPrincipal": "bedrock.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "operations": [ "Decrypt", "CreateGrant", "GenerateDataKey", "DescribeKey" ] }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

训练、验证和输出数据的加密

当您使用 Amazon Bedrock 运行模型自定义作业时,需要将输入文件存储在您的 Amazon S3 存储桶中。任务完成后,Amazon Bedrock 会将输出指标文件存储在您在创建任务时指定的 S3 存储桶中,并将生成的自定义模型项目存储在由控制的 S3 存储桶中。 AWS

输出文件使用 S3 存储桶的加密配置进行加密。它们使用 SSE-S3 服务器端加密或-加密进行AWS KMS SSE加KMS密,具体取决于您设置 S3 存储桶的方式。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。