自訂相符可能性

啟動字詞規則可讓您使用功能強大的結構定義規則,進一步擴充內建和自訂 infoType 偵測工具。啟動字詞可讓您將規則運算式和鄰近偵測工具新增至現有的 infoType 偵測工具,以及適當地調整相符可能性值。

剖析啟動字詞規則

一個 infoType 偵測工具可以有零或多個啟動字詞規則。您需要在檢查規則 (InspectionRule 物件) 中定義每個啟動字詞規則 (HotwordRule 物件)。每個檢查規則都是在 InspectConfig 物件中指定。

啟動字詞規則位於建立字典自訂 infoType建立規則運算式自訂 infoType 的範例 JSON 的 [HOTWORDRULE_OBJECT] 所指出的位置。做為 JSON 物件且位於 "detectionRules" 陣列內的單一啟動字詞規則如下所示:

"detectionRules":[
  {
    "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]"
      },
    }
  },
  ...
]

每個啟動字詞規則都有三個元件:

  • "hotwordRegex":定義符合啟動字詞資格的規則運算式模式 (Regex 物件)。
  • "proximity":發現項目的鄰近程度,其中必須包含整個啟動字詞。這個欄位包含 Proximity 物件,由以下兩個值構成:

    • "windowBefore":發現項目前要考量的字元數。
    • "windowAfter":發現項目後要考量的字元數。
  • "likelihoodAdjustment":對發現項目可能性的調整。這個欄位包含 LikelihoodAdjustment 物件,可設定為以下兩個值的其中之一:

    • "fixedLikelihood":將發現項目設為某個固定的 Likelihood 值。
    • "relativeLikelihood":指出增加或減少發現項目可能性程度的數字。舉例來說,如果發現項目在沒有偵測規則的情況下為 POSSIBLErelativeLikelihood 為 1,則會升級為 LIKELY,而值為 -1 則會降級為 UNLIKELY。可能性永遠都不會低於 VERY_UNLIKELY 或超過 VERY_LIKELY,因此,當基準可能性為 VERY_LIKELY 時,套用 1 的調整項目,後面接著 -1 的調整項目,結果將會得到 LIKELY 的最終可能性。

啟動字詞範例:相符病歷號碼

假設您想要偵測自訂的 infoType (例如格式為 ###-#-##### 的病歷號碼),而且想要在啟動字詞 "MRN" 位於這個數字之前 (而非之後) 時提高 Cloud DLP 發現項目的相符可能性。因此:

  • 123-4-56789 比對結果為 POSSIBLE
  • MRN 123-4-56789 比對結果為 VERY_LIKELY

以下 JSON 範例說明定義的自訂規則運算式 (如建立規則運算式 infoType 偵測工具相關說明所示),但加上了適當的啟動字詞規則:

JSON 輸入:

POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect?key={YOUR_API_KEY}

{
  "item":{
    "value":"Patient's MRN 444-5-22222"
  },
  "inspectConfig":{
    "customInfoTypes":[
      {
        "infoType":{
          "name":"C_MRN"
        },
        "regex":{
          "pattern":"[0-9]{3}-[0-9]{1}-[0-9]{5}"
        },
        "likelihood":"POSSIBLE",
        "detectionRules":[
          {
            "hotwordRule":{
              "hotwordRegex":{
                "pattern":"\b(?i)mrn(?-i)|\b(?i)Medical(?-i)"
              },
              "likelihoodAdjustment":{
                "fixedLikelihood":"VERY_LIKELY"
              },
              "proximity":{
                "windowBefore":10
              }
            }
          }
        ]
      }
    ]
  }
}

JSON 輸出:

{
  "result":{
    "findings":[
      {
        "infoType":{
          "name":"C_MRN"
        },
        "likelihood":"VERY_LIKELY",
        "location":{
          "byteRange":{
            "start":"14",
            "end":"25"
          },
          "codepointRange":{
            "start":"14",
            "end":"25"
          }
        },
        "createTime":"2018-11-13T18:50:44.337Z"
      }
    ]
  }
}

輸出顯示藉由使用我們命名為 C_MRN 的自訂 infoType 偵測工具及自訂規則運算式,Cloud DLP 已正確地識別病歷號碼。此外,由於偵測規則中的結構定義比對,Cloud DLP 已依照設定為 MRN 指派可能性 VERY_LIKELY

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
資料遺失防護說明文件