在内容中查找敏感信息时,需要在所谓的“规则”中描述该信息。 Microsoft Purview 数据丢失防护 (DLP) 包括最常见的敏感信息类型的规则, (SCT) 。 可以立即使用这些规则。 若要使用它们,必须在策略中包含它们。 可以调整这些内置规则以满足组织的特定需求。 可以通过创建自定义敏感信息类型来执行此作。 本主题说明如何自定义包含现有规则集合的 XML 文件,以便检测更广泛的潜在信用卡信息。
可以采用此示例,该示例修改信用卡号 SIT 并将其应用于其他内置敏感信息类型。 有关默认 SCT 和 XML 定义的列表,请参阅 敏感信息类型实体定义。
导出当前规则的 XML 文件
若要导出 XML,需要 连接到安全性和符合性 PowerShell。
在 PowerShell 中,键入以下内容以在屏幕上显示组织的规则。 如果您还没有创建您自己的规则,您将仅看到默认的内置规则"Microsoft 规则包"。
Get-DlpSensitiveInformationTypeRulePackage键入以下内容,将组织的规则存储在变量中。 将规则存储在变量中,可使其稍后以适用于 PowerShell 命令的格式快速提供。
$ruleCollections = Get-DlpSensitiveInformationTypeRulePackage键入以下内容,创建包含所有这些数据的格式化 XML 文件。
[System.IO.File]::WriteAllBytes('C:\custompath\exportedRules.xml', $ruleCollections.SerializedClassificationRuleCollection)重要
确保使用规则包实际存储的文件位置。
C:\custompath\是一个占位符。
在 XML 中查找要修改的规则
上述 cmdlet 导出了整个 规则集合,其中包括Microsoft提供的默认规则。 接下来,需要专门查找要修改的“信用卡号”规则。
使用文本编辑器打开在上一部分中导出的 XML 文件。
向下滚动到
<Rules>标记,该标记是部分的开头。 由于此 XML 文件包含整个规则集合的信息,因此它包含顶部的其他信息,需要滚动过去才能访问规则。查找 Func_credit_card ,以查找信用卡号规则定义。 在 XML 中,规则名称不能包含空格,因此通常用下划线替换空格,有时会缩写规则名称。 例如,美国社会安全号码规则(缩写为 SSN)。 信用卡号规则的 XML 应类似于以下代码示例:
<Entity id="50842eb7-edc8-4019-85dd-5a5c1f2bb085" patternsProximity="300" recommendedConfidence="85"> <Pattern confidenceLevel="85"> <IdMatch idRef="Func_credit_card" /> <Any minMatches="1"> <Match idRef="Keyword_cc_verification" /> <Match idRef="Keyword_cc_name" /> <Match idRef="Func_expiration_date" /> </Any> </Pattern> </Entity>
在 XML 中已找到信用卡号规则定义后,可以根据需要自定义规则的 XML。 有关 XML 定义的复习,请参阅本主题末尾的 术语术语表 。
修改 XML 并新建敏感信息类型
首先,您需要创建新的敏感信息类型,因为您无法直接修改默认规则。 可以使用自定义敏感信息类型执行各种操作,这些类型在 安全性和符合性 PowerShell 中创建自定义敏感信息类型中 进行了概述。 在此示例中,我们使其尽量简单,仅删除确定证据,并将关键字添加到信用卡号规则。
所有 XML 规则定义都基于以下常规模板构建。 需要复制并粘贴模板中的信用卡号定义 XML,修改一些值 (注意“..”。以下示例中的占位符) ,然后将修改后的 XML 作为可在策略中使用的新规则上传。
<?xml version="1.0" encoding="utf-16"?>
<RulePackage xmlns="https://schemas.microsoft.com/office/2011/mce">
<RulePack id=". . .">
<Version major="1" minor="0" build="0" revision="0" />
<Publisher id=". . ." />
<Details defaultLangCode=". . .">
<LocalizedDetails langcode=" . . . ">
<PublisherName>. . .</PublisherName>
<Name>. . .</Name>
<Description>. . .</Description>
</LocalizedDetails>
</Details>
</RulePack>
<Rules>
<!-- Paste the Credit Card Number rule definition here.-->
<LocalizedStrings>
<Resource idRef=". . .">
<Name default="true" langcode=" . . . ">. . .</Name>
<Description default="true" langcode=". . ."> . . .</Description>
</Resource>
</LocalizedStrings>
</Rules>
</RulePackage>
现在,您的 XML 应该如下所示。 因为规则包和规则使用它们的唯一 GUID 表示,您需要生成两个 GUID:一个用于规则包,一个用于替换信用卡号规则的 GUID。 以下代码示例中实体 ID 的 GUID 是内置规则定义的 GUID,需要将其替换为新的规则定义。 有几种方法可生成 GUID,可在 PowerShell 中通过键入 [guid]::NewGuid() 轻松生成。
<?xml version="1.0" encoding="utf-16"?>
<RulePackage xmlns="https://schemas.microsoft.com/office/2011/mce">
<RulePack id="8aac8390-e99f-4487-8d16-7f0cdee8defc">
<Version major="1" minor="0" build="0" revision="0" />
<Publisher id="..." />
<Details defaultLangCode="en">
<LocalizedDetails langcode="en">
<PublisherName>Contoso Ltd.</PublisherName>
<Name>Financial Information</Name>
<Description>Modified versions of the Microsoft rule package</Description>
</LocalizedDetails>
</Details>
</RulePack>
<Rules>
<Entity id="db80b3da-0056-436e-b0ca-1f4cf7080d1f"
patternsProximity="300" recommendedConfidence="85">
<Pattern confidenceLevel="85">
<IdMatch idRef="Func_credit_card" />
<Any minMatches="1">
<Match idRef="Keyword_cc_verification" />
<Match idRef="Keyword_cc_name" />
<Match idRef="Func_expiration_date" />
</Any>
</Pattern>
</Entity>
<LocalizedStrings>
<Resource idRef="db80b3da-0056-436e-b0ca-1f4cf7080d1f">
<!-- This is the GUID for the preceding Credit Card Number entity because the following text is for that Entity. -->
<Name default="true" langcode="en-us">Modified Credit Card Number</Name>
<Description default="true" langcode="en-us">Credit Card Number that looks for additional keywords, and another version of Credit Card Number that doesn't require keywords (but has a lower confidence level)</Description>
</Resource>
</LocalizedStrings>
</Rules>
</RulePackage>
从敏感信息类型中删除确证性证据要求
现在,你有了一个新的敏感信息类型,可以上传到 Microsoft Purview 门户。 下一步是使规则更具体。 修改规则,使其仅查找传递校验和但不需要其他 (确凿) 证据(如关键字)的 16 位数字。 为此,你需要删除查找佐证证据的 XML 部分。 佐证证据有助于减少误报。 在这种情况下,信用卡编号附近通常有特定的关键字或到期日期。 如果删除该证据,还应通过降低 confidenceLevel (在此示例中为 85) 来调整对找到信用卡号的信心。
<Entity id="db80b3da-0056-436e-b0ca-1f4cf7080d1f" patternsProximity="300"
<Pattern confidenceLevel="85">
<IdMatch idRef="Func_credit_card" />
</Pattern>
</Entity>
查找组织专用关键字
您可能需要确定证据,但需要不同或额外的关键字,您可能想要更改在何处查找该证据。 可以调整 以 patternsProximity 展开或缩小 16 位数字周围确凿证据的窗口。 若要添加自己的关键字,必须定义关键字 (keyword) 列表并在规则中引用它。 以下 XML 添加关键字“公司卡”和“Contoso 卡”,以便将信用卡编号的 150 个字符内包含这些短语的任何消息标识为信用卡编号。
<Rules>
<! -- Modify the patternsProximity to be "150" rather than "300." -->
<Entity id="db80b3da-0056-436e-b0ca-1f4cf7080d1f" patternsProximity="150" recommendedConfidence="85">
<Pattern confidenceLevel="85">
<IdMatch idRef="Func_credit_card" />
<Any minMatches="1">
<Match idRef="Keyword_cc_verification" />
<Match idRef="Keyword_cc_name" />
<!-- Add the following XML, which references the keywords at the end of the XML sample. -->
<Match idRef="My_Additional_Keywords" />
<Match idRef="Func_expiration_date" />
</Any>
</Pattern>
</Entity>
<!-- Add the following XML, and update the information inside the <Term> tags with the keywords that you want to detect. -->
<Keyword id="My_Additional_Keywords">
<Group matchStyle="word">
<Term caseSensitive="false">company card</Term>
<Term caseSensitive="false">Contoso card</Term>
</Group>
</Keyword>
上传规则
要上载您的规则,需执行以下操作:
使用 Unicode 编码将其另存为 .xml 文件。 这一点很重要,因为如果文件使用其他编码保存,将无法正常运行。
在 PowerShell 中,键入下面的代码。
New-DlpSensitiveInformationTypeRulePackage -FileData ([System.IO.File]::ReadAllBytes('C:\custompath\MyNewRulePack.xml'))重要
确保使用规则包实际存储的文件位置。
C:\custompath\是一个占位符。若要确认,请先键入“Y”,再按 Enter。
通过输入以下项验证新规则的显示名称及其是否已上传:
Get-DlpSensitiveInformationType
要开始使用新规则检测敏感信息,您需将规则添加到 DLP 策略。 若要了解如何将规则添加到策略,请参阅 创建和部署数据丢失防护策略。
术语表
下面您在此过程中遇到的术语的定义。
| Term | 定义 |
|---|---|
| 实体 | 实体是我们称之为敏感信息类型,例如信用卡数字。 每个实体都有一个唯一的 GUID 作为其 ID。 如果您复制 GUID 并在 XML 中搜索它,您将找到 XML 规则定义以及该 XML 规则的所有本地化翻译。 您也可以通过查找翻译的 GUID 并搜索该 GUID 来查找此定义。 |
| 函数 | XML 文件引用 Func_credit_card,它是编译代码中的函数。 函数用于运行复杂的正则表达式,并验证校验和是否与内置规则匹配。 由于这种情况发生在代码中,因此某些变量不会显示在 XML 文件中。 |
| IdMatch | 这是尝试匹配的模式的标识符,例如信用卡号。 |
| 关键字列表 | XML 文件还引用 keyword_cc_verification 和 keyword_cc_name,它们是我们要在 实体内 patternsProximity 匹配的关键字列表。 这些匹配当前不会显示在 XML 中。 |
| 模式 | 模式包含敏感类型要查找的内容的列表。 这包括关键字、正则表达式和内部函数,它们用于执行验证校验和等任务。 敏感信息类型可以具有多个具有唯一置信度级别的模式。 这在创建敏感信息类型时非常有用:当它找到确定证据时,返回高可信度;当未找到确定证据时,则返回较低的可信度。 |
| 模式可信度 | 这是指 DLP 引擎找到匹配的可信度。 如果满足模式的要求,则可信度与模式匹配有关。 这是使用 Exchange 邮件流规则 (也称为传输规则) 时应考虑的置信度度量值。 |
| patternsProximity | 当我们找到类似于信用卡数字模式时,patternsProximity是与该数字之间的距离,我们将查找确凿证据。 |
| recommendedConfidence | 这是我们为此规则推荐的可信度。 建议的置信度级别适用于实体和相关性。 对于实体,永远不会针对 confidenceLevel 模式的 计算此数字。 它只是在您需要时帮助您选择可信度的一个建议。 对于相关性, confidenceLevel 模式的 必须大于 recommendedConfidence 要调用的邮件流规则作的数字。
recommendedConfidence是调用作的邮件流规则中使用的默认置信度级别。 如果需要,可以基于模式的置信度手动更改要调用的邮件流规则。 |