个人数据 OU – PD 应用程序账户 - AWS 规范性指导

个人数据 OU – PD 应用程序账户

调查

我们很乐意听取您的意见。请通过简短的调查提供有关 AWS PRA 的反馈。

个人数据(PD)应用程序账户是您的组织用于托管收集和处理个人数据的相关服务的平台。具体而言,您可以将您所定义的个人数据存储到此账户中。AWS PRA 通过多层无服务器的 Web 架构展示了多种隐私配置示例。跨 AWS 登录区进行工作负载操作时,隐私配置不应被视为“一刀切的”解决方案。例如,您的目标可能是要理解其背后的原理、这些原理如何增强隐私保护,以及您的组织如何针对特定的使用案例和架构应用解决方案。

对于您的组织中收集、存储或处理个人数据的 AWS 账户,您可以使用 AWS Organizations 和 AWS Control Tower 部署基础且可重复的护栏。为这些账户设立一个专门的组织单元(OU)至关重要。例如,您可能只想对部分账户应用数据驻留护栏,而这些账户的数据驻留正是其核心设计考虑因素。对于许多组织而言,这些账户负责存储和处理个人数据。

您的组织或许可以考虑设立一个专门的数据账户,这样您就可以在此存储个人数据集的权威来源信息了。权威数据来源是指您存储主要数据版本的地点,该版本通常被认为是数据中最可靠和最准确的版本。例如,您可以将数据从权威数据来源复制到其他位置,比如 PD 应用程序账户中用于存储训练数据、部分客户数据以及经过编辑的数据的 Amazon Simple Storage Service(Amazon S3)存储桶。通过采用这种多账户方式,将数据账户中完整且明确的个人数据与 PD 应用程序账户中下游使用者工作负载分离开来,这样在发生对您账户的未经授权访问时,就能减少受影响的范围。

下图说明了在 PD 应用程序和数据账户中配置的 AWS 安全和隐私服务。

在个人数据 OU 的个人数据应用程序和数据账户中部署的 AWS 服务。

Amazon Athena

您可以考虑采用数据查询限制来实现您的隐私保护目标。Amazon Athena 是一种交互式查询服务,可帮助您使用标准 SQL 直接在 Amazon S3 中分析数据。您无需将数据加载到 Athena 中;它可以直接处理存储在 S3 存储桶中的数据。

Athena 的一个常见使用案例是为数据分析团队提供定制化且经过清洗的数据集。如果数据集包含个人数据,您可以对其中那些对数据分析团队价值不大的个人数据列进行遮蔽处理,从而对数据集进行清洗。有关更多信息,请参阅使用 Amazon Athena 和 AWS Lake Formation 对数据湖中的数据进行匿名化和管理(AWS 博客文章)。

如果您的数据转换方法需要超出 Athena 所支持函数之外的更多灵活性,您可以定义自定义函数,这些函数被称为用户定义函数(UDF)。您可以在提交到 Athena 的 SQL 查询中调用 UDF,然后它们就会在 AWS Lambda 上运行。您可以在 SELECTFILTER SQL 查询中使用 UDF,也可以在同一个查询中调用多个 UDF。为了保护隐私,您可以创建 UDF,以实现特定类型的数据掩蔽操作,例如仅显示某一列中每个值的最后四位数字。

Amazon Bedrock

Amazon Bedrock 是一项完全托管的服务,它能让用户访问来自诸如 AI21 Labs、Anthropic、Meta、Mistral AI 和 Amazon 等领先人工智能公司的基础模型。它可以帮助组织构建和扩展生成式人工智能应用程序。无论采用什么平台,在使用生成式人工智能时,组织都可能面临隐私风险,包括个人数据可能被泄露、未经授权的数据访问以及其他违反合规规定的情况。

Amazon Bedrock 护栏旨在通过在 Amazon Bedrock 的生成式人工智能工作负载中实施安全和合规的最佳实践,来帮助降低这些风险。人工智能资源的部署和使用可能并不总是符合一个组织的隐私和合规要求。在使用生成式人工智能模型时,组织可能会面临维护数据隐私方面的困难,因为这些模型有可能会记住或重现敏感信息。Amazon Bedrock 护栏通过评估用户输入和模型响应来帮助保护隐私。总体而言,如果输入数据包含个人数据,则模型的输出中就可能存在这些信息被泄露的风险。

Amazon Bedrock 护栏提供了相关机制,用于实施数据保护策略并帮助防止未经授权的数据泄露。它提供内容筛选功能,用于检测并阻止输入中的个人数据,设置主题限制以防止访问不适当或危险的内容,并使用词过滤功能来屏蔽或编辑模型提示和回复中的敏感词汇。这些功能有助于防止可能导致侵犯隐私的事件,比如出现带有偏见的响应,或者客户信任丧失。这些功能能够帮助您确保您的人工智能模型不会无意中处理或泄露个人数据。Amazon Bedrock Guardrails 还支持对 Amazon Bedrock 之外的输入和响应进行评估。有关更多信息,请参阅使用 Amazon Bedrock 护栏实施与模型无关的安全措施(AWS 博客文章)。

