Con le regole per hotword, puoi estendere ulteriormente i rilevatori infoType integrati e personalizzati con regole di contesto efficaci. Una regola hotword indica a Sensitive Data Protection di modificare la probabilità di un risultato, a seconda che venga o meno presente una hotword vicino al risultato. Una regola hotword è un tipo di regola di ispezione specificata in serie di regole. Ogni regola viene applicata a un insieme di infoType integrati o personalizzati.
Struttura di una regola hotword
Un rilevatore infoType può avere zero o più regole hotword. Nella configurazione di ispezione, definisci ogni oggetto HotwordRule
all'interno dell'array rules
come segue:
"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"
},
}
},
...
]
Sostituisci quanto segue:
- REGEX_PATTERN: un'espressione regolare (oggetto
Regex
) che definisce cosa è una hotword. - NUM_CHARS_TO_CONSIDER_AFTER_FINDING: un intervallo di caratteri dopo il risultato. Sensitive Data Protection analizza questo intervallo per determinare se esiste una hotword vicino al risultato.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: un intervallo di caratteri prima del risultato. Sensitive Data Protection analizza questo intervallo per determinare se esiste una hotword vicino al risultato.
LIKELIHOOD_VALUE: un livello
Likelihood
fisso su cui impostare il risultato.LIKELIHOOD_ADJUSTMENT: un numero che indica di quanto Sensitive Data Protection deve aumentare o diminuire la probabilità del risultato. Un numero intero positivo aumenta il livello di probabilità, mentre un numero intero negativo lo riduce. Ad esempio, se un risultato sarebbe
POSSIBLE
senza la regola di rilevamento erelativeLikelihood
è 1, il risultato viene aggiornato aLIKELY
. SerelativeLikelihood
è -1, il risultato viene ridotto aUNLIKELY
. La probabilità non può mai scendere al di sotto diVERY_UNLIKELY
o superareVERY_LIKELY
. In questi casi, il livello di probabilità rimane lo stesso. Ad esempio, se la probabilità di base èVERY_LIKELY
e larelativeLikelihood
è 1, la probabilità finale rimaneVERY_LIKELY
.
Esempio di hotword: abbinare i numeri delle cartelle cliniche
Supponiamo che tu voglia rilevare un infoType personalizzato, ad esempio un numero di cartelle cliniche (MRN), nel formato "###-#-#####". Inoltre, vuoi che Sensitive Data Protection aumenti la probabilità di corrispondenza di ogni risultato che segue la hotword "MRN".
Valori di esempio:
- 123-4-56789 corrisponde a
POSSIBLE
. - L'MRN 123-4-56789 corrisponderebbe a
VERY_LIKELY
.
L'esempio JSON e gli snippet di codice riportati di seguito mostrano come configurare la regola hotword. In questo esempio viene utilizzato un rilevatore di espressioni regolari personalizzato.
In questo esempio, tieni presente quanto segue:
- La richiesta definisce l'infoType personalizzato
C_MRN
, che rileva qualsiasi stringa corrispondente all'espressione regolare[0-9]{3}-[0-9]{1}-[0-9]{5}
. - L'espressione regolare
(?i)(mrn|medical)(?-i)
definisce la hotword. Sensitive Data Protection cerca questa hotword nell'intervallo di caratteri definito nel campoproximity
. - Per ogni risultato
C_MRN
contenente una hotword all'interno del setproximity
, Sensitive Data Protection imposta il livello di probabilità suVERY_LIKELY
.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Consulta la guida rapida di JSON per ulteriori informazioni sull'utilizzo dell'API DLP con JSON.
Metodo HTTP e URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Sostituisci PROJECT_ID
con l'ID progetto.
Input JSON:
{
"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
}
}
}
]
}
]
}
}
Output JSON (abbreviato):
{ "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": { ... } } } ] } }
L'output mostra che Sensitive Data Protection ha identificato correttamente il numero di cartelle cliniche utilizzando il rilevatore infoType personalizzato C_MRN
.
Inoltre, a causa della corrispondenza del contesto nella regola hotword, Sensitive Data Protection ha assegnato il primo risultato (che aveva un MRN all'interno dell'insieme proximity
), la probabilità di VERY_LIKELY
, come configurato. La seconda
rilevazione mancava di contesto, quindi likelihood
è rimasta a POSSIBLE
.
Esempio di hotword: impostare la probabilità di corrispondenza di una colonna di tabella
Questo esempio mostra come impostare la probabilità di corrispondenza di un'intera colonna di dati. Questo approccio è utile, ad esempio, se vuoi escludere una colonna di dati dai risultati dell'ispezione.
Considera la tabella seguente. Una colonna contiene codici fiscali segnaposto e un'altra con numeri di previdenza sociale reali.
Codice fiscale falso | Numero di previdenza sociale reale |
---|---|
111-11-1111 | 222-22-2222 |
Per ridurre al minimo il rumore nei risultati dell'ispezione, puoi escludere eventuali risultati nella colonna Fake Social Security Number
. Assegna un livello di probabilità basso a questa
colonna. Quindi, configura la richiesta in modo che le corrispondenze con quel livello di probabilità siano escluse dai risultati.
In questo esempio, tieni presente quanto segue:
- La regola hotword viene applicata all'infoType
US_SOCIAL_SECURITY_NUMBER
. - L'espressione regolare della hotword
(Fake Social Security Number)
contiene il nome della colonna con i valori segnaposto. - La proprietà
windowBefore
è impostata su 1, il che significa che l'hotword si trova nell'intestazione di una colonna e i risultati devono essere nella colonna. - Per ogni risultato
US_SOCIAL_SECURITY_NUMBER
in questa colonna, Sensitive Data Protection imposta il livello di probabilità suVERY_UNLIKELY
. - La proprietà
minLikelihood
è impostata suPOSSIBLE
, il che significa che qualsiasi risultato con un livello di probabilità inferiore aPOSSIBLE
viene escluso dai risultati dell'ispezione.
Consulta la guida rapida di JSON per ulteriori informazioni sull'utilizzo dell'API DLP con JSON.
Metodo HTTP e URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Sostituisci PROJECT_ID
con l'ID progetto.
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Input JSON:{
"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"
}
}
Output JSON:
{ "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" } ] } }
Il valore 111-11-1111, presente nella colonna Fake Social Security Number
, corrisponde alla regola hotword, quindi Sensitive Data Protection ha assegnato il livello di probabilità VERY_UNLIKELY
. Questo livello è inferiore alla probabilità minima impostata nella configurazione di ispezione (POSSIBLE
), pertanto questo risultato viene escluso dal risultato dell'ispezione.
Puoi fare delle prove con questo esempio rimuovendo la serie di regole. Tieni presente che la protezione dei dati sensibili include 111-11-1111 nei risultati.