Un rilevatore infoType personalizzato con espressioni regolari (regex) consente di creare rilevatori che consentono a Sensitive Data Protection di rilevare le corrispondenze in base a un pattern regex. Ad esempio, supponiamo che i numeri delle cartelle cliniche siano nel formato ###-#-#####
. Puoi definire un pattern regex come il seguente:
[0-9]{3}-[0-9]{1}-[0-9]{5}
Sensitive Data Protection troverà quindi elementi come i seguenti:
012-4-56789
Anatomia di un rilevatore infoType personalizzato con regex
Come riepilogato nella
Panoramica delle API, per creare un
rilevatore infoType regex personalizzato, devi definire un
oggetto
CustomInfoType
contenente quanto segue:
- Il nome che vuoi assegnare al rilevatore infoType personalizzato, all'interno di un oggetto
InfoType
. - Un valore
Likelihood
facoltativo. Se ometti questo campo, le corrispondenze regex restituiranno la probabilità predefinita diVERY_LIKELY
. Se noti che un rilevatore infoType personalizzato regex restituisce troppi falsi positivi, prova a ridurre la probabilità di base e a utilizzare le regole di rilevamento per aumentare la probabilità utilizzando informazioni contestuali. Per scoprire di più, consulta Personalizzazione della probabilità di risultato. DetectionRule
o regole hotword facoltative. Queste regole regolano la probabilità degli esiti nelle vicinanze di hotword specificate. Scopri di più sulle regole per le hotword in Personalizzazione della probabilità di trovare.Un valore
SensitivityScore
facoltativo. Se ometti questo campo, le corrispondenze con l'espressione regolare restituiranno un livello di sensibilità predefinito diHIGH
.I punteggi di sensibilità vengono utilizzati nei profili di dati. Durante la profilazione dei dati, Sensitive Data Protection utilizza i punteggi di sensibilità degli infoType per calcolare il livello di sensibilità.
Un oggetto
Regex
costituito da un singolo pattern che definisce l'espressione regolare.
Come oggetto JSON, un rilevatore infoType personalizzato regex che include tutti i componenti facoltativi ha il seguente aspetto:
{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_INFOTYPE_NAME"
},
"likelihood":"LIKELIHOOD_LEVEL",
"detectionRules":[
{
"hotwordRule":{
HOTWORD_RULE
}
},
"sensitivityScore":{
"score": "SENSITIVITY_SCORE"
},
],
"regex":{
"pattern":"REGULAR_EXPRESSION_PATTERN"
}
}
],
...
}
Esempio di espressione regolare: corrispondenza dei numeri delle cartelle cliniche
Il seguente snippet e codice JSON in vari linguaggi riportati di seguito mostrano un rilevatore infoType personalizzato di espressione regolare che indica alla protezione dei dati sensibili di associare un numero di cartelle cliniche (MRN) nel testo di input "MRN del paziente 444-5-22222" e assegnare a ogni corrispondenza una probabilità di POSSIBLE
.
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.
Input JSON:
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"
}
]
}
}
Output JSON:
{
"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"
}
]
}
}
L'output mostra che, utilizzando il rilevatore infoType personalizzato, abbiamo assegnato il nome C_MRN
e la sua espressione regolare personalizzata, Sensitive Data Protection ha identificato correttamente il numero di cartelle cliniche e gli ha assegnato una certezza di POSSIBLE
, come specificato.
La personalizzazione della probabilità di corrispondenza si basa su questo esempio per includere parole di contesto.