本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 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操作:
-
kms: CreateGrant — 向客户托管密钥添加授权。授予对指定KMS密钥的控制权限,从而允许授予 Amazon Bedrock Studio 所需的操作权限。有关使用授权的更多信息,请参阅 AWS 密钥管理服务开发人员指南。
-
kms: DescribeKey — 提供客户托管的密钥详细信息,以允许 Amazon Bedrock Studio 验证密钥。
-
kms: GenerateDataKey — 返回一个唯一的对称数据密钥以供外部使用。 AWS KMS
-
kms: decrypt — 解密由密钥加密的密文。KMS
以下是您可以为 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 密钥管理服务开发人员指南。