本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
处理敏感数据
通常,敏感数据包含个人身份信息 (PII) 或出于合规或法律原因必须加以保护的机密信息。如果只需要在行或列级别进行加密,我们建议您使用 landing zone 层。这是部分敏感数据。
但是,如果整个数据集被认为是敏感的,我们建议使用单独的亚马逊简单存储服务 (Amazon S3) Service 存储桶来存储数据。这是高度敏感的数据。每个数据层都必须使用这些单独的 Amazon S3 存储桶,并且存储桶的名称中应包含 “敏感”。
我们建议您使用客户端加密使用 AWS Key Management Service (AWS KMS) 加密敏感存储桶。您还必须使用客户端加密来加密转换数据的 AWS Glue 作业。 Client-side 应在这些存储桶和数据处理管道角色(例如 AWS Glue 任务的 IAM 角色)上配置加密。这些角色必须具有相应的权限才能使用配置的 KMS 密钥以及读取和写入存储桶。
使用 landing zone 屏蔽敏感数据
您可以对部分敏感的数据集使用 landing zone 图层(例如,如果只需要在行或列级别进行加密)。这些数据会被提取到着陆区的 Amazon S3 存储桶中,然后被屏蔽。数据被屏蔽后,会将其提取到原始层的 Amazon S3 存储桶中。此存储桶使用 Amazon S3 托管密钥 (SSE-S3) 通过服务器端加密进行加密。如果需要,可以在对象级别为数据添加标签。
任何已经屏蔽的数据都可以绕过着陆区,直接导入到原始层的 Amazon S3 存储桶中。对于部分敏感的数据集,阶段和分析层有两个访问级别;一个级别对所有数据具有完全访问权限,另一个级别只能访问非敏感行和列。
下图显示了一个数据湖,其中部分敏感的数据集使用着陆区来掩盖敏感数据,而高度敏感的数据集则使用单独的加密的 Amazon S3 存储桶。使用限制性的 IAM 和存储桶策略隔离着陆区,加密的存储桶使用客户端加密。 AWS KMS
下图显示了如下工作流:
-
Highly-sensitive 数据将发送到原始数据层中加密的 Amazon S3 存储桶。
-
AWS Glue 任务会验证数据并将其转换为可供消费的格式,然后将文件放入舞台层的加密 Amazon S3 存储桶中。
-
AWS Glue 任务根据业务需求聚合数据,并将数据放入分析层的加密 Amazon S3 存储桶中。
-
Partially-sensitive 数据被发送到 landing zone 存储桶。
-
敏感行和列会被屏蔽,然后将数据发送到原始层中的 Amazon S3 存储桶。
-
Non-sensitive 数据直接发送到原始层中的 Amazon S3 存储桶。
-
AWS Glue 任务会验证数据并将其转换为可供消费的格式,然后将文件放入舞台层的 Amazon S3 存储桶中。
-
AWS Glue 任务根据贵组织的要求汇总数据,并将数据放入分析层的 Amazon S3 存储桶中。