亚马逊 Bedrock Studio 的加密 - Amazon Bedrock

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

亚马逊 Bedrock Studio 的加密

亚马逊 Bedrock Studio 处于亚马逊 Bedrock 的预览版,可能会发生变化。

默认情况下,静态数据加密有助于降低保护敏感数据的操作开销和复杂性。同时,它还支持构建符合严格加密合规性和监管要求的安全应用程序。

Amazon Bedrock Studio 使用默认 AWS拥有的密钥自动加密您的静态数据。您无法查看、管理或审核 AWS 自有密钥的使用情况。有关更多信息,请参阅AWS 自有密钥

虽然您无法禁用此加密层或选择其他加密类型,但您可以在创建 Amazon Bedrock Studio 域名时选择客户管理的密钥,从而为现有的 AWS 加密密钥添加第二层加密。Amazon Bedrock Studio 支持使用对称的客户托管密钥,您可以创建、 AWS 拥有和管理这些密钥,以便在现有自有加密的基础上添加第二层加密。由于您可以完全控制此加密层,因此可以在其中执行以下任务:

  • 制定和维护关键政策

  • 制定和维护IAM政策及补助金

  • 启用和禁用密钥策略

  • 轮换密钥加密材料

  • 添加标签

  • 创建密钥别名

  • 计划删除密钥

有关更多信息,请参阅客户管理的密钥

注意

Amazon Bedrock Studio 使用 AWS 自有密钥自动启用静态加密,从而免费保护客户数据。

AWS KMS使用客户管理的密钥需要付费。有关定价的更多信息,请参阅AWS 密钥管理服务定价

创建客户托管密钥

您可以使用管理控制台创建对称客户托管密钥,或者。 AWS AWS KMS APIs

要创建对称客户托管密钥,请按照《密钥管理服务开发人员指南》中创建对称客户托管 AWS 密钥的步骤进行操作。

密钥策略-密钥策略控制对客户托管密钥的访问权限。每个客户托管式密钥必须只有一个密钥政策,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥政策。有关更多信息,请参阅《密钥管理服务开发人员指南》中的管理客户托管密 AWS 钥的访问权限

注意

如果您使用客户托管密钥,请务必使用 AWS KMS 密钥EnableBedrock和值标记密钥true。有关更多信息,请参阅为密钥添加标签

要将您的客户托管密钥与您的 Amazon Bedrock Studio 资源一起使用,密钥政策中必须允许进行以下API操作:

以下是您可以为 Amazon Bedrock Studio 添加的政策声明示例。要使用该策略,请执行以下操作:

  • 将的\{FIXME:REGION\}实例替换为您正在使用的 AWS 地区\{FIXME:ACCOUNT_ID\}和您的 AWS 账户 ID。中的无效\字符JSON表示您需要在哪里进行更新。例如,"kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:\{FIXME:REGION\}:\{FIXME:ACCOUNT_ID\}:agent/*"会变成 "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:use-east-1:111122223333:agent/*"

  • 更改\{provisioning role name\}为将用于使用密钥的工作空间的置备角色的名称。

  • 更改\{Admin Role Name\}为将拥有密钥管理权限的IAM角色的名称。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "Enable IAM User Permissions Based on Tags", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyPair", "kms:GenerateDataKeyPairWithoutPlaintext", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt" ], "Resource": "\{FIXME:KMS_ARN\}", "Condition": { "StringEquals": { "aws:PrincipalTag/AmazonBedrockManaged": "true", "kms:CallerAccount" : "\{FIXME:ACCOUNT_ID\}" }, "StringLike": { "aws:PrincipalTag/AmazonDataZoneEnvironment": "*" } } }, { "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "\{FIXME:KMS_ARN\}", "Condition": { "StringLike": { "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:\{FIXME:REGION\}:\{FIXME:ACCOUNT_ID\}:agent/*" } } }, { "Sid": "Allows AOSS list keys", "Effect": "Allow", "Principal": { "Service": "aoss.amazonaws.com" }, "Action": "kms:ListKeys", "Resource": "*" }, { "Sid": "Allows AOSS to create grants", "Effect": "Allow", "Principal": { "Service": "aoss.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "\{FIXME:KMS_ARN\}", "Condition": { "StringEquals": { "kms:ViaService": "aoss.\{FIXME:REGION\}.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "Enable Decrypt, GenerateDataKey for DZ execution role", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::\{FIXME:ACCOUNT_ID\}:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "\{FIXME:KMS_ARN\}", "Condition": { "StringLike": { "kms:EncryptionContext:aws:datazone:domainId": "*" } } }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RetireGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:CallerAccount": "\{FIXME:ACCOUNT_ID\}" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "AllowPermissionForEncryptedGuardrailsOnProvisioningRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::\{FIXME:ACCOUNT_ID\}:role/\{provisioning role name\}" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:Encrypt" ], "Resource": "*" }, { "Sid": "Allow use of CMK to encrypt logs in their account", "Effect": "Allow", "Principal": { "Service": "logs.\{FIXME:REGION\}.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey", "kms:GenerateDataKeyPair", "kms:GenerateDataKeyPairWithoutPlaintext", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:\{FIXME:REGION\}:\{FIXME:ACCOUNT_ID\}:log-group:*" } } }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::\{FIXME:ACCOUNT_ID\}:role/\{Admin Role Name\}" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" } ] }

有关在策略中指定权限的更多信息,请参阅 AWS 密钥管理服务开发人员指南。

有关密钥访问疑难解答的更多信息,请参阅 AWS 密钥管理服务开发人员指南。