本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Bedrock 数据自动化 (BDA) 使用加密来保护您的静态数据。这包括服务存储的蓝图、项目和提取的见解。 BDA提供了两种加密数据的选项:
AWS 自有密钥-默认情况下,BDA使用 AWS 自有密钥加密您的数据。您无法查看、管理或使用 AWS 拥有的密钥,或者审计其使用情况。但是无需执行任何操作或更改任何计划即可保护用于加密数据的密钥。有关更多信息,请参阅密钥管理服务开发人员指南中的AWS 自有 AWS 密钥。
客户托管密钥-您可以选择使用您自己管理的客户托管密钥对数据进行加密。有关 AWS KMS 密钥的更多信息,请参阅《密钥管理服务开发人员指南》 AWS 中的客户托管密钥。 BDA不支持在 Amazon Bedrock 控制台中使用的客户托管密钥,仅用于API操作。
Amazon Bedrock 数据自动化自动启用使用 AWS 自有密钥进行静态加密,不收取任何费用。如果您使用客户管理的密钥,则需要 AWS KMS 付费。有关定价的更多信息,请参阅 AWS KMS 定价
如何在中 Amazon Bedrock 使用补助 AWS KMS
如果您在调用 invokeDataAutomation Async BDA 时指定了用于加密的客户托管密钥,则该服务会通过向发送 CreateGrant 请求来 AWS KMS代表您创建与您的资源关联的授权。此授权允许BDA访问和使用您的客户托管密钥。
BDA将授予的客户托管密钥用于以下内部操作:
DescribeKey — 向发送请求 AWS KMS 以验证您提供的对称客户托管 AWS KMS 密钥 ID 是否有效。
GenerateDataKey 和 Decrypt — 向发送请求 AWS KMS以生成由您的客户托管密钥加密的数据密钥并解密加密的数据密钥,以便它们可用于加密您的资源。
CreateGrant — 向发送请求, AWS KMS 使用上述操作的子集(DescribeKey、、 GenerateDataKey Decrypt)创建限定范围的授权,用于异步执行操作。
您拥有对客户托管 AWS KMS 密钥的完全访问权限。您可以按照 AWS KMS 开发者指南中的停用和撤销授权中的步骤撤消对授权的访问权限,也可以通过修改密钥策略随时删除该服务对您的客户托管密钥的访问权限。如果这样做,将BDA无法访问由您的密钥加密的资源。
创建客户托管密钥并附加密钥策略
要使用您创建和管理的密钥对BDA资源进行加密,请按照以下一般步骤操作:
Amazon Bedrock 数据自动化资源的权限和密钥策略
创建 AWS KMS 密钥后,您可以为其附加密钥策略。以下 AWS KMS 操作用于加密BDA资源的密钥:
-
kms:CreateGrant — 允许BDA服务通过授权操作访问指定密钥,从而为客户托管 AWS KMS 密钥创建授权,这是必需的 InvokeDataAutomationAsync。
-
kms:DescribeKey — 提供客户管理的密钥详细信息BDA以允许验证密钥。
-
kms:GenerateDataKey — 提供客户管理的密钥详细信息,BDA以便验证用户访问权限。
-
kms:解密 — 解密存储的密文以验证角色是否可以正确访问加密资源的密钥。 AWS KMS BDA
Amazon Bedrock 数据自动化的关键政策
要使用您的客户托管密钥加密BDA资源,请在密钥策略中加入以下声明,并${key-id}
用您的特定值替换${account-id}
${region}
、和。 :
{
"Version": "2012-10-17",
"Id": "KMS key policy for a key to encrypt data for BDA resource",
"Statement": [
{
"Sid": "Permissions for encryption of data for BDA resources",
"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"
]
}
}
}
]
}
IAM角色权限
用于BDA与之交互的IAM角色 AWS KMS 应具有以下权限,请${key-id}
用您的特定值替换${region}
${account-id}
、和:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt",
"kms:DescribeKey",
"kms:CreateGrant"
],
"Resource": "arn:aws:kms:${region}:${account-id}:key/${key-id}",
"Condition": {
"StringLike": {
"kms:ViaService": [
"bedrock.${region}.amazonaws.com"
]
}
}
}
}
监控您的加密密钥以实现 Amazon Bedrock 数据自动化
当您在 Amazon Bedrock 数据自动化资源中使用 AWS KMS 客户托管密钥时,您可以使用AWS CloudTrail或Amazon CloudWatch跟踪 Amazon Bedrock 数据自动化发送到的请求 AWS KMS。以下是用于监控 Amazon Bedrock 数据自动化CreateGrant为创建主授权而调用的 AWS KMS 操作 AWS CloudTrail 的事件示例:
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
"arn": "arn:aws:sts::111122223333:assumed-role/RoleForDataAutomation/SampleUser01",
"accountId": "111122223333",
"accessKeyId": "EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE",
"arn": "arn:aws:iam::111122223333:role/RoleForDataAutomation",
"accountId": "111122223333",
"userName": "RoleForDataAutomation"
},
"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",
"constraints": {
"encryptionContextSubset": {
"aws:bedrock:data-automation-customer-account-id": "000000000000"
}
},
"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"
}