Mit Hotword-Regeln können Sie integrierte und benutzerdefinierte infoType-Detektoren durch leistungsstarke Kontextregeln erweitern. Eine Hotword-Regel weist Sensitive Data Protection an, die Wahrscheinlichkeit eines Ergebnisses anzupassen, je nachdem, ob ein Hotword in der Nähe dieses Ergebnisses vorkommt. Eine Hotword-Regel ist eine Art Prüfregel, die in Regelsätzen festgelegt wird. Jede Regel wird auf eine Reihe von integrierten oder benutzerdefinierten infoTypes angewendet.
Anatomie einer Hotword-Regel
Ein infoType-Detektor kann keine oder mehrere Hotword-Regeln haben. In Ihrer Inspektionskonfiguration definieren Sie jedes HotwordRule-Objekt innerhalb des Arrays rules so:
"rules":[
{
"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"
},
}
},
...
]
Dabei gilt:
- REGEX_PATTERN: ein regulärer Ausdruck (
Regex-Objekt), der definiert, was als Hotword gilt. - NUM_CHARS_TO_CONSIDER_AFTER_FINDING: ein Zeichenbereich nach dem Ergebnis. Sensitive Data Protection analysiert diesen Bereich, um festzustellen, ob ein Hotword in der Nähe des Ergebnisses vorkommt.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: ein Zeichenbereich vor dem Ergebnis. Sensitive Data Protection analysiert diesen Bereich, um festzustellen, ob ein Hotword in der Nähe des Ergebnisses vorkommt.
LIKELIHOOD_VALUE: eine feste
Likelihood-Stufe, auf die das Ergebnis gesetzt werden soll.LIKELIHOOD_ADJUSTMENT: eine Zahl, die angibt, wie stark Sensitive Data Protection die Wahrscheinlichkeit des Ergebnisses erhöhen oder verringern muss. Eine positive Ganzzahl erhöht die Wahrscheinlichkeitsstufe und eine negative Ganzzahl verringert sie. Beispiel: Wenn ein Ergebnis ohne die Erkennungsregel
POSSIBLEwäre undrelativeLikelihood1 ist, erfolgt ein Upgrade aufLIKELY. WennrelativeLikelihood-1 ist, wird das Ergebnis aufUNLIKELYherabgestuft. Die Wahrscheinlichkeit darf niemals unterVERY_UNLIKELYfallen oderVERY_LIKELYüberschreiten. In diesen Fällen bleibt die Wahrscheinlichkeitsstufe gleich. Wenn die Basiswahrscheinlichkeit beispielsweiseVERY_LIKELYist und derrelativeLikelihood1 ist, bleibt die endgültige WahrscheinlichkeitVERY_LIKELY.
Hotword-Beispiel: Krankenaktennummern abgleichen
Angenommen, Sie möchten einen benutzerdefinierten infoType wie eine Krankenaktennummer (MRN) im Format „###-#-#####“ erkennen. Außerdem möchten Sie, dass Sensitive Data Protection die Übereinstimmungswahrscheinlichkeit jedes Ergebnisses erhöht, das auf das Hotword „MRN“ folgt.
Beispielwerte:
- 123-4-56789 als Übereinstimmung
POSSIBLE. - MRN 123-4-56789 als Übereinstimmung
VERY_LIKELY.
Das folgende JSON-Beispiel und die Code-Snippets zeigen, wie Sie die Hotword-Regel konfigurieren. In diesem Beispiel wird ein benutzerdefinierter Detektor für reguläre Ausdrücke verwendet.
Beachten Sie in diesem Beispiel Folgendes:
- Die Anfrage definiert den benutzerdefinierten infoType
C_MRN, bei dem es sich um einen Detektor für jeden String handelt, der mit dem regulären Ausdruck[0-9]{3}-[0-9]{1}-[0-9]{5}übereinstimmt. - Der reguläre Ausdruck
(?i)(mrn|medical)(?-i)definiert das Hotword. Sensitive Data Protection sucht nach diesem Hotword innerhalb des Zeichenbereichs, der im Feldproximitydefiniert ist. - Für jedes
C_MRN-Ergebnis, das ein Hotword im Satzproximityenthält, setzt Sensitive Data Protection die Wahrscheinlichkeitsstufe aufVERY_LIKELY.
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Weitere Informationen zur Verwendung der DLP API mit JSON finden Sie im JSON-Schnellstart.
HTTP-Methode und URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Ersetzen Sie PROJECT_ID durch die Projekt-ID.
JSON-Eingabe:
{
"item":{
"value":"Patient's MRN 444-5-22222 and just a number 333-2-33333"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[0-9]{3}-[0-9]{1}-[0-9]{5}"
},
"likelihood":"POSSIBLE",
}
],
"ruleSet":[
{
"infoTypes": [{"name" : "C_MRN"}],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"(?i)(mrn|medical)(?-i)"
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
},
"proximity":{
"windowBefore":10
}
}
}
]
}
]
}
}
JSON-Ausgabe (abgekürzt):
{
"result": {
"findings": [
{
"infoType": {
"name": "C_MRN"
},
"likelihood": "VERY_LIKELY",
"location": {
"byteRange": {
"start": "14",
"end": "25"
},
"codepointRange": { ... }
}
},
{
"infoType": {
"name": "C_MRN"
},
"likelihood": "POSSIBLE",
"byteRange": {
"start": "44",
"end": "55"
},
"codepointRange": { ... }
}
}
]
}
}
Die Ausgabe zeigt, dass Sensitive Data Protection die Krankenaktennummer mithilfe des benutzerdefinierten infoType-Detektors C_MRN korrekt identifiziert hat.
Aufgrund des Kontextabgleichs in der Hotword-Regel hat Sensitive Data Protection dem ersten Ergebnis, das eine MRN innerhalb des festgelegten proximity enthielt, wie konfiguriert eine Wahrscheinlichkeit von VERY_LIKELY zugewiesen. Beim zweiten Ergebnis fehlte der Kontext, daher blieb likelihood bei POSSIBLE.
Hotword-Beispiel: Übereinstimmungswahrscheinlichkeit einer Tabellenspalte festlegen
In diesem Beispiel wird gezeigt, wie Sie die Übereinstimmungswahrscheinlichkeit einer gesamten Datenspalte festlegen können. Dieser Ansatz ist beispielsweise nützlich, wenn Sie eine Datenspalte aus Inspektionsergebnissen ausschließen möchten.
Sehen Sie sich die folgende Tabelle an. Eine Spalte enthält Platzhalter-Sozialversicherungsnummern (Social Security numbers, SSNs) und eine andere echte SSNs.
| Gefälschte Sozialversicherungsnummer | Echte Sozialversicherungsnummer |
|---|---|
| 111-11-1111 | 222-22-2222 |
Schließen Sie alle Ergebnisse in der Spalte Fake Social Security Number aus, um falsch positive Meldungen in Inspektionsergebnissen zu minimieren. Weisen Sie dieser Spalte eine niedrige Wahrscheinlichkeitsstufe zu. Konfigurieren Sie dann die Anfrage so, dass sie mit dieser Wahrscheinlichkeitsstufe aus den Ergebnissen ausgeschlossen wird.
Beachten Sie in diesem Beispiel Folgendes:
- Die Hotword-Regel wird auf den infoType
US_SOCIAL_SECURITY_NUMBERangewendet. - Der reguläre Ausdruck für das Hotword
(Fake Social Security Number)enthält den Namen der Spalte mit den Platzhalterwerten. - Das Attribut
windowBeforeist auf 1 festgelegt. Das bedeutet, dass sich das Hotword in einer Spaltenüberschrift befindet und die Ergebnisse in der Spalte enthalten sein müssen. - Für jedes
US_SOCIAL_SECURITY_NUMBER-Ergebnis in dieser Spalte setzt Sensitive Data Protection die Wahrscheinlichkeitsstufe aufVERY_UNLIKELY. - Das Attribut
minLikelihoodist aufPOSSIBLEgesetzt. Das bedeutet, dass jedes Ergebnis mit einer Wahrscheinlichkeitsstufe von unterPOSSIBLEaus den Prüfergebnissen ausgeschlossen wird.
Weitere Informationen zur Verwendung der DLP API mit JSON finden Sie im JSON-Schnellstart.
HTTP-Methode und URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Ersetzen Sie PROJECT_ID durch die Projekt-ID.
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
JSON-Eingabe:{
"item": {
"table": {
"headers": [
{
"name": "Fake Social Security Number"
},
{
"name": "Real Social Security Number"
}
],
"rows": [
{
"values": [
{
"stringValue": "111-11-1111"
},
{
"stringValue": "222-22-2222"
}
]
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"includeQuote": true,
"ruleSet": [
{
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"rules": [
{
"hotwordRule": {
"hotwordRegex": {
"pattern": "(Fake Social Security Number)"
},
"likelihoodAdjustment": {
"fixedLikelihood": "VERY_UNLIKELY"
},
"proximity": {
"windowBefore": 1
}
}
}
]
}
],
"minLikelihood": "POSSIBLE"
}
}
JSON-Ausgabe:
{
"result": {
"findings": [
{
"quote": "222-22-2222",
"infoType": {
"name": "US_SOCIAL_SECURITY_NUMBER"
},
"likelihood": "VERY_LIKELY",
"location": {
"byteRange": {
"end": "11"
},
"codepointRange": {
"end": "11"
},
"contentLocations": [
{
"recordLocation": {
"fieldId": {
"name": "Real Social Security Number"
},
"tableLocation": {}
}
}
]
},
"createTime": "TIMESTAMP",
"findingId": "TIMESTAMP"
}
]
}
}
Der Wert 111-11-1111 in der Spalte Fake Social Security Number entsprach der Hotword-Regel. Daher hat Sensitive Data Protection ihm die Wahrscheinlichkeitsstufe VERY_UNLIKELY zugewiesen. Diese Stufe liegt unter der Mindestwahrscheinlichkeit, die in der Prüfungskonfiguration (POSSIBLE) festgelegt ist. Dieses Ergebnis wird daher aus dem Prüfergebnis ausgeschlossen.
Sie können mit diesem Beispiel experimentieren, indem Sie den Regelsatz entfernen. Beachten Sie, dass Sensitive Data Protection 111-11-1111 in die Ergebnisse einbezieht.