規則運算式 (regex) 自訂 infoType 偵測工具允許您建立自己的偵測工具,讓機密資料保護功能根據規則運算式模式偵測相符項目。舉例來說,假設您的病歷編號格式為 ###-#-#####
,則可定義如下所示的規則運算式:
[0-9]{3}-[0-9]{1}-[0-9]{5}
Sensitive Data Protection 接著會比對與下列內容相似的項目:
012-4-56789
規則運算式自訂 infoType 偵測工具的剖析
根據 API 總覽的摘要說明,如要建立自訂規則運算式 infoType 偵測工具,您必須定義包含下列項目的 CustomInfoType
物件:
- 在
InfoType
物件中您要提供給自訂 infoType 偵測工具的名稱。 - 選用的
Likelihood
值。如果省略這個欄位,規則運算式相符項目會傳回預設的可能性VERY_LIKELY
。如果您發現規則運算式自訂 infoType 偵測工具傳回過多誤判情形,請嘗試降低可能性基準,並透過偵測規則使用情境資訊來改善可能性。詳情請參閱「自訂發現項目可能性」。 - 選用的
DetectionRule
或啟動字詞規則。這些規則可在指定啟動字詞的特定字數範圍內,針對發現項目調整可能性。如要進一步瞭解啟動字詞規則,請參閱自訂發現項目可能性一文。 選用的
SensitivityScore
值。如果省略這個欄位,與規則運算式相符的項目會傳回HIGH
的預設敏感度等級。敏感度分數會用於資料剖析檔。在分析資料時,Sensitive Data Protection 會使用 infoType 的私密程度分數計算私密程度。
由定義規則運算式的單一模式所組成的
Regex
物件。
做為 JSON 物件,包含所有選用元件的規則運算式自訂 infoType 偵測工具看起來應與下列內容相似:
{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_INFOTYPE_NAME"
},
"likelihood":"LIKELIHOOD_LEVEL",
"detectionRules":[
{
"hotwordRule":{
HOTWORD_RULE
}
},
"sensitivityScore":{
"score": "SENSITIVITY_SCORE"
},
],
"regex":{
"pattern":"REGULAR_EXPRESSION_PATTERN"
}
}
],
...
}
規則運算式範例:比對病歷號碼
下列 JSON 程式碼片段和幾種程式語言的程式碼,示範規則運算式自訂 infoType 偵測工具,這個偵測工具會指示 Sensitive Data Protection 以輸入文字「Patient's MRN 444-5-22222」比對病歷編號 (MRN),並將 POSSIBLE
的可能性指派給每個相符項目。
C#
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Java
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
PHP
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
REST
如要進一步瞭解如何透過 JSON 使用 DLP API,請參閱 JSON 快速入門導覽課程。
JSON 輸入:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect?key={YOUR_API_KEY}
{
"item":{
"value":"Patients MRN 444-5-22222"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[1-9]{3}-[1-9]{1}-[1-9]{5}"
},
"likelihood":"POSSIBLE"
}
]
}
}
JSON 輸出:
{
"result":{
"findings":[
{
"infoType":{
"name":"C_MRN"
},
"likelihood":"POSSIBLE",
"location":{
"byteRange":{
"start":"13",
"end":"24"
},
"codepointRange":{
"start":"13",
"end":"24"
}
},
"createTime":"2018-11-30T01:29:37.799Z"
}
]
}
}
輸出內容顯示,透過名稱為 C_MRN
的自訂 infoType 偵測工具及自訂規則運算式,Sensitive Data Protection 已正確識別出病歷編號,並按照我們指定的方式將 POSSIBLE
的可能性指派給該編號。
自訂相符可能性一文採用本範例做為基礎並包含內容字詞。