Utilizzando le regole hotword, puoi estendere ulteriormente i rilevatori infoType incorporati e personalizzati con regole di contesto efficaci. Una regola hotword indica a Sensitive Data Protection di aggiustare la probabilità di un rilevamento, a seconda che una hotword si verifichi nelle vicinanze del rilevamento. Una regola hotword è un tipo di regola di ispezione, specificata nei set di regole. Ogni regola viene applicata a un insieme di infoType incorporati o personalizzati.
Anatomia di una regola hotword
Un rilevatore di infoType può avere zero o più regole hotword. Nella
configurazione dell'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 si qualifica come hotword. - NUM_CHARS_TO_CONSIDER_AFTER_FINDING: un intervallo di caratteri dopo la rilevazione. Sensitive Data Protection analizza questo intervallo per determinare se una hotword si verifica nelle vicinanze del rilevamento.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: un intervallo di caratteri prima del risultato. Sensitive Data Protection analizza questo intervallo per determinare se una hotword si verifica nelle vicinanze del rilevamento.
LIKELIHOOD_VALUE: un livello
Likelihood
fisso su cui impostare il rilevamento.LIKELIHOOD_ADJUSTMENT: un numero che indica quanto Sensitive Data Protection deve aumentare o diminuire la probabilità del rilevamento. Un numero intero positivo aumenta il livello di probabilità, mentre un numero intero negativo lo diminuisce. Ad esempio, se un risultato sarebbe
POSSIBLE
senza la regola di rilevamento erelativeLikelihood
è 1, il risultato viene eseguito l'upgrade aLIKELY
. SerelativeLikelihood
è -1, il livello del rilevamento viene abbassato aUNLIKELY
. La probabilità non può mai scendere al di sotto diVERY_UNLIKELY
o superareVERY_LIKELY
. In questi casi, il livello di probabilità rimane invariato. Ad esempio, se la probabilità di base èVERY_LIKELY
erelativeLikelihood
è 1, la probabilità finale rimaneVERY_LIKELY
.
Esempio di hotword: trova i numeri dei referti medici
Supponiamo che tu voglia rilevare un infoType personalizzato, ad esempio un numero di record medico (MRN), nel formato "###-#-#####". Inoltre, vuoi che la Protezione dei dati sensibili aumenti la probabilità di corrispondenza di ogni risultato che segue la hotword "MRN".
Valori di esempio:
- 123-4-56789 corrisponde a
POSSIBLE
. - La cartella clinica 123-4-56789 corrisponde a
VERY_LIKELY
.
L'esempio JSON e gli snippet di codice seguenti mostrano come configurare la regola hotword. Questo esempio utilizza un rilevatore di espressioni regolari personalizzate.
In questo esempio, tieni presente quanto segue:
- La richiesta definisce l'infoType personalizzato
C_MRN
, che è un rilevatore per qualsiasi stringa che corrisponde all'espressione regolare[0-9]{3}-[0-9]{1}-[0-9]{5}
. - L'espressione regolare
(?i)(mrn|medical)(?-i)
definisce la hotword. La funzionalità di protezione dei dati sensibili cerca questa hotword nell'intervallo di caratteri definito nel campoproximity
. - Per ogni risultato
C_MRN
che ha una hotword all'interno dell'insiemeproximity
, 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida introduttiva 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 cartella clinica utilizzando il rilevatore di infoType personalizzato C_MRN
.
Inoltre, a causa della corrispondenza del contesto
nella regola della hotword, la funzionalità di protezione dei dati sensibili ha assegnato al primo risultato,
che aveva un MRN nell'insieme proximity
, una probabilità di VERY_LIKELY
, come configurato. Il secondo
risultato non aveva contesto, quindi likelihood
è rimasto a POSSIBLE
.
Esempio di hotword: imposta la probabilità di corrispondenza di una colonna della 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 numeri di previdenza sociale (SSN) segnaposto e un'altra contiene SSN reali.
Numero di previdenza sociale 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 a questa colonna un livello di probabilità basso. Poi, configura la richiesta in modo che le corrispondenze con questo 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 hotword
(Fake Social Security Number)
contiene il nome della colonna con i valori segnaposto. - La proprietà
windowBefore
è impostata su 1, il che significa che la hotword si trova in un'intestazione di colonna e che i risultati devono trovarsi nella colonna. - Per ogni risultato
US_SOCIAL_SECURITY_NUMBER
in questa colonna, la funzionalità Protezione dei dati sensibili 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.
Per ulteriori informazioni sull'utilizzo dell'API DLP con JSON, consulta la guida introduttiva 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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 autenticarti a Sensitive Data Protection, configura le 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, che si trova nella colonna Fake Social Security Number
, corrispondeva alla regola hotword, pertanto la funzionalità Protezione dei dati sensibili gli ha assegnato il livello di probabilità VERY_UNLIKELY
. Questo livello è inferiore alla probabilità minima impostata nella configurazione dell'ispezione (POSSIBLE
), pertanto questo risultato viene escluso dal risultato dell'ispezione.
Puoi fare esperimenti con questo esempio rimuovendo l'insieme di regole. Tieni presente che Sensitive Data Protection include 111-11-1111 nei risultati.