利用热词规则,您可以通过强大的上下文规则进一步扩展内置和自定义 infoType 检测器。热词规则会指示 Sensitive Data Protection 根据发现结果附近是否出现热词来调整发现结果的可能性。热词规则是一种在规则集中指定的检查规则。每个规则都会应用于一组内置或自定义 infoType。
热词规则详解
infoType 检测器可以具有零项或多项热词规则。在检查配置中,您可以在 rules 数组内定义每个 HotwordRule 对象,如下所示:
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"REGEX_PATTERN"
},
"proximity":{
"windowAfter":"NUM_CHARS_TO_CONSIDER_AFTER_FINDING",
"windowBefore":"NUM_CHARS_TO_CONSIDER_BEFORE_FINDING"
}
"likelihoodAdjustment":{
"fixedLikelihood":"LIKELIHOOD_VALUE"
-- OR --
"relativeLikelihood":"LIKELIHOOD_ADJUSTMENT"
},
}
},
...
]
替换以下内容:
- REGEX_PATTERN:定义热词条件的正则表达式(
Regex对象)。 - NUM_CHARS_TO_CONSIDER_AFTER_FINDING:发现结果后面的字符范围。Sensitive Data Protection 会分析此范围,以确定发现结果附近是否存在热词。
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING:发现结果前面的字符范围。Sensitive Data Protection 会分析此范围,以确定发现结果附近是否存在热词。
LIKELIHOOD_VALUE:要将发现结果设为的固定
Likelihood级别。LIKELIHOOD_ADJUSTMENT:一个数字,表示 Sensitive Data Protection 必须提高或降低发现结果可能性的程度。正整数提高可能性级别,负整数降低可能性级别。例如,如果在未应用检测规则时发现结果是
POSSIBLE,且relativeLikelihood为 1,则发现结果将升级为LIKELY。如果relativeLikelihood为 -1,则发现结果将降级为UNLIKELY。可能性永远不会低于VERY_UNLIKELY或超过VERY_LIKELY。在这些情况下,可能性级别保持不变。例如,如果基础可能性为VERY_LIKELY并且relativeLikelihood为 1,则最终可能性仍然为VERY_LIKELY。
热词示例:匹配医疗记录编号
假设您想要检测一个自定义 infoType,例如格式为“###-#-#####”的医疗记录编号 (MRN)。同时,您希望 Sensitive Data Protection 提高跟在热词“MRN”之后的每个发现结果的匹配可能性。
示例值:
- 123-4-56789 将匹配为
POSSIBLE。 - MRN 123-4-56789 将匹配为
VERY_LIKELY。
以下 JSON 示例和代码段展示了如何配置热词规则。此示例使用自定义正则表达式检测器。
在此示例中,请注意以下事项:
- 请求定义了
C_MRN自定义 infoType,这是与正则表达式[0-9]{3}-[0-9]{1}-[0-9]{5}匹配的任何字符串的检测器。 - 正则表达式
(?i)(mrn|medical)(?-i)定义热词。Sensitive Data Protection 会在proximity字段定义的字符范围内搜索此热词。 - 对于在设置的
proximity内包含热词的每个C_MRN发现结果,Sensitive Data Protection 会将可能性级别设置为VERY_LIKELY。
C#
如需了解如何安装和使用 Sensitive Data Protection 客户端库,请参阅 Sensitive Data Protection 客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。