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 auftritt. 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: einen Bereich von Zeichen nach dem Ergebnis. Sensitive Data Protection analysiert diesen Bereich, um festzustellen, ob ein Hotword in der Nähe des Ergebnisses auftritt.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: ein Bereich von Zeichen vor dem Ergebnis. Sensitive Data Protection analysiert diesen Bereich, um festzustellen, ob ein Hotword in der Nähe des Ergebnisses auftritt.
LIKELIHOOD_VALUE: eine feste
Likelihood
-Stufe, auf die das Ergebnis gesetzt werden soll.LIKELIHOOD_ADJUSTMENT: Eine Zahl, die angibt, wie viel der Schutz sensibler Daten 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
POSSIBLE
wäre undrelativeLikelihood
1 ist, erfolgt ein Upgrade aufLIKELY
. WennrelativeLikelihood
-1 ist, wird das Ergebnis aufUNLIKELY
herabgestuft. Die Wahrscheinlichkeit darf niemals unterVERY_UNLIKELY
fallen oderVERY_LIKELY
überschreiten. In diesen Fällen bleibt die Wahrscheinlichkeitsstufe gleich. Wenn die Basiswahrscheinlichkeit beispielsweiseVERY_LIKELY
ist und derrelativeLikelihood
1 ist, bleibt die endgültige WahrscheinlichkeitVERY_LIKELY
.
Hotword-Beispiel: Krankenaktennummern abgleichen
Angenommen, Sie möchten einen benutzerdefinierten infoType wie eine Krankenaktennummer (Medical Record Number, MRN) im Format ###-#-##### erkennen. Außerdem soll der Schutz sensibler Daten die Übereinstimmungswahrscheinlichkeit für jedes Ergebnis, das auf das Hotword „MRN“ folgt, erhöhen.
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. Beim Schutz sensibler Daten wird nach diesem Hotword im Feld gesucht, das im Feldproximity
definiert ist. - Für jedes
C_MRN
-Ergebnis, das ein Hotword innerhalb der festgelegtenproximity
hat, legt der Schutz sensibler Daten die Wahrscheinlichkeitsstufe aufVERY_LIKELY
fest.
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 der Schutz sensibler Daten die Krankenaktennummer mit dem benutzerdefinierten infoType-Detektor C_MRN
korrekt identifiziert hat.
Aufgrund des Kontextabgleichs in der Hotword-Regel hat der Schutz vertraulicher Daten dem ersten Ergebnis, das eine MRN innerhalb des festgelegten proximity
hatte, eine Wahrscheinlichkeit von VERY_LIKELY
zugewiesen, so wie dies konfiguriert wurde. 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_NUMBER
angewendet. - Der reguläre Hotword-Ausdruck
(Fake Social Security Number)
enthält den Namen der Spalte mit den Platzhalterwerten. - Die Eigenschaft
windowBefore
ist auf „1“ gesetzt. Das bedeutet, dass sich das Hotword in einer Spaltenüberschrift befindet und die Ergebnisse in der Spalte sein müssen. - Für jedes
US_SOCIAL_SECURITY_NUMBER
-Ergebnis in dieser Spalte legt der Schutz sensibler Daten die Wahrscheinlichkeitsstufe aufVERY_UNLIKELY
fest. - Das Attribut
minLikelihood
ist aufPOSSIBLE
gesetzt. Das bedeutet, dass jedes Ergebnis mit einer Wahrscheinlichkeitsstufe von unterPOSSIBLE
aus 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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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 den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
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, der sich in der Spalte Fake Social Security Number
befindet, entsprach der Hotword-Regel, sodass der Schutz sensibler Daten ihm die Wahrscheinlichkeitsstufe VERY_UNLIKELY
zugewiesen hat . 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 der Schutz sensibler Daten 111-11-1111 in den Ergebnissen enthält.