本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的数据保护AWS Entity Resolution 数据匹配服务
分AWS担责任模型
出于数据保护目的,我们建议您保护AWS 账户凭证并使用AWS IAM Identity Center或AWS Identity and Access Management(IAM) 设置个人用户。这样,每个用户只获得履行其工作职责所需的权限。还建议您通过以下方式保护数据:
-
对每个账户使用多重身份验证(MFA)。
-
用于 SSL/TLS 与AWS资源通信。我们要求使用 TLS 1.2,建议使用 TLS 1.3。
-
使用设置 API 和用户活动日志AWS CloudTrail。有关使用 CloudTrail 跟踪捕获AWS活动的信息,请参阅《AWS CloudTrail用户指南》中的使用跟 CloudTrail 踪。
-
使用AWS加密解决方案以及其中的所有默认安全控件AWS 服务。
-
使用高级托管安全服务(例如 Amazon Macie),它有助于发现和保护存储在 Amazon S3 中的敏感数据。
-
如果您在AWS通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块,请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息,请参阅《美国联邦信息处理标准(FIPS)第 140-3 版》https://aws.amazon.com/compliance/fips/
。
强烈建议您切勿将机密信息或敏感信息(如您客户的电子邮件地址)放入标签或自由格式文本字段(如名称字段)。这包括您使用控制台、API AWS Entity Resolution 数据匹配服务或以其他AWS 服务方式使用控制台AWS CLI、API 或时AWS SDKs。在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供 URL,强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。
静态数据加密AWS Entity Resolution 数据匹配服务
AWS Entity Resolution 数据匹配服务默认提供加密,以使用AWS自有的加密密钥保护敏感的静态客户数据。
AWS 拥有的密钥 — 默认AWS Entity Resolution 数据匹配服务使用这些密钥自动加密个人身份数据。您无法查看、管理或使用AWS自有密钥,也无法审核其使用情况。但是,您无需采取任何措施来保护加密数据的密钥。有关更多信息,请参阅《AWS Key Management Service开发人员指南》中的 AWS 拥有的密钥。
默认情况下,静态数据加密有助于降低保护敏感数据的操作开销和复杂性。同时,您可以使用它来构建符合严格加密合规性和监管要求的安全应用程序。
或者,您也可以在创建匹配的工作流程资源时提供客户托管的 KMS 密钥进行加密。
客户托管密钥-AWS Entity Resolution 数据匹配服务支持使用由您创建、拥有和管理的对称客户托管 KMS 密钥来加密您的敏感数据。由于您可以完全控制这层加密,因此可以执行以下任务:
-
制定和维护关键策略
-
建立和维护 IAM 策略和授权
-
启用和禁用密钥策略
-
轮换加密材料
-
添加标签
-
创建密钥别名
-
计划删除密钥
有关更多信息,请参阅《AWS Key Management Service开发人员指南》中的客户托管密钥。
有关更多信息AWS KMS,请参阅什么是 AWS Key Management Service?
密钥管理
如何在中AWS Entity Resolution 数据匹配服务使用补助AWS KMS
AWS Entity Resolution 数据匹配服务需要获得授权才能使用您的客户托管密钥。当您创建使用客户托管密钥加密的匹配工作流程时,AWS Entity Resolution 数据匹配服务会通过向发送CreateGrant请求来代表您创建授权AWS KMS。中的授权AWS KMS用于授予对客户账户中的 KMS 密钥的AWS Entity Resolution 数据匹配服务访问权限。AWS Entity Resolution 数据匹配服务需要获得授权才能使用您的客户托管密钥进行以下内部操作:
-
向发送GenerateDataKey请求AWS KMS以生成由您的客户托管密钥加密的数据密钥。
-
将 Decrypt 请求发送AWS KMS到以解密加密的数据密钥,以便它们可用于加密您的数据。
您可以随时撤销授予访问权限,或删除服务对客户托管密钥的访问权限。如果这样做,将AWS Entity Resolution 数据匹配服务无法访问由客户托管密钥加密的任何数据,这会影响依赖该数据的操作。例如,如果您通过授权删除了对密钥的服务访问权限,并尝试为使用客户密钥加密的匹配工作流程启动任务,则该操作将返回AccessDeniedException错误。
创建客户托管的密钥
您可以使用AWS 管理控制台、或,创建对称的客户托管密钥。AWS KMS APIs
创建对称的客户托管密钥
AWS Entity Resolution 数据匹配服务支持使用对称加密 KMS 密钥进行加密。按照《AWS Key Management Service开发人员指南》中创建对称的客户托管密钥的步骤进行操作。
关键政策声明
密钥政策控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥策略,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥策略。有关更多信息,请参阅《AWS Key Management Service开发人员指南》中的管理客户托管密钥的访问权限。
要将客户托管密钥AWS Entity Resolution 数据匹配服务用于您的资源,必须在密钥策略中允许以下 API 操作:
-
kms:DescribeKey— 提供密钥 ARN、创建日期(以及删除日期,如果适用)、密钥状态以及密钥材料的来源和到期日期(如果有)等信息。它包括可帮助您区分不同类型的 KMS 密钥的字段(例如KeySpec)。它还显示密钥的使用情况(加密、签名或生成和验证 MACs)以及 KMS 密钥支持的算法。AWS Entity Resolution 数据匹配服务验证是SYMMETRIC_DEFAULT和KeySpecKeyUsage是ENCRYPT_DECRYPT。 -
kms:CreateGrant:向客户托管密钥添加授权。授予对指定 KMS 密钥的控制访问权限,从而允许对授予操作AWS Entity Resolution 数据匹配服务所需的访问权限。有关使用授权的更多信息,请参阅《AWS Key Management Service开发人员指南》。
这AWS Entity Resolution 数据匹配服务允许执行以下操作:
-
调用
GenerateDataKey生成加密的数据密钥并将其存储,因为数据密钥不会立即用于加密。 -
调用
Decrypt使用存储的加密数据密钥访问加密数据。 -
设置停用主体,以允许服务
RetireGrant。
以下是您可以为其添加的策略声明示例AWS Entity Resolution 数据匹配服务:
{ "Sid" : "Allow access to principals authorized to use AWS Entity Resolution", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : ["kms:DescribeKey","kms:CreateGrant"], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "entityresolution.region.amazonaws.com", "kms:CallerAccount" : "111122223333" } } }
用户的权限
将 KMS 密钥配置为加密的默认密钥时,默认 KMS 密钥策略允许任何有权访问所需 KMS 操作的用户使用此 KMS 密钥来加密或解密资源。要使用客户托管的 KMS 密钥加密,您必须向用户授予调用以下操作的权限:
-
kms:CreateGrant -
kms:Decrypt -
kms:DescribeKey -
kms:GenerateDataKey
在CreateMatchingWorkflow请求期间,AWS Entity Resolution 数据匹配服务将代表您AWS KMS向发送DescribeKey和CreateGrant请求。这将要求使用客户托管的 KMS 密钥CreateMatchingWorkflow提出请求的 IAM 实体拥有 KMS 密钥策略的kms:DescribeKey权限。
在 an CreateIdMappingWorkflowd StartIdMappingJob请求期间,AWS Entity Resolution 数据匹配服务将AWS KMS代表您向发送DescribeKey和CreateGrant请求。这将要求使用客户托管的 KMS 密钥进行CreateIdMappingWorkflow和StartIdMappingJob请求的 IAM 实体拥有 KMS 密钥策略的kms:DescribeKey权限。提供商将能够访问客户托管的密钥来解密AWS Entity Resolution 数据匹配服务 Amazon S3 存储桶中的数据。
以下是您可以添加的策略声明示例,供提供商解密AWS Entity Resolution 数据匹配服务 Amazon S3 存储桶中的数据:
将每个 <user input placeholder> 替换为您自己的信息。
<KMSKeyARN> |
AWS KMS亚马逊资源名称。 |
同样,调用 StartMatchingJobAPI 的 IAM 实体必须拥有匹配工作流程中提供的客户托管 KMS 密钥kms:Decrypt和kms:GenerateDataKey权限。
有关在策略中指定权限的更多信息,请参阅《AWS Key Management Service开发人员指南》。
有关密钥访问疑难解答的更多信息,请参阅AWS Key Management Service开发者指南。
为指定客户管理的密钥AWS Entity Resolution 数据匹配服务
您可以指定客户托管密钥作为以下资源的第二层加密:
匹配工作流程-创建匹配的工作流程资源时,可以通过输入 a 来指定数据密钥 KMSArn,该AWS Entity Resolution 数据匹配服务密钥用于加密资源存储的可识别个人数据。
KMSArn— 输入密钥 ARN,这是AWS KMS客户托管密钥的密钥标识符。
如果您要在两个资源之间创建或运行 ID 映射工作流程,则可以将客户托管密钥指定为以下资源的第二层加密AWS 账户:
ID 映射工作流程或启动 ID 映射工作流程-创建 ID 映射工作流资源或启动 ID 映射工作流程作业时,您可以通过输入 a 来指定数据密钥 KMSArn,该AWS Entity Resolution 数据匹配服务密钥用于加密资源存储的可识别个人数据。
KMSArn— 输入密钥 ARN,这是AWS KMS客户托管密钥的密钥标识符。
监控您的AWS Entity Resolution 数据匹配服务服务加密密钥
当您在AWS Entity Resolution 数据匹配服务服务资源中使用AWS KMS客户托管密钥时,您可以使用 AWS CloudTrail 或 A mazon CloudWatch Logs 来跟踪AWS Entity Resolution 数据匹配服务发送到的请求AWS KMS。
以下示例是CreateGrant、GenerateDataKeyDecrypt、和监控DescribeKey为访问由AWS Entity Resolution 数据匹配服务您的客户托管密钥加密的数据而调用的AWS KMS操作AWS CloudTrail的事件:
CreateGrant
当您使用AWS KMS客户托管密钥加密匹配的工作流程资源时,AWS Entity Resolution 数据匹配服务会代表您发送CreateGrant请求以访问您中的 KMS 密钥AWS 账户。AWS Entity Resolution 数据匹配服务创建的授权特定于与AWS KMS客户托管密钥关联的资源。此外,在您删除资源时,AWS Entity Resolution 数据匹配服务使用RetireGrant操作来移除授权。
以下示例事件记录了 CreateGrant 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "entityresolution.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "retiringPrincipal": "entityresolution.region.amazonaws.com", "operations": [ "GenerateDataKey", "Decrypt", ], "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "granteePrincipal": "entityresolution.region.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2: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-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
DescribeKey
AWS Entity Resolution 数据匹配服务使用该DescribeKey操作来验证与您的匹配资源关联的AWS KMS客户托管密钥是否存在于账户和区域中。
以下示例事件记录了 DescribeKey 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "entityresolution.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
GenerateDataKey
当您为匹配的工作流程资源启用AWS KMS客户托管密钥时,AWS Entity Resolution 数据匹配服务会通过亚马逊简单存储服务 (Amazon S3) Simple Service 向AWS KMS其发送GenerateDataKey请求,指定AWS KMS该资源的客户托管密钥。
以下示例事件记录了 GenerateDataKey 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "57f5dbee-16da-413e-979f-2c4c6663475e" }
Decrypt
当您为匹配的工作流程资源启用AWS KMS客户托管密钥时,AWS Entity Resolution 数据匹配服务会通过亚马逊简单存储服务 (Amazon S3) Simple Service 向AWS KMS其发送Decrypt请求,指定AWS KMS该资源的客户托管密钥。
以下示例事件记录了 Decrypt 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2021-04-22T17:10:51Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "dc129381-1d94-49bd-b522-f56a3482d088" }
注意事项
AWS Entity Resolution 数据匹配服务不支持使用新的客户托管 KMS 密钥更新匹配的工作流程。在这种情况下,您可以使用客户托管的 KMS 密钥创建新的工作流程。
了解详情
以下资源提供有关静态数据加密的更多信息。
有关 AWS Key Management Service 基本概念的更多信息,请参阅AWS Key Management Service开发人员指南。
有关 AWS Key Management Service 安全最佳实践的更多信息,请参阅AWS Key Management Service开发人员指南。