借助 Amazon Bedrock 护栏,您可以使用上下文一致性检查来评估事实依据和响应的相关性,从而限制模型产生幻觉的风险。例如,部署一个面向客户的生成式人工智能应用程序,该应用程序在检索增强生成(RAG)应用程序中使用了第三方数据来源。上下文一致性检查可用于将模型的响应与这些数据来源进行比对,并筛选出不准确的响应。在 AWS PRA 的背景下,您可以在各个工作负载账户中实施 Amazon Bedrock 护栏,该措施会根据每个工作负载的要求实施特定的隐私护栏。

AWS Clean Rooms

随着各组织寻求通过分析相互交叉或重叠的敏感数据集来实现彼此间的协作,如何维护这些共享数据的安全性和隐私性便成为了问题。AWS Clean Rooms 能帮助您部署数据洁净室,这是一种安全且中立的环境,在这里,各组织可以对合并后的数据集进行分析,而无需共享原始数据本身。它还能够通过提供对 AWS 上其他组织的访问权限来生成独特的见解,且无需将数据从自己的账户中迁移或复制出去,同时也不会泄露底层数据集。所有数据都保留在源位置。内置分析规则会对输出进行限制,并对 SQL 查询进行约束。所有查询都会被记录下来,协作成员可以查看他们的数据是如何被查询的。

您可以创建 AWS Clean Rooms 协作并邀请其他 AWS 客户成为该协作的成员。您可以授予其中一位成员查询成员数据集的权限,并且您可以选择其他成员来接收这些查询的结果。如果有多名成员需要查询这些数据集,您可以使用相同的数据来源创建更多协作,并创建不同的成员设置。每位成员都可以筛选与协作成员共享的数据,并且您可以使用自定义分析规则来设置对他们提供给协作方的数据进行分析的限制条件。

除了对提供给协作的数据以及这些数据可被其他成员使用的方式进行限制之外,AWS Clean Rooms 还提供以下有助于保护隐私的功能:

  • 差别隐私是一种数学技术,通过在数据中加入适量精心调整的噪声来增强用户隐私保护。这有助于降低在数据集中对单个用户进行重新识别的风险,同时又不会掩盖相关值。使用 AWS Clean Rooms 差别隐私不需要差别隐私专业知识。

  • AWS Clean Rooms 机器学习使双方或多方识别其数据中的相似用户,而无需彼此共享数据。这降低了成员身份推断攻击的风险,在这种攻击中,协作方的某位成员能够识别出另一方成员数据集中的个体信息。通过创建相似模型并生成相似数据段,AWS Clean Rooms 机器学习能够帮助您在不暴露原始数据的情况下对数据集进行比较。这并不要求任何一方具备机器学习方面的专业知识,也不需要他们从事任何超出 AWS Clean Rooms范围的工作。您保留对经过训练的模型的完全控制权和所有权。

  • 洁净室密态计算(C3R)可与分析规则一起使用,以从敏感数据中得出见解。它通过加密技术对协作的任何一方所能获取的信息进行了限制。通过使用 C3R 加密客户端,数据在传输至 AWS Clean Rooms 之前会在客户端进行加密处理。由于数据表在上传至 Amazon S3 之前会使用客户端加密工具进行加密处理,所以数据一直处于加密状态,并在处理过程中得以持续保留。

在 AWS PRA 中,我们建议您在数据账户中创建 AWS Clean Rooms 协作。您可以用它们来与第三方共享加密后的客户数据。仅在所提供的数据集存在重叠的情况下,才使用它们。有关如何确定重叠的更多信息,请参阅 AWS Clean Rooms 文档中的列表分析规则

Amazon CloudWatch Logs

Amazon CloudWatch Logs 可帮助您集中管理来自所有系统、应用程序和 AWS 服务 的日志,以便您对其进行监控和安全存档。在 CloudWatch Logs 中,您可以对新的或现有日志组使用数据保护策略,以帮助最大程度降低个人数据泄露的风险。数据保护策略可以检测日志中的敏感数据,例如个人数据。数据保护策略能够在用户通过 AWS 管理控制台 访问日志时对这些数据进行掩蔽处理。当用户需要直接访问个人数据时,根据您工作负载的整体目的说明,您可以为这些用户分配 logs:Unmask 权限。您还可以创建一个适用于整个账户的数据保护策略,并在您所在组织的所有账户中一致地应用此策略。这会默认为 CloudWatch Logs 中的所有当前及未来的日志组配置掩码功能。我们还建议您启用审计报告功能,并将其发送至其他日志组、Amazon S3 存储桶或 Amazon Data Firehose。这些报告包含每个日志组中数据保护调查发现的详细记录。

Amazon CodeGuru Reviewer

出于隐私和安全方面的考虑,对于众多组织而言,确保在部署期间及部署后阶段都能持续保持合规性至关重要。AWSPRA 在处理个人数据的应用程序的部署流程中包含了主动控制措施。Amazon CodeGuru Reviewer 能够检测出在 Java、JavaScript 和 Python 代码中可能暴露个人数据的潜在缺陷。它为开发人员提供了改进代码的建议。CodeGuru Reviewer 能够识别出各种安全、隐私以及一般性建议实践方面的缺陷。它旨在与多个来源提供商合作,包括 AWS CodeCommit、Bitbucket、GitHub 和 Amazon S3。CodeGuru Reviewer 可以检测到的一些与隐私相关的缺陷包括:

  • SQL 注入

  • 不安全的 Cookie

  • 缺少授权

  • 客户端 AWS KMS 重新加密

有关 CodeGuru Reviewer 可以检测的内容的完整列表,请参阅 Amazon CodeGuru Detector Library

Amazon Comprehend

Amazon Comprehend 是一项自然语言处理 (NLP) 服务,可通过机器学习发现英语文本文档中的有价值见解和关系。Amazon Comprehend 能够检测并编辑结构化、半结构化或非结构化的文本文档中的个人数据。有关更多信息,请参阅 Amazon Comprehend 文档中的个人身份信息(PII)

您可以使用 AWS SDK 和 Amazon Comprehend API 将 Amazon Comprehend 与许多应用程序集成。例如,使用 Amazon Comprehend 和 Amazon S3 对象 Lambda 检测和编辑个人数据。组织可以使用 S3 对象 Lambda 将自定义代码添加到 Amazon S3 GET 请求中,以便在数据返回到应用程序时修改和处理数据。S3 对象 Lambda 可以筛选行、动态调整图像大小、编辑个人数据等。在 AWS Lambda 函数的支持下,代码可运行于由 AWS 全面管理的基础设施之上,这消除了创建和存储数据的衍生副本以及运行代理的需求。您无需更改应用程序即可使用 S3 对象 Lambda 转换对象。您可以使用 AWS Serverless Application Repository 中的 ComprehendPiiRedactionS3Object Lambda 函数来编辑个人数据。此功能使用 Amazon Comprehend 来检测个人数据实体,并通过将这些实体替换为星号来对其进行编辑。有关更多信息,请参阅 Amazon S3 文档中的使用 S3 对象 Lambda 和 Amazon Comprehend 检测和编辑 PII 数据

由于 Amazon Comprehend 提供了通过 AWS SDK 进行应用程序集成的多种选项,因此您可以利用 Amazon Comprehend 在收集、存储和处理数据的众多不同位置中识别个人数据。您可以使用 Amazon Comprehend 机器学习功能来检测和编辑应用程序日志(AWS 博客文章)、客户电子邮件、支持工单等中的个人数据。PD 应用程序账户的架构图显示了如何在 Amazon EC2 上对应用程序日志执行此功能。Amazon Comprehend 提供两种编辑模式:

  • REPLACE_WITH_PII_ENTITY_TYPE 将每个 PII 实体替换为其类型。例如,Jane Doe 将被替换为 NAME

  • MASK 将 PII 实体中的字符替换为您选择的字符(!、#、$、%、& 或 @)。例如,Jane Doe 可被替换为 **** ***

Amazon Data Firehose

Amazon Data Firehose 可用于捕获、转换流数据并将其加载到下游服务,如适用于 Apache Flink 的亚马逊托管服务或 Amazon S3。Firehose 通常用于传输大量流数据,例如应用程序日志等,而无需从头开始构建处理管道。

您可以使用 Lambda 函数在数据向下游传输之前对其进行自定义或内置的处理。出于隐私保护的考虑,此功能支持数据最小化处理以及跨境数据传输要求。例如,您可以使用 Lambda 和 Firehose 转换多区域日志数据,然后再将其集中到日志存档账户中。如需了解更多信息,请参阅 Biogen:多账户的集中式记录解决方案(YouTube 视频)。在 PD 应用程序账户中,您可以配置 Amazon CloudWatch 和 AWS CloudTrail 以将日志推送到 Firehose 传输流。Lambda 函数对日志进行转换处理,并将它们发送到日志存档账户中的一个中央 S3 存储桶中。您可以将 Lambda 函数配置为屏蔽包含个人数据的特定字段。这有助于防止个人数据跨 AWS 区域传输。通过采用这种方法,个人数据在传输和集中管理之前就已经被进行了掩码处理,而非在之后才进行。对于那些不受跨境传输要求约束的司法管辖区的应用程序而言,通过 CloudTrail 中的组织跟踪来聚合日志通常在操作效率和成本效益方面更具优势。有关更多信息,请参阅本指南的安全 OU – 安全工具账户部分中的 AWS CloudTrail

Amazon DataZone

当组织通过 AWS Lake Formation 等 AWS 服务扩展其共享数据的方法时,他们希望确保差异访问由最熟悉数据的人控制:数据所有者。然而,这些数据所有者可能已经了解相关的隐私要求,比如用户同意或跨境数据传输方面的规定。Amazon DataZone 有助于数据所有者和数据治理团队根据您的数据治理策略在整个组织内共享和使用数据。在 Amazon DataZone 中,各个业务部门(LOB)负责管理自己的数据,而目录则记录着这些数据的所有权情况。相关各方可以查找并请求访问数据,作为其业务任务的一部分。只要数据所有者遵守数据发布者的制定政策,就可以直接对底层表格授予访问权限,而无需管理员干预或移动数据。

在隐私方面,Amazon DataZone 在以下使用案例中可能会有所帮助:

  • 面向客户的应用程序会生成使用数据,这些数据可以与独立的营销 LOB 共享。您需要确保仅将那些已选择接收营销信息的客户的数据发布到目录中。

  • 欧洲客户的数据已公布,但仅限于欧洲经济区(EEA)内的 LOB 订阅使用。有关更多信息,请参阅在 Amazon DataZone 中通过精细的访问控制增强数据安全

在 AWS PRA 中,您可以以数据创建者的身份将共享的 Amazon S3 存储桶中的数据连接到 Amazon DataZone。

AWS Glue

维护包含个人数据的数据集是隐私设计的关键组成部分。一个组织的数据可能以结构化、半结构化或非结构化的形式存在。无结构的个人数据可能会使执行一系列保护隐私的操作变得困难,例如数据最小化处理、根据数据主体的请求追踪属于单个数据主体的数据、确保数据的一致性质量以及对数据集的整体分段等。AWS Glue 是一项完全托管的提取、转换、加载(ETL)服务。它能够帮助您对数据进行分类、清理、丰富以及在不同数据存储和数据流之间进行数据迁移。AWS Glue 功能旨在帮助您发现、准备、组织和合并数据集,以用于分析、机器学习和应用程序开发。您可以使用 AWS Glue 在现有数据集之上创建可预测的通用结构。AWS Glue Data Catalog、AWS Glue DataBrew 和 AWS Glue 数据质量 AWS Glue 功能,可以帮助支持贵组织的隐私要求。

AWS Glue Data Catalog

AWS Glue Data Catalog 可帮助您建立可维护的数据集。数据目录包含对在 AWS Glue 中用作提取、转换、加载(ETL)作业的源和目标的数据的引用。数据目录中的信息将存储为元数据表,且每个表指定单一数据存储。您可以运行 AWS Glue 爬网程序来对各种数据存储类型中的数据进行统计盘点。您可以在爬网程序中添加内置和自定义分类器,这些分类器会推断出个人数据的数据格式和架构。然后,爬网程序向数据目录写入元数据。集中式元数据表可以更轻松地响应数据主体请求(例如擦除权),因为它可以增加 AWS 环境中不同个人数据源的结构和可预测性。有关如何使用数据目录来自动响应此类请求的完整示例,请参阅使用 Amazon S3 Find 和 Forget 处理数据湖中的数据擦除请求(AWS 博客文章)。最后,如果您的组织使用 AWS Lake Formation 管理并对数据库、表、行和单元格进行精细的访问管理,数据目录是一个关键组成部分。数据目录提供跨账户数据共享,并帮助您使用基于标签的访问控制来大规模管理数据湖(AWS 博客文章)。有关更多信息,请参阅此部分中的 AWS Lake Formation

AWS Glue DataBrew

AWS Glue DataBrew 帮助您清理和规范化数据,并且能够对数据进行各种转换处理,例如移除或隐藏个人身份信息,以及对数据管道中的敏感数据字段进行加密。您还可以通过可视化的方式绘制出数据的沿袭,从而了解数据所经过的各类数据来源以及处理步骤。随着您的组织努力更好地了解和跟踪个人数据的来源,这一功能变得愈发重要。DataBrew 可帮助您在数据准备过程中对个人数据进行隐匿处理。在数据剖析作业中,您可以检测出个人数据,并收集相关统计信息,例如可能包含个人数据的列的数量以及潜在的类别等。然后,您可以使用内置的可逆或不可逆的数据转换技术,包括替代、哈希、加密和解密等操作,一切都无需编写任何代码。然后,您可以将清理并处理过的数据集用于后续的分析、报告和机器学习任务。DataBrew 中可用的一些数据掩蔽技术包括:

  • 哈希:对列值应用哈希函数。

  • 替代:将个人数据替换为其他看起来真实的值。

  • 清空或删除:将特定字段替换为空值,或删除该列。

  • 屏蔽:将字符置乱或屏蔽列中的某些部分。

以下是可用的加密技术:

  • 确定性加密:对列值应用确定性加密算法。确定性加密始终为值生成相同的加密文字。

  • 概率加密:对列值应用概率加密算法。每次应用概率加密时都会生成不同的加密文字。

有关 DataBrew 中提供的个人数据转换方案的完整列表,请参阅个人身份信息(PII)方案步骤

AWS Glue 数据质量自动监测功能

AWS Glue Data Quality 可帮助您在数据交付给数据使用者之前自动且高效地实现高质量数据在数据管道中的传输与处理。AWS Glue数据质量可对您的数据管道中的数据质量问题进行统计分析,可以在 Amazon EventBridge 中触发提醒,并可以提出质量规则建议以进行补救。AWS Glue数据质量还支持使用特定于域的语言创建规则,以便您可以创建自定义的数据质量规则。

AWS Key Management Service

AWS Key Management Service(AWS KMS)可帮助您创建和控制用于保护您的数据的加密密钥。AWS KMS 使用硬件安全模块根据 FIPS 140-2 加密模块验证计划保护和验证 AWS KMS keys。有关如何在安全情境中使用此服务的更多信息,请参阅 AWS 安全参考架构

AWS KMS 与大多数提供加密功能的 AWS 服务集成,您可以在处理和存储个人数据的应用程序中使用 KMS 密钥。您可以使用 AWS KMS 来帮助支持您的各种隐私要求并保护个人数据,包括:

  • 使用客户自主管理型密钥更好地控制强度、轮换、到期时间和其他选项。

  • 使用专用的客户自主管理型密钥来保护个人数据和允许访问个人数据的机密密钥。

  • 定义数据分类级别,并为每个级别指定至少一个专用的客户自主管理型密钥。例如,您可能会使用一个密钥来加密操作数据,而使用另一个密钥来加密个人数据。

  • 防止意外的跨账户访问 KMS 密钥。

  • 将 KMS 密钥存储在与要加密的资源相同的 AWS 账户中。

  • 对 KMS 密钥管理和使用实行职责分离。有关更多信息,请参阅如何使用 KMS 和 IAM 为 S3 中的加密数据启用独立的安全控制措施(AWS 博客文章)。

  • 通过预防性和应对性护栏来强制实施密钥自动轮换。

默认情况下,KMS 密钥会进行存储,并且只能在创建该密钥的区域内使用。如果您的组织对数据驻留和主权有特定要求,则考虑一下多区域 KMS 密钥是否适用于您的使用案例。多区域密钥是不同 AWS 区域中的特殊用途 KMS 密钥,可以相互替换使用。创建多区域密钥的过程会将您的密钥材料在 AWS KMS 内的不同 AWS 区域边界之间进行转移,因此这种缺乏区域隔离的情况可能与您所在组织的主权和驻留目标不相符合。解决此问题的一种方法是使用不同类型的 KMS 密钥,例如区域特定的客户自主管理型密钥。

外部密钥存储

对于许多组织来说,AWS 架构中的默认的 AWS KMS 密钥存储可以满足其数据主权和一般监管要求。但有一些情况可能要求加密密钥须在云环境之外生成和维护,并且您需要有独立的授权和审计路径。通过 AWS KMS 中的外部密钥存储,您可以使用您的组织在 AWS 架构之外拥有和控制的密钥材料对个人数据进行加密。您仍能如常与 AWS KMS API 交互,但 AWS KMS 只能与您提供的外部密钥存储代理(XKS 代理)软件进行交互。然后,您的外部密钥存储代理负责调解 AWS KMS 与外部密钥管理器之间的所有通信。

使用外部密钥存储进行数据加密时,重要的是,您需要考虑与在 AWS KMS 中维护密钥相比,所增加的运营成本。对于外部密钥存储,您必须创建、配置和维护外部密钥存储。此外,如果新增的基础设施(如 XKS 代理)存在故障,并且网络连接中断,则用户可能会暂时无法解密并访问数据。与您的合规性及监管利益相关者密切合作,以了解有关个人数据加密的法律和合同义务,以及关于可用性和韧性的服务级别协议。

AWS Lake Formation

许多通过结构化元数据目录对其数据集进行编目和分类的组织,都希望在全组织范围内共享这些数据集。您可以使用 AWS Identity and Access Management(IAM)权限策略来控制对整个数据集的访问权限,但对于包含不同敏感程度个人数据的这些数据集,通常需要更精细的控制措施。例如,目的规范和使用限制(FPC 网站)可能会表明,营销团队需要获取客户地址信息,而数据科学团队则不需要。

此外,数据湖还存在隐私方面的挑战,因为它们会将大量敏感数据以原始格式集中起来供访问。一个组织的大部分数据都可以集中在一个地方进行访问,因此对数据集(尤其是包含个人数据的数据集)进行逻辑分隔就显得尤为重要。AWS Lake Formation 能够帮助您在共享数据(无论是来自单一来源还是数据湖中包含的多个来源)时设置治理和监控措施。在 AWS PRA 中,您可以使用 Lake Formation 为数据账户中的共享数据存储桶中的数据提供精细的访问控制。

您可以在 Lake Formation 中使用基于标签的访问控制功能。基于标签的访问控制是一种授权策略,它根据属性来定义权限。在 Lake Formation 中,这些属性被称为 LF 标签。通过使用 LF 标签,您可以将这些标签附加到数据目录数据库、表和列上,并将相同的标签授予 IAM 主体。当主体已获授权,可以访问与资源标签值匹配的标签值时,Lake Formation 允许对这些资源执行操作。下图展示了如何为个人数据分配 LF 标签和权限,以实现差异化的访问控制。

LF 标签控制团队可以访问哪些表格列。

此示例使用标签的层级结构特性。两个数据库都包含个人身份信息(PII:true),但是列级标签则将特定列限制给不同的团队。在此示例中,拥有 PII:true LF 标签的 IAM 主体可以访问带有此标签的 AWS Glue 数据库资源。带有 LOB:DataScience LF 标签的主体可以访问带有此标签的特定列,而带有 LOB:Marketing LF 标签的主体只能访问带有此标签的列。市场营销部门只能访问与营销使用案例相关的 PII,而数据科学团队也只能访问与他们的使用案例相关的 PII。

AWS Local Zones

如果您需要遵守数据驻留要求,则可以部署在特定 AWS 区域存储和处理个人数据的资源来支持这些要求。您还可以使用 AWS Local Zones,它可以帮助您将计算、存储、数据库和其他精选 AWS 资源放在人口密集和工业发达的区域附近。本地扩展区是指与大型都市区地理上相邻的一个 AWS 区域的扩展部分。您可以将特定类型的资源放置在本地区域内,该区域靠近与之相对应的区域位置。当某个区域在同一法律管辖区内不可用时,本地区域可以帮助您满足数据驻留要求。使用本地区域时,请考虑在组织内部署的数据驻留控制措施。例如,您可能需要一项控制措施来防止数据从特定的本地区域传输到另一个区域。有关如何使用 SCP 维护跨境数据传输护栏的更多信息,请参阅使用登录区控制措施在 AWS Local Zones 中管理数据驻留的最佳实践(AWS 博客文章)。

AWS Nitro Enclaves

从处理角度考虑您的数据分段策略,例如使用 Amazon Elastic Compute Cloud(Amazon EC2)等计算服务处理个人数据。作为更大架构策略的一部分,机密计算能够帮助您将个人数据处理工作置于一个独立、受保护且可信的 CPU enclave 中进行。Enclave 是独立的、固化的和高度受限的虚拟机。AWSNitro Enclaves 是 Amazon EC2 的一项功能,它能够帮助您创建这些独立的计算环境。有关更多信息,请参阅 AWS Nitro 系统的安全设计(AWS 白皮书)。

Nitro Enclaves 会部署一个与父实例内核相分离的内核。父实例的内核无权访问 enclave。用户无法通过 SSH 或远程方式访问 enclave 中的数据和应用程序。处理个人数据的应用程序可以嵌入到 enclave 中,并可配置为使用该 enclave 的 Vsock(即用于实现 enclave 与父实例之间通信的套接字)。

在以下使用案例中,Nitro Enclaves 能够发挥重要作用:即两个位于不同 AWS 区域的数据处理者之间进行联合处理,而这两者之间可能互不信任。下图展示了如何利用 enclave 进行中央处理、如何使用 KMS 密钥对发送至 enclave 之前的数据进行加密,以及如何使用 AWS KMS key 策略来验证请求解密的 enclave 在其证明文档中具有唯一的测量值。有关更多信息和说明,请参阅结合使用加密认证和 AWS KMS。有关密钥策略示例,请参阅本指南中的 需要认证才能使用 AWS KMS 密钥

使用 AWS Nitro Enclave 在不同账户的 Amazon S3 存储桶中处理加密数据。

通过这种实施方式,只有相应的数据处理者以及底层的 enclave 才能访问明文个人数据。在相应数据处理者的环境之外,唯一暴露数据的位置是 enclave 本身,该 enclave 旨在防止访问和篡改。

许多组织都希望限制个人数据向不可信网络的泄露。例如,如果您希望提升整个应用程序架构设计的隐私性,可以依据数据敏感度对网络进行划分(类似于在 有助于对数据进行分段的 AWS 服务和功能 部分中所讨论的对数据集的逻辑与物理分离)。AWS PrivateLink 有助于您从虚拟专用云(VPC)创建与 VPC 外部服务之间的单向、私有连接。使用 AWS PrivateLink,您可以为存储或处理您环境中个人数据的服务建立专用的私有连接;无需连接到公共端点,并通过不可信的公共网络传输此数据。当您为范围内的服务启用 AWS PrivateLink 服务端点时,无需互联网网关、NAT 设备、公有 IP 地址、AWS Direct Connect 连接或 AWS Site-to-Site VPN 连接即可通信。当您使用 AWS PrivateLink 来连接到提供对个人数据的访问服务时,您可以根据您所在组织的数据边界定义,使用 VPC 端点策略和安全组来控制访问权限。有关仅允许可信组织中的 IAM 主体和 AWS 资源访问服务端点的 VPC 端点策略示例,请参阅本指南中的 访问 VPC 资源需要组织成员身份

AWS Resource Access Manager

AWS Resource Access Manager(AWS RAM)可帮助您跨 AWS 账户 安全共享资源,以减少运营开销,提供可见性和可审计性。在规划多账户分段策略时,请考虑利用 AWS RAM 来共享您在单独的隔离账户中存储的个人数据存储。您可以与其他受信任的账户共享这些个人数据以进行处理。在 AWS RAM 中,您可以管理那些定义了对共享资源可执行何种操作的权限。对 AWS RAM 的所有 API 调用都记录在 CloudTrail 中。此外,您还可以配置 Amazon CloudWatch Events,以便针对 AWS RAM 中的特定事件自动向您发送通知,例如当资源共享发生更改时。

尽管您可以通过在 IAM 中使用基于资源的策略或 Amazon S3 中的存储桶策略与其他 AWS 账户共享多种类型的 AWS 资源,但 AWS RAM 为隐私提供了一些额外的益处。AWS 为数据所有者提供额外的可见性,以便了解数据在您的 AWS 账户之间是如何以及与谁共享的,其中包括:

  • 能够与整个 OU 共享资源,而无需手动更新账户 ID 列表

  • 如果使用者账户不属于您的组织,则强制执行共享发起的邀请流程

  • 了解哪些特定 IAM 主体有权访问每个单独的资源

如果您之前使用过基于资源的策略来管理资源共享并且希望改用 AWS RAM,请使用 PromoteResourceShareCreatedFromPolicy API 操作。

Amazon SageMaker AI

Amazon SageMaker AI 是一项托管机器学习(ML)服务,可帮助您构建和训练 ML 模型,然后将其部署到生产就绪的托管环境中。SageMaker AI 旨在让准备训练数据和创建模型特征的过程更加简便。

Amazon SageMaker Model Monitor

许多组织在训练机器学习模型时会考虑数据漂移。数据漂移指的是生产数据与用来训练机器学习模型的数据之间的有意义差异,或者输入数据随时间推移的有意义变化。数据漂移可能降低机器学习模型预测的整体质量、准确性和公平性。如果 ML 模型在生产过程中接收到的数据的统计性质偏离了训练所依据的基准数据的性质,则预测的准确性可能会降低。Amazon SageMaker Model Monitor 会持续监控生产中的 Amazon SageMaker AI 机器学习模型的质量并监控数据质量。尽早并主动地检测数据漂移,能够帮助您采取相应的纠正措施,比如重新训练模型、审计上游系统或者修复数据质量问题。Model Monitor 可以缓解手动监控模型或构建其他工具的需求。

Amazon SageMaker Clarify

Amazon SageMaker Clarify 提供了对模型偏见和可解释性的见解。SageMaker Clarify 通常用于 ML 模型的数据准备和整体开发阶段。开发人员可以指定相关属性,例如性别或年龄,SageMaker Clarify 会运行一组算法来检测这些属性中是否存在任何偏差。算法运行后,SageMaker Clarify 会提供一份可视化报告,说明可能存在的偏差来源和衡量方法,以便您确定消除偏差的步骤。例如,在一个金融数据集中,与其他年龄组相比,某一年龄组获得商业贷款的例子只有几个,SageMaker 就会标记出这种不平衡,这样您就可以避免使用不利于该年龄组的模型。您还可以通过查看已训练模型的预测,并持续监控这些 ML 模型是否存在偏差来检查其是否存在偏差。最后,SageMaker Clarify 与 Amazon SageMaker AI 实验集成,提供一个图表,说明哪些特征对模型的整体预测过程起到了最大的作用。此信息有助于实现可解释性结果,并且能够帮助您确定某个特定的模型输入是否对整体模型行为产生了超出其应有的影响。

Amazon SageMaker 模型卡

Amazon SageMaker 模型卡可帮助您记录有关 ML 模型的关键细节,以便进行治理和报告。这些详细信息可以包括模型所有者、一般用途、预期使用案例、所做的假设、模型的风险评级、训练详细信息和指标以及评估结果。有关更多信息,请参阅利用 AWS 人工智能和机器学习解决方案实现模型可解释性(AWS 白皮书)。

Amazon SageMaker Data Wrangler

Amazon SageMaker Data Wrangler 是一款机器学习工具,可帮助简化数据准备和特征工程流程。它提供了一个直观界面,有助于数据科学家和机器学习工程师快速、轻松地准备和转换数据,以便将其用于机器学习模型中。使用 Data Wrangler,您可以从各种来源导入数据,例如 Amazon S3、Amazon Redshift 和 Amazon Athena。然后,您可以使用 300 多种内置数据转换功能来对数据进行清理、标准化和组合处理,而无需编写任何代码。

Data Wrangler 可用作 AWS PRA 中数据准备和特征工程过程的一部分。它支持通过使用 AWS KMS 进行静态和传输中的数据加密,并使用 IAM 角色和策略来控制对数据和资源的访问权限。它支持通过 AWS Glue 或 Amazon SageMaker Feature Store 进行数据掩蔽。如果您将 Data Wrangler 与 AWS Lake Formation 集成,则可以强制执行精细的数据访问控制和权限。您甚至可以将 Data Wrangler 与 Amazon Comprehend 结合使用,通过其功能自动从表格数据中编辑个人数据,将其纳入您更广泛的机器学习运营工作流之中。有关更多信息,请参阅使用 Amazon SageMaker Data Wrangler 自动编辑用于机器学习的 PII(AWS 博客文章)。

Data Wrangler 的多功能性使您能够为众多行业掩蔽敏感数据(如账户号码、信用卡号码、社会安全号码、患者姓名以及医疗和军事记录等)。您可以限制对任何敏感数据的访问权限或选择对其进行编辑。

有助于管理数据生命周期的 AWS 功能

当不再需要个人数据时,您可以在多种不同的数据存储中使用生命周期和生存时间策略来管理这些数据。配置数据留存策略时,请考虑以下可能包含个人数据的位置:

  • 数据库,如 Amazon DynamoDB 和 Amazon Relational Database Service(Amazon RDS)

  • Amazon S3 存储桶

  • 来自 CloudWatch 和 CloudTrail 的日志

  • 来自 AWS Database Migration Service(AWS DMS)和 AWS Glue DataBrew 项目的迁移的缓存数据

  • 备份和快照

以下 AWS 服务和功能可以帮助您在 AWS 环境中配置数据留存策略:

  • Amazon S3 生命周期:一组规则,用于定义 Amazon S3 对一组对象应用的操作。在 Amazon S3 生命周期配置中,您可以创建过期操作,这些操作会定义 Amazon S3 代表您删除过期对象的时间。有关更多信息,请参阅管理存储生命周期

  • Amazon Data Data Lifecycle Manager:在 Amazon EC2 中,创建一个自动创建、保留和删除 Amazon Elastic Block Store(Amazon EBS)快照和 EBS 支持的亚马逊机器映像(AMI)的策略。

  • 动态生存时间(TTL):定义每个项目的时间戳,该时间戳用于确定某个项目不再被需要的时间点。在指定时间戳的日期和时间之后,DynamoDB 会立即从表中删除相应项目。

  • CloudWatch Logs 中的日志留存设置:您可以将每个日志组的留存策略调整为 1 天和 10 年之间的值。

  • AWS Backup:集中部署数据保护策略,以配置、管理和监督您在各种 AWS 资源(包括 S3 存储桶、RDS 数据库实例、DynamoDB 表格、EBS 卷以及更多资源)上的备份活动。通过指定资源类型或根据现有资源标签进行应用来为您的 AWS 资源应用备份策略,从而实现更精细的控制。通过一个集中式控制台对备份活动进行审计并生成报告,以帮助满足备份合规要求。

有助于对数据进行分段的 AWS 服务和功能

数据分段是将数据存储在单独的容器中的过程。这能够帮助您为每个数据集制定差异化的安全和认证措施,并降低整个数据集因暴露而产生的影响范围。例如,不必将所有客户数据都存储在一个大型数据库中,而是可以将这些数据分段成更小、更易于管理的子组。

您可以使用物理和逻辑分离来对个人数据进行分段:

  • 物理分离:将数据存储在单独的数据存储中或将数据分布到单独的 AWS 资源中的行为。尽管数据在物理上是分离的,但这两类资源仍可能被相同的主体所访问。这就是我们建议将物理分离与逻辑分离结合的原因。

  • 逻辑分离:使用访问控制来隔离数据的行为。不同的工作职能需要不同程度的访问个人数据子集的权限。有关实施逻辑分离的示例策略,请参阅本指南中的 授予对特定 Amazon DynamoDB 属性的访问权限

将逻辑分离与物理分离相结合,能够为编写基于身份和基于资源的策略提供灵活性、简便性和精细度,从而支持不同工作职能之间的差异化访问控制。例如,要在单个 S3 存储桶中创建能够逻辑上区分不同数据分类的策略,其操作过程可能会相当复杂。为每种数据分类使用专用的 S3 存储桶可简化策略配置和管理。

可帮助发现、分类或编目数据的 AWS 服务和功能

一些组织尚未开始在其环境中使用提取、加载、转换(ELT)工具来主动编目数据。这些客户可能正处于数据发现的初期阶段,在这个阶段他们希望更深入地了解其在 AWS 中存储和处理的数据,以及这些数据的结构和分类方式。您可以使用 Amazon Macie 来更好地了解您在 Amazon S3 中的 PII 数据。但是,Amazon Macie 无法帮助您分析其他数据来源,例如 Amazon Relational Database Service(Amazon RDS)和 Amazon Redshift。在更大的数据映射练习开始时,您可以使用两种方法来加快初始发现:

  • 手动方法:制作一个包含两列的表格,其行数根据需要而定。在第一列中,填写一些数据特征信息(例如用户名、地址或性别),这些信息可能出现在网络数据包的标头或主体部分,或者您所提供的任何服务中。请您的合规团队填写第二列。在第二列中,如果数据被视为个人数据,则输入“是”;如果不是,则输入“否”。请注明任何被认为特别敏感的个人数据,例如宗教信仰或健康状况方面的信息。

  • 自动化方法:使用通过 AWS Marketplace 提供的工具。Securiti 就是这样一个工具。这些解决方案提供了相应的集成功能,使其能够扫描并发现多种 AWS 资源类型中的数据,以及其他云服务平台中的资产。这些解决方案中有许多能够持续收集并维护数据资产及数据处理活动的清单,并将其存放在一个集中式的数据目录中。如果您依靠某种工具来进行自动化分类,那么可能需要对发现和分类规则进行调整,以使其符合您所在组织对个人数据的定义。