在內容中尋找敏感性資訊時,您必須以所謂的規則來描述該資訊。 Microsoft Purview 資料外洩防護 (DLP) 包含最常見敏感性資訊類型 (SIT) 的規則。 您可以立即使用這些規則。 若要使用它們,您必須將它們包含在原則中。 您可以調整這些內建規則,以符合組織的特定需求。 您可以藉由建立自訂敏感性資訊類型來執行此動作。 本主題說明如何自訂包含現有規則集合的 XML 檔案,以便您可以偵測更廣泛的潛在信用卡資訊。
您可以採用此範例,以修改信用卡號碼 SIT ,並將它套用至其他內建敏感性資訊類型。 如需預設 SIT 和 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。 下列程式碼範例中實體識別碼的 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 位數字周圍的確鑿證據視窗。 若要新增您自己的關鍵字,您必須定義關鍵字清單,並在規則中參考它。 下列 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 原則。 若要瞭解如何將規則新增至原則,請參閱 建立和部署資料外洩防護原則。
術語詞彙
以下是您在此程序期間遇到之術語的定義。
| 術語 | 定義 |
|---|---|
| 實體 | 實體 是我們所說的敏感資訊類型,例如信用卡號。 每個實體都有唯一的 GUID 作為其識別碼。 如果您複製 GUID 並在 XML 中搜尋它,您會找到 XML 規則定義,以及該 XML 規則的所有當地語系化翻譯。 您也可以找到翻譯的 GUID,然後搜尋該 GUID,以找到此定義。 |
| 函式 | XML 檔案參考 Func_credit_card,這是編譯程式碼中的函數。 函數用於運行複雜的正則表達式並驗證校驗和是否與我們的內置規則相符。 因為這發生在程式碼中,所以某些變數不會出現在 XML 檔案中。 |
| IdMatch | 這是模式要嘗試符合的識別碼,例如信用卡號。 |
| 關鍵字清單 | XML 檔案也會參考 keyword_cc_verification 和 keyword_cc_name,這是我們想要在實體內 patternsProximity 比對的關鍵字清單。 這些目前不會顯示在 XML 中。 |
| 模式 | 模式包含敏感性類型要尋找的內容清單。 這包括關鍵字、Regex 及內部函數 (會執行驗證總和檢查碼之類的工作)。 敏感性資訊類型可以有多個具有唯一信賴層級的模式。 建立會在找到確切辨識項時傳回高信賴度、找到一些確切辨識項或完全找不到時傳回較低信賴度的敏感性資訊類型時,這很有幫助。 |
| 模式 confidenceLevel | 這是 DLP 引擎找到匹配的置信度。 如果滿足型樣的需求,則此置信度與型樣的匹配相關聯。 這是使用 Exchange 郵件流程規則時應該考慮的信賴度量 (也稱為傳輸規則) 。 |
| patternsProximity | 當我們找到看起來像信用卡號碼模式的東西時, patternsProximity 就是該數字周圍的距離,我們將在其中尋找確鑿的證據。 |
| recommendedConfidence | 這是我們建議使用此規則的信賴等級。 建議的信賴等級適用於實體和親緣性。 對於實體,此數字永遠不會根據模式的 進行 confidenceLevel 評估。 如果您想應用置信度,這只是幫助您選擇置信度的建議。 針對親和性,模式的 必須 confidenceLevel 高於 recommendedConfidence 要叫用郵件流程規則動作的數字。 這是 recommendedConfidence 叫用動作的郵件流程規則中使用的預設信賴層級。 如有需要,您可以改為根據模式的信賴層級手動變更要叫用的郵件流程規則。 |