Ein benutzerdefinierter, auf einem regulären Ausdruck (Regex) basierender infoType-Detektor ermöglicht es Ihnen, eigene Detektoren zu erstellen, mit denen Cloud DLP Übereinstimmungen anhand eines Regex-Musters erkennen kann. Nehmen wir beispielsweise an, Sie hätten Krankenaktennummern im Format ###-#-#####
. Sie könnten ein Regex-Muster wie das Folgende definieren:
[0-9]{3}-[0-9]{1}-[0-9]{5}
Cloud DLP prüft dann auf Übereinstimmungen mit Elementen wie diesem:
012-4-56789
Anatomie eines benutzerdefinierten Regex-infoType-Detektors
Wie in der API-Übersicht dargestellt, definieren Sie zum Erstellen eines benutzerdefinierten Regex-infoType-Detektors ein CustomInfoType
CustomInfoType-Objekt, das Folgendes enthält:
- Der Name, den Sie dem benutzerdefinierten infoType-Detektor innerhalb eines
InfoType
-Objekts geben möchten. - Einen optionalen Wert
Likelihood
. Wenn Sie diese Angabe weglassen, wird bei Übereinstimmungen mit regulären Ausdrücken die StandardwahrscheinlichkeitVERY_LIKELY
zurückgegeben. Wenn Sie feststellen, dass ein benutzerdefinierter Regex-infoType-Detektor zu viele falsche positive Ergebnisse zurückgibt, versuchen Sie, die Basiswahrscheinlichkeit zu reduzieren, und verwenden Sie Erkennungsregeln, um die Wahrscheinlichkeit mithilfe von Kontextinformationen zu erhöhen. Weitere Informationen finden Sie unter Ergebnis-Wahrscheinlichkeit anpassen. - Optionale
DetectionRule
oder Hotword-Regeln. Diese Regeln passen die Wahrscheinlichkeit von Ergebnissen innerhalb einer gegebenen Nähe von angegebenen Hotwords an. Weitere Informationen zu Hotword-Regeln finden Sie unter Ergebnis-Wahrscheinlichkeit anpassen. - Ein
Regex
-Objekt, das aus einem einzelnen Muster besteht, das den regulären Ausdruck definiert.
Als JSON-Objekt sieht ein benutzerdefinierter Regex-infoType-Detektor, der alle optionalen Komponenten enthält, so aus:
{
"customInfoTypes":[
{
"infoType":{
"name":"[CUSTOM_INFOTYPE_NAME]"
},
"likelihood":"[LIKELIHOOD_VALUE]",
"detectionRules":[
{
"hotwordRule":{
[HOTWORDRULE_OBJECT]
}
},
...
],
"regex":{
"pattern":"[REGEX_PATTERN]"
}
}
],
...
}
Regex-Beispiel: Krankenaktennummern abgleichen
Das folgende JSON-Code-Snippet und der folgende Code in mehreren Sprachen unten zeigen einen benutzerdefinierten infoType-Detektor mit regulärem Ausdruck, der Cloud DLP anweist, eine Krankenaktennummer (Medical Record Number, MRN) im Eingabetext "Patient's MRN 444-5-22222" zuzuordnen und jeder Übereinstimmung eine Wahrscheinlichkeit von POSSIBLE
zuzuweisen.
Protokoll
Weitere Informationen zur Verwendung der DLP API mit JSON finden Sie im JSON-Schnellstart.
JSON-Eingabe:
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-Ausgabe:
{
"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"
}
]
}
}
Die Ausgabe zeigt, dass Cloud DLP mithilfe des benutzerdefinierten infoType-Detektors (den wir "C_MRN
" genannt haben) und dem zugehörigen benutzerdefinierten regulären Ausdruck die Krankenaktennummer korrekt identifiziert und ihr eine Wahrscheinlichkeit von POSSIBLE
zugewiesen hat, wie von uns festgelegt.
Wenn Sie die Übereinstimmungswahrscheinlichkeit anpassen möchten, bauen Sie auf diesem Beispiel auf, um Kontextwörter einzubeziehen.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud DLP finden Sie unter Cloud DLP-Clientbibliotheken.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud DLP finden Sie unter Cloud DLP-Clientbibliotheken.