

# 检测和处理敏感数据
<a name="detect-PII"></a>

 检测 PII 转换可识别数据源中的个人身份信息（PII）。选择要识别的 PII 实体、希望如何扫描数据以及如何处理检测 PII 转换识别的 PII 实体。

 检测 PII 转换提供检测、掩盖或删除您定义的或由 AWS 预定义的实体的功能。这赋能您提高合规性并减少责任。例如，您可能想要确保数据中不存在可以读取的个人身份信息，并想要掩盖具有固定字符串（例如 xxx-xx-xxxx）的社保号码、电话号码或地址。

 要在 AWS Glue Studio 之外处理敏感数据，请参阅 [在 AWS Glue Studio 外部使用敏感数据检测](aws-glue-api-sensitive-data-example.md) 

**Topics**
+ [选择希望如何扫描数据](#choose-datascan-pii)
+ [选择要检测的 PII 实体](#choose-pii-entities)
+ [指定检测灵敏度级别](#sensitive-data-sensitivity)
+ [选择如何处理已识别的 PII 数据](#choose-action-pii)
+ [添加精细操作覆盖](#sensitive-data-fine-grained-actions-override)

## 选择希望如何扫描数据
<a name="choose-datascan-pii"></a>

 当您扫描数据集中的个人身份信息（PII）等敏感数据时，您可以选择检测每行中的 PII，也可以检测包含 PII 数据的列。

![\[\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/detect-fields-PII.png)


 当您选择 **Detect PII in each cell**（在每个单元格中检测 PII）时，您就是选择扫描数据源中的所有行。这是一次全面扫描，以确保识别 PII 实体。

 当您选择 **Detect fields containing PII**（检测包含 PII 的字段）时，您就是选择扫描行样本以查找 PII 实体。这种方法可以将成本和资源保持在较低水平，同时还可以识别发现 PII 实体的字段。

 当您选择检测包含 PII 的字段时，可以对部分行进行抽样来降低成本并提高性能。选择此选项将允许您指定其他选项：
+  **Sample portion**（抽样比例）：此选项允许您指定要抽样的行的百分比。例如，如果输入“50”，即表示您指定希望 PII 实体扫描 50％ 的行。
+  **Detection threshold**（检测阈值）：此选项允许您指定将整个列标识为具有 PII 实体时，包含 PII 实体的行的百分比。例如，如果输入“10”，即表示指定扫描到行中 PII 实体“美国电话号码”的数量必须达到 10％ 或以上，才能将该字段标识为具有 PII 实体“美国电话号码”。如果包含 PII 实体的行百分比小于 10％，则该字段将不会标注为包含 PII 实体“美国电话号码”。

## 选择要检测的 PII 实体
<a name="choose-pii-entities"></a>

 如果选择 **Detect PII in each cell**（在每个单元格中检测 PII），您可以选择以下三个选项之一：
+ 所有可用的 PII 模式 - 这包括 AWS 实体。
+ 选择类别 - 当您选择类别时，PII 模式将自动在您选择的类别中包括模式。
+ 选择特定模式 - 仅能检测到您选择的模式。

 有关托管的敏感数据类型的完整列表，请参阅 [Managed data types](https://docs.aws.amazon.com/glue/latest/dg/sensitive-data-managed-data-types.html)。

### 选择所有可用的 PII 模式
<a name="w2aac33c23c21c11"></a>

 如果选择 **All available PII patterns**（所有可用的 PII 模式），请选择由 AWS 预定义的实体。您可以选择一个、多个或所有实体。

![\[\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/pii-select-entities-to-detect.png)


### 选择类别
<a name="w2aac33c23c21c15"></a>

 如果您选择了 **Select categories**（选择类别）作为要检测的 PII 模式，则您可以选择下拉菜单中的选项。注意，某些实体可能属于多个类别。例如，*人员姓名*是属于*通用*和 *HIPAA* 类别的实体。
+  通用（例如：电子邮件、信用卡） 
+  HIPAA [例如：美国驾照、医疗保健通用程序编码系统 (HCPCS) 代码] 
+  联网（例如：IP 地址、MAC 地址） 
+ 阿根廷
+ 澳大利亚
+ 奥地利
+ 比利时
+ 波斯尼亚
+ 保加利亚
+ 加拿大
+ 智利
+ 哥伦比亚
+ 克罗地亚
+ 塞浦路斯
+ 捷克
+ 丹麦
+ 爱沙尼亚
+ 芬兰
+ 法国
+ 德国
+ 希腊
+ 匈牙利
+ 爱尔兰
+ 韩国
+ 日本
+ 墨西哥
+ 荷兰
+ 新西兰
+ 挪威
+ 葡萄牙
+ 罗马尼亚
+ 新加坡
+ 斯洛伐克
+ 斯洛文尼亚
+ 西班牙
+ 瑞典
+ 瑞士
+ 土耳其
+ 乌克兰
+ 美国
+ 英国
+ 委内瑞拉

### 选择特定模式
<a name="w2aac33c23c21c19"></a>

 如果选择 **Select specific patterns**（选择特定模式）作为要检测的 PII 模式，您可以搜索或浏览已创建的模式列表，或者创建新的检测实体模式。

 以下步骤介绍了如何新建用于检测敏感数据的自定义模式。您将通过输入自定义模式的名称、添加正则表达式以及定义上下文字词来创建自定义模式。

 

 

1.  若要创建新模式，请单击 **Create new**（新建）按钮。  
![\[\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/detectpii-create-new.png)

1.  在创建检测实体页面中，输入实体名称和正则表达式。AWS Glue 将使用正则表达式 (Regex) 来匹配实体。

1.  单击 **Validate**（验证）。如果验证成功，您将看到一条确认消息，指出字符串是有效的正则表达式。如果验证不成功，您将看到一条消息，指出字符串不符合正确的格式和可接受的字符文本、运算符或结构。

1.  除了正则表达式之外，您还可以选择添加上下文字词。上下文字词可以提高匹配的概率。在字段名称没有描述实体的情况下，这些功能非常有用。例如，社会安全号码可以被命名为“SSN”或“SS”。添加这些上下文字词有助于匹配实体。

1.  单击 **Create**（创建）以创建检测实体。任何创建的实体在 AWS Glue Studio 控制台中可见。单击左侧导航菜单中的 **Detection entities**（检测实体）。

    您可以从 **Detection entities**（检测实体）页面编辑、删除或创建检测实体。您还可以使用搜索字段搜索模式。

## 指定检测灵敏度级别
<a name="sensitive-data-sensitivity"></a>

 使用检测敏感数据功能时，您可以设置灵敏度级别。
+  **高** –（默认）适用于需要更高灵敏度级别的应用场景，会检测出更多实体。2023 年 11 月之后创建的所有 AWS Glue 作业都将自动启用此设置。
+  **低** – 会减少检测出的实体数量并减少误报。

![\[\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/detect-sensitve-data-sensitvity-new.png)


## 选择如何处理已识别的 PII 数据
<a name="choose-action-pii"></a>

 如果选择整个数据来源中的 PII，则可以选择应用某个全局操作：
+  **Enrich data with detection results**（使用检测结果丰富数据）：如果选择在每个单元格中检测 PII，则可以将检测到的实体存储到新列中。
+  **Redact detected text**（编校检测到的文本）：可以使用在可选的替换文本输入字段中指定的字符串替换检测到的 PII 值。如果未指定字符串，则检测到的 PII 实体将替换为“\$1\$1\$1\$1\$1\$1\$1”。
+  **部分编辑检测到的文本**：可以使用选定的字符串来部分替换检测到的 PII 值。提供两种选项：只留结尾不掩蔽，或通过显式正则表达式模式来掩蔽。AWS Glue 2.0 未提供此功能。
+  **Apply cryptographic hash**（应用加密哈希）：您可以将检测到的 PII 值传递给 SHA-256 加密哈希函数，并将该值替换为该函数的输出。

![\[\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/detect-sensitive-data-global-action.png)


### AWS Glue 版本 2.0 与 3.0 及以上版本的区别
<a name="sensitive-data-detection-glue-versions"></a>

 AWS Glue 2.0 作业将返回一个新的 DataFrame，用一个补充列来包含每列检测到的 PII 信息。任何编辑或散列化处理都可通过视觉对象选项卡中的 AWS Glue 脚本查看。

 AWS Glue 3.0 和 4.0 作业将返回一个具有相同补充列的新 DataFrame。此外还包含一个新键“actionUsed”，值可能为 `DETECT`、`REDACT`、`PARTIAL_REDACT` 或 `SHA256_HASH`。如果选择了一种掩蔽操作，则 DataFrame 将返回已掩蔽敏感数据的数据。

## 添加精细操作覆盖
<a name="sensitive-data-fine-grained-actions-override"></a>

 可以将其他检测和操作设置添加到精细操作覆盖表中，从而让您能够实现以下目的：
+  **在检测范围中包含或排除特定的列** – 数据来源上的推断 Schema 将使用可用列来填充表。
+  **指定比使用全局操作时更精细的特定设置** – 例如，您可以为不同的实体类型指定不同的掩蔽文本设置。
+  **指定与全局操作不同的操作** – 如果要对不同的敏感数据类型应用不同的操作，则可以通过此设置来完成。请注意，不能在同一列上使用两种不同的就地编辑操作（编辑和散列化处理），但在任何情况下都可以使用检测操作。

![\[\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/detect-sensitive-data-fga-overrides.png)
