

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 中的数据保护 AWS Glue DataBrew
<a name="data-protection"></a>

DataBrew 提供了多项旨在帮助保护您的数据的功能。

**Topics**
+ [静态加密](encryption-at-rest.md)
+ [传输中加密](encryption-in-transit.md)
+ [密钥管理](key-management.md)
+ [识别和处理个人身份信息（PII）](personal-information-protection.md)
+ [DataBrew 对其他 AWS 服务的依赖](dependency-on-other-services.md)

分 AWS [担责任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)适用于中的数据保护 AWS Glue DataBrew。如本模型所述 AWS ，负责保护运行所有内容的全球基础架构 AWS 云。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息，请参阅[数据隐私常见问题](https://aws.amazon.com/compliance/data-privacy-faq/)。有关欧洲数据保护的信息，请参阅 *AWS Security Blog* 上的 [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 博客文章。

出于数据保护目的，我们建议您保护 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 踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解决方案以及其中的所有默认安全控件 AWS 服务。
+ 使用高级托管安全服务（例如 Amazon Macie），它有助于发现和保护存储在 Amazon S3 中的敏感数据。
+ 如果您在 AWS 通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块，请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息，请参阅《美国联邦信息处理标准（FIPS）第 140-3 版》[https://aws.amazon.com/compliance/fips/](https://aws.amazon.com/compliance/fips/)。

强烈建议您切勿将机密信息或敏感信息（如您客户的电子邮件地址）放入标签或自由格式文本字段（如**名称**字段）。这包括您使用控制台、API DataBrew 或以其他 AWS 服务 方式使用控制台 AWS CLI、API 或时 AWS SDKs。在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供 URL，强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。

# 静态加密
<a name="encryption-at-rest"></a>

DataBrew 支持 DataBrew 项目和作业的静态数据加密。项目和作业可以读取加密数据，作业可以通过调用 [AWS Key Management Service （AWS KMS）](https://aws.amazon.com/kms/)生成密钥来写入加密数据，并解密数据。您还可以使用 KMS 密钥对作业生成的任务日志进行加密。 DataBrew 您可以使用 DataBrew 控制台或 DataBrew API 指定加密密钥。

**重要**  
AWS Glue DataBrew 仅支持对称 AWS KMS 密钥。有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的 [AWS KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)。

在 DataBrew 启用加密的情况下创建任务时，您可以使用 DataBrew 控制台指定 S3 托管的服务器端加密密钥 (SSE-S3) 或存储在 (SSE-KMS) 中的 AWS KMS KMS 密钥来加密静态数据。

**重要**  
使用 Amazon Redshift 数据集时，卸载到所提供临时目录的对象使用 SSE-S3 进行加密。

# 加密作业写入的数据 DataBrew
<a name="encryption-security-configuration"></a>

DataBrew 任务可以写入加密的 Amazon S3 目标和加密的 Amazon CloudWatch 日志。

**Topics**
+ [设置 DataBrew 为使用加密](#encryption-setup-DataBrew)
+ [为 VPC 任务创建通往 AWS KMS 的路由](#encryption-kms-vpc-endpoint)
+ [使用 AWS KMS 密钥设置加密](#console-security-configurations-wizard)

## 设置 DataBrew 为使用加密
<a name="encryption-setup-DataBrew"></a>

按照以下步骤将您的 DataBrew 环境设置为使用加密。

**将您的 DataBrew 环境设置为使用加密**

1. 创建或更新您的 AWS KMS 密钥以向传递给 DataBrew 任务的 AWS Identity and Access Management (IAM) 角色 AWS KMS 授予权限。这些 IAM 角色用于加密 CloudWatch 日志和 Amazon S3 目标。有关更多信息，请参阅 *Amazon Lo CloudWatch gs 用户指南 AWS KMS中的使用加密 CloudWatch 日志*[数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)。

   在以下示例中，*`"role1"`**`"role2"`*、和*`"role3"`*是传递给 DataBrew 任务的 IAM 角色。此策略声明描述了 KMS 密钥策略，该策略提供允许使用此 KMS 密钥对列出的 IAM 角色进行加密和解密的权限。

   ```
      {
          "Effect": "Allow",
          "Principal": {
              "Service": "logs.region.amazonaws.com",
              "AWS": [
                  "role1",
                  "role2",
                  "role3"
              ]
          },
          "Action": [
              "kms:Encrypt*",
              "kms:Decrypt*",
              "kms:ReEncrypt*",
              "kms:GenerateDataKey*",
              "kms:Describe*"
          ],
          "Resource": "*"
      }
   ```

   如果您使用密钥对 CloudWatch 日志进行加密`"Service": "logs.region.amazonaws.com"`，则必须使用该`Service`语句（如所示）。

1. 确保在使用 AWS KMS 密钥`ENABLED`之前将其设置为。

有关使用 AWS KMS 密钥策略指定权限的更多信息，请参阅[中的使用密钥策略 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

## 为 VPC 任务创建通往 AWS KMS 的路由
<a name="encryption-kms-vpc-endpoint"></a>

您可以通过 Virtual Private Cloud (VPC) 中的私有端点直接连接到 AWS KMS ，而不是通过互联网连接。当您使用 VPC 终端节点时，您 AWS KMS 的 VPC 和 VPC 之间的通信完全在 AWS 网络内进行。

您可以在 AWS KMS VPC 内创建 VPC 终端节点。如果不执行此步骤，您的 DataBrew 作业可能会失败`kms timeout`。有关详细说明，请参阅《*AWS Key Management Service 开发人员指南》*中的 “[AWS KMS 通过 VPC 终端节点连接](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html)”。

当您按照这些说明操作时，请务必在 [VPC 控制台](https://console.aws.amazon.com//vpc)上执行以下操作：
+ 选择**启用私有 DNS 名称**。
+ 对于**安全组**，选择用于访问 Java 数据库连接 (JDBC) 的 DataBrew 作业的安全组（包括自引用规则）。

运行访问 JDBC 数据存储的 DataBrew 作业时， DataBrew 必须有通往终端节点的路由。 AWS KMS 您可以为路由提供网络地址转换 (NAT) 网关或 AWS KMS VPC 终端节点。要创建 NAT 网关，请参阅 *Amazon VPC 用户指南*中的 [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)。

## 使用 AWS KMS 密钥设置加密
<a name="console-security-configurations-wizard"></a>

当您对任务启用加密时，它会同时适用于 Amazon S3 和 CloudWatch。传递的 IAM 角色必须具有以下 AWS KMS 权限。

有关更多信息，请参阅 *Amazon Simple Storage Service 用户指南*中的以下主题：
+ 有关 `SSE-S3` 的更多信息，请参阅[使用具有 Amazon S3 托管加密密钥 (SSE-S3) 的服务器端加密 (SSE-S3) 保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)。
+ 有关信息`SSE-KMS`，请参阅[使用 KMS AWS 托管密钥的服务器端加密 (SSE-KMS) 保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。

# 传输中加密
<a name="encryption-in-transit"></a>

AWS 为传输中的数据提供安全套接字层 (SSL) 加密。

DataBrew 对 JDBC 数据源的支持得以实现。 AWS Glue连接到 JDBC 数据源时， DataBrew 使用 AWS Glue 连接上的设置，包括 “**需要 SSL 连接**” 选项。有关更多信息，请参阅《AWS Glue 开发人员指南》**中的 [AWS Glue 连接属性 - AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html)。

AWS KMS 提供 “自带密钥” 加密和服务器端加密，用于 DataBrew 提取、转换、加载 (ETL) 处理和。 AWS Glue Data Catalog

# 密钥管理
<a name="key-management"></a>

您可以将 IAM 与结合使用 DataBrew 来定义用户、 AWS 资源、群组、角色以及有关访问权限、拒绝等的精细策略。

您可以根据组织的需要，同时使用基于资源和基于身份的策略来定义对元数据的访问。基于资源的策略列出了允许或拒绝访问您的资源的委托人，允许您设置跨账户访问等策略。身份策略专门附加到 IAM 中的用户、组和角色。

DataBrew 支持创建自己 AWS KMS key 的 “自带密钥” 加密。 DataBrew 还使用来自的 KMS 密钥 AWS KMS 为 DataBrew 任务提供服务器端加密。

# 识别和处理个人身份信息（PII）
<a name="personal-information-protection"></a>

在构建分析函数或机器学习模型时，您需要采取保护措施来防止个人身份信息（PII）数据泄露。*PII* 是可用于识别个人身份的个人数据，例如地址、银行账号或电话号码。例如，当数据分析师和数据科学家使用数据集来发现一般人口统计信息时，他们应无权访问特定个人的 PII。

DataBrew 提供数据屏蔽机制，用于在数据准备过程中模糊处理 PII 数据。根据组织的需求，有不同的 PII 数据编辑机制可用。您可以对 PII 数据进行模糊处理，这样用户便无法将其还原，也可以使模糊处理具有可逆性。

识别和屏蔽中的 PII 数据 DataBrew 涉及构建一组转换，客户可以使用这些转换来编辑 PII 数据。此过程的一部分是在 DataBrew 控制台上的数据**配置文件概述仪表板中提供 PII 数据**检测和统计信息。

您可以使用以下数据掩蔽方法：
+ *替代*：将 PII 数据替换为其他看起来真实的值。
+ *随机排序*：将同一列的值随机排序到不同的行中。
+ *确定性加密*：对列值应用确定性加密算法。确定性加密始终为值生成相同的加密文字。
+ *概率加密*：对列值应用概率加密算法。每次应用概率加密时都会生成不同的加密文字。
+ *解密*：根据加密密钥对列进行解密。
+ *清空或删除*：将特定字段替换为空值或删除该列。
+ *屏蔽*：将字符置乱或屏蔽列中的某些部分。
+ *哈希*：对列值应用哈希函数。

有关使用转换的更多信息，请参阅[个人身份信息（PII）掩蔽步骤](https://docs.aws.amazon.com/databrew/latest/dg/recipe-actions.pii.html)。有关使用配置文件作业检测 PII 的更多信息，包括可以检测到的实体类型列表，请参阅以编程方式*构建配置文件作业配置中有关配置 PII 的EntityDetectorConfiguration *[部分](https://docs.aws.amazon.com/databrew/latest/dg/profile.configuration.html#entity-detector-configuration)。

# DataBrew 对其他 AWS 服务的依赖
<a name="dependency-on-other-services"></a>

要使用 DataBrew 控制台，您需要一组最低权限才能使用 AWS 账户的 DataBrew 资源。除这些 DataBrew 权限外，控制台还需要以下服务的权限：
+ CloudWatch 记录显示日志的权限。
+ 用于列出并传递角色的 IAM 权限。
+ 列出 VPC、子网、安全组、实例和其他对象的 Amazon EC2 权限。 DataBrew 使用这些权限来设置 Amazon EC2 项目，例如 VPCs 在运行 DataBrew 任务时。
+ 用于列出存储桶和对象的 Amazon S3 权限。
+ AWS Glue 读取 AWS Glue 架构对象（例如数据库、分区、表和连接）的权限。
+ AWS Lake Formation 使用 Lake Formation 数据湖的权限。