Un détecteur d'infoType personnalisé à base d'expression régulière (regex) vous permet de créer vos propres détecteurs qui permettent à la protection des données sensibles de détecter les correspondances basées sur un modèle d'expression régulière. Supposons par exemple que vous ayez des numéros de dossiers médicaux au format ###-#-#####
. Vous pouvez définir un modèle d'expression régulière comme suit :
[0-9]{3}-[0-9]{1}-[0-9]{5}
La protection des données sensibles met alors en correspondance les éléments comme ceux-ci:
012-4-56789
Anatomie d'un détecteur d'infoType d'expression régulière personnalisé
Comme résumé dans la section Présentation de l'API, pour créer un détecteur d'infoType d'expression régulière personnalisé, vous devez définir un objet CustomInfoType
contenant les éléments suivants:
- Le nom que vous souhaitez attribuer au détecteur d'infoType personnalisé, dans un objet
InfoType
. - Une valeur
Likelihood
facultative. Si vous omettez ce champ, les correspondances avec les expressions régulières renvoient une probabilité par défaut deVERY_LIKELY
. Si vous remarquez qu'un détecteur d'infoType d'expression régulière personnalisé renvoie trop de faux positifs, réduisez la probabilité de base et utilisez des règles de détection afin d'améliorer la probabilité grâce aux informations contextuelles. Pour en savoir plus, consultez la page Personnaliser la probabilité de correspondance. - Un objet facultatif
DetectionRule
ou des règles relatives aux mots clés. Ces règles permettent d'ajuster la probabilité des résultats dans un espace de proximité donné avec certains mots clés spécifiés. Pour en savoir plus sur les règles relatives aux mots clés, consultez la page Personnaliser la probabilité de correspondance. Une valeur
SensitivityScore
facultative. Si vous omettez ce champ, les correspondances avec l'expression régulière renvoient le niveau de sensibilité par défautHIGH
.Les scores de sensibilité sont utilisés dans les profils de données. Lors du profilage des données, la protection des données sensibles utilise les scores de sensibilité des infoTypes pour calculer le niveau de sensibilité.
Un objet
Regex
constitué d'un seul modèle définissant l'expression régulière.
En tant qu'objet JSON, un détecteur d'infoType d'expression régulière personnalisé incluant tous les composants facultatifs se présente comme suit :
{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_INFOTYPE_NAME"
},
"likelihood":"LIKELIHOOD_LEVEL",
"detectionRules":[
{
"hotwordRule":{
HOTWORD_RULE
}
},
"sensitivityScore":{
"score": "SENSITIVITY_SCORE"
},
],
"regex":{
"pattern":"REGULAR_EXPRESSION_PATTERN"
}
}
],
...
}
Exemple d'expression régulière : identifier des numéros de dossiers médicaux
L'extrait de code JSON et le code suivants dans plusieurs langages ci-dessous montrent un détecteur d'infoType d'expression régulière personnalisé qui demande à la protection des données sensibles de faire correspondre un numéro de dossier médical (MRN) dans le texte d'entrée "Patient's MRN 444-5-22222" et d'attribuer à chaque correspondance la probabilité POSSIBLE
.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez Bibliothèques clientes pour la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez Bibliothèques clientes pour la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez Bibliothèques clientes pour la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez Bibliothèques clientes pour la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez Bibliothèques clientes pour la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez Bibliothèques clientes pour la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Pour découvrir comment utiliser le format JSON avec l'API DLP, consultez le démarrage rapide JSON.
Entrée 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"
}
]
}
}
Sortie 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'aide du détecteur d'infoType personnalisé que nous avons appelé C_MRN
et de son expression régulière personnalisée, la protection des données sensibles a correctement identifié le numéro du dossier médical et lui a attribué la probabilité POSSIBLE
, comme nous l'avons spécifié.
La page Personnaliser la probabilité de correspondance s'appuie sur cet exemple pour inclure des mots de contexte.