敏感数据保护使用信息类型(也称为 infoType)来定义需要在扫描中查找的内容。infoType 是一种敏感数据类型,如姓名、电子邮件地址、电话号码、身份证号码、信用卡号等。
敏感数据保护中定义的每个 infoType 都有一个相应的检测器。Sensitive Data Protection 在扫描配置中使用 infoType 检测器来确定要检查的内容以及如何转换结果。显示或报告扫描结果时也会使用 InfoType 名称。
本主题详细介绍了 infoType 和 infoType 检测器,并说明了在使用敏感数据保护功能扫描内容中的敏感数据时如何使用 infoType 检测器。
指定 infoType 检测器
设置 Sensitive Data Protection 以扫描内容时,请添加要在扫描配置中使用的 infoType 检测器。
例如,下列 JSON 演示了对 DLP API 的简单扫描请求。请注意,inspectConfig
中指定了 PHONE_NUMBER
检测器,用于指示敏感数据保护功能扫描给定字符串中的手机号码。
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect?key={YOUR_API_KEY}
{
"item":{
"value":"My phone number is (415) 555-0890"
},
"inspectConfig":{
"includeQuote":true,
"minLikelihood":"POSSIBLE",
"infoTypes":{
"name":"PHONE_NUMBER"
}
}
}
上述请求返回以下内容:
{
"result":{
"findings":[
{
"quote":"(415) 555-0890",
"infoType":{
"name":"PHONE_NUMBER"
},
"likelihood":"VERY_LIKELY",
"location":{
"byteRange":{
"start":"19",
"end":"33"
},
"codepointRange":{
"start":"19",
"end":"33"
}
},
"createTime":"2018-10-29T23:46:34.535Z"
}
]
}
}
请务必在扫描配置中指定 infoType。如果您未指定任何 infoType,敏感数据保护将使用默认的 infoType 列表。扫描默认 infoType 可能非常耗时或费用高昂,具体取决于需要扫描的内容量而定。
如需详细了解如何使用 infoType 检测器扫描内容,请参阅其中一个有关检查、遮盖或去标识化的操作方法主题。
infoType 检测器的种类
信息类型(或“infoType”)检测器是 Sensitive Data Protection 查找敏感数据所用的机制。
敏感数据保护包括多种 infoType 检测器,下方汇总了所有这些检测器:
- 内置 infoType 检测器内置在敏感数据保护中。其中包括适用于某个国家/区域特有的敏感数据类型的检测器以及适用于全球通用数据类型的检测器。
- 自定义 infoType 检测器 - 您自行创建的检测器。自定义 infoType 检测器有三种:
- 常规自定义字典检测器 - 敏感数据保护功能匹配的简单字词列表。当您拥有一个包含多达数万个字词或短语的列表时,请使用常规自定义字典检测器。如果您预计字词列表不会发生显著变化,也建议首选常规自定义字典检测器。
- 存储的自定义字典检测器 - 由敏感数据保护功能使用 Cloud Storage 或 BigQuery 中存储的大量字词或短语生成。当您拥有一个包含高达数千万个字词或短语的庞大列表时,请使用存储的自定义字典检测器。
- 正则表达式 (regex) 检测器 - 使敏感数据保护功能能够基于正则表达式模式检测匹配项。
此外,敏感数据保护还包含检查规则的概念,因此您可使用以下规则微调扫描结果:
- 排除规则 - 让您可以通过向内置或自定义 infoType 检测器添加规则来减少返回的结果数量。
- 热词规则 - 让您可以通过向内置或自定义 infoType 检测器添加规则来增加返回的结果数量或更改其可能性值。
内置 infoType 检测器
敏感数据保护内置了 infoType 检测器,其中包括针对特定国家/区域敏感数据类型的检测器,例如法国的 Numéro d'Inscription au Répertoire (NIR) (FRANCE_NIR
)、英国驾照号码 (UK_DRIVERS_LICENSE_NUMBER
) 和美国社会保障号 (US_SOCIAL_SECURITY_NUMBER
)。还包括全球适用的数据类型,例如人名 (PERSON_NAME
)、电话号码 (PHONE_NUMBER
)、电子邮件地址 (EMAIL_ADDRESS
) 和信用卡号 (CREDIT_CARD_NUMBER
)。为了检测与 infoType 对应的内容,敏感数据保护会利用各种技术,包括模式匹配、校验和机器学习、情境分析等。
请务必更新内置 infoType 检测器列表。如需当前支持的内置 infoType 检测器的完整列表,请参阅 InfoType 检测器参考。
您还可以通过调用敏感数据保护的 infoTypes.list
方法查看所有内置 infoType 检测器的完整列表。
自定义 infoType 检测器
自定义 infoType 检测器有三种:
此外,Sensitive Data Protection 还包含检查规则,您可以通过将以下规则添加到现有检测器来微调扫描结果:
常规自定义字典检测器
使用常规自定义字典检测器可匹配较短的(最多数万个)字词或短语的列表。常规自定义字典可以作为自己唯一的检测器。
当您想要扫描的字词或短语列表不易通过正则表达式或内置检测器匹配时,则可以使用自定义字典检测器。例如,假设您想扫描那些通常用分配的房间名称而不是房间号码称呼的会议室(例如州或地区名称、地标、虚构名称等),您可以创建包含这些房间名称列表的常规自定义字典检测器。Sensitive Data Protection 可以扫描内容中是否包含每个房间名称,并在上下文中遇到其中一个房间名称时返回匹配项。如需详细了解敏感数据保护功能如何与字典字词和短语进行匹配,请参阅创建常规自定义字典检测器的“字典匹配详情”部分。
要详细了解常规字典自定义 infoType 检测器的工作原理以及实际操作示例,请参阅创建常规自定义字典检测器。
存储的自定义字典检测器
如果您要扫描众多的字词或短语,或者您的字词或短语列表经常更改,请使用存储的自定义字典检测器。存储的自定义字典检测器可以匹配多达数千万个字词或短语。
存储的自定义字典检测器本质上是非常大型的自定义检测器,其创建方式与正则表达式自定义检测器和常规自定义字典检测器不同。每个存储的自定义字典由两部分组成:
- 您创建和定义的短语列表。该列表以文本文件的形式存储在 Cloud Storage 中或以列的形式存储在 BigQuery 表中。
- 生成的字典文件,由敏感数据保护功能根据您的短语列表生成。字典文件存储在 Cloud Storage 中,由源短语数据的副本和有助于进行搜索和匹配的布隆过滤器组成。您无法直接修改这些文件。
在创建字词列表并使用敏感数据保护功能生成自定义字典后,您可以像使用其他 infoType 检测器一样,使用存储的自定义字典检测器启动或安排扫描。
如需详细了解存储的自定义字典检测器的工作原理以及实际操作示例,请参阅创建存储的自定义字典检测器。
正则表达式
借助正则表达式 (regex) 自定义 infoType 检测器,您可以创建自己的 infoType 检测器,使敏感数据保护功能能够基于正则表达式模式检测匹配项。例如,假设您的医疗记录编号采用 ###-#-#####
形式。您可以定义一个正则表达式模式,如下所示:
[1-9]{3}-[1-9]{1}-[1-9]{5}
然后,Sensitive Data Protection 会匹配以下项:
123-4-56789
您还可以指定要分配给每个自定义 infoType 匹配项的可能性。也就是说,当敏感数据保护与您指定的序列匹配时,它将分配您指示的可能性。这很有用,因为如果您的自定义正则表达式定义了一个非常常见的序列,可以很容易就与其他一些随机序列匹配,您肯定不希望敏感数据保护功能将每个匹配项都标记为 VERY_LIKELY
。这样做会降低扫描结果的置信度,并且可能导致对错误信息进行去标识化。
如需详细了解正则表达式自定义 infoType 检测器及其实际操作,请参阅创建自定义正则表达式检测器。
检查规则
您可以使用检查规则优化现有 infoType 检测器(内置或自定义)返回的结果。当需要以某种方式(无论是增添还是删减现有 infoType 检测器)增加敏感数据保护返回的结果时,则可以使用检查规则。
这两种检查规则是:
- 排除规则
- 热词规则
如需详细了解检查规则,请参阅修改 InfoType 检测器以优化扫描结果。
排除规则
通过排除规则,您可以通过向内置或自定义 infoType 检测器添加规则来减少返回结果的数量或降低精确率。排除规则可以帮助减少 InfoType 检测器返回的噪声或其他不需要的结果。
例如,如果您要扫描数据库中的电子邮件地址,可以添加自定义正则表达式形式的排除规则,指示敏感数据保护功能排除以“@example.com”结尾的所有结果。
如需详细了解排除规则,请参阅修改 InfoType 检测器以优化扫描结果。
热词规则
通过热词规则,您可以通过向内置或自定义 infoType 检测器添加规则来增加返回结果的数量或提高准确率。热词规则可以有效地帮助您放宽现有的 infoType 检测器规则。
例如,假设您要扫描医疗数据库中的患者姓名。您可以使用 Sensitive Data Protection 的内置 PERSON_NAME
infoType 检测器,但这会导致 Sensitive Data Protection 匹配所有人名,而不仅仅是患者姓名。为解决此问题,您可以添加正则表达式自定义 infoType 形式的热词规则,用于在潜在匹配项第一个字符附近的一定字符范围内中查找“患者”一词。然后,您可以向匹配该模式的结果分配“极有可能”这一可能性,因为这些结果符合您的特殊标准。
要详细了解热词规则,请参阅修改 InfoType 检测器以优化扫描结果。