À l'aide de règles relatives aux mots clés, vous pouvez étendre les détecteurs d'infoTypes intégrés et personnalisés à l'aide de règles de contexte puissantes. Une règle relative aux mots clés indique à la protection des données sensibles d'ajuster la probabilité d'un résultat, selon qu'un mot clé apparaît à proximité ou non de ce résultat. Une règle relative aux mots clés est un type de règle d'inspection spécifié dans des ensembles de règles. Chaque règle est appliquée à un ensemble d'infoTypes intégrés ou personnalisés.
Anatomie d'une règle relative aux mots clés
Un détecteur d'infoType peut avoir zéro règle relative aux mots clés ou plus. Dans votre configuration d'inspection, vous définissez chaque objet HotwordRule
dans le tableau rules
, comme suit :
"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"
},
}
},
...
]
Remplacez les éléments suivants :
- REGEX_PATTERN : expression régulière (objet
Regex
) qui définit ce qui doit être considéré comme un mot clé. - NUM_CHARS_TO_CONSIDER_AFTER_FINDING : plage de caractères après le résultat. La protection des données sensibles analyse cette plage pour déterminer si un mot clé apparaît à proximité du résultat.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING : plage de caractères avant le résultat. La protection des données sensibles analyse cette plage pour déterminer si un mot clé apparaît à proximité du résultat.
LIKELIHOOD_VALUE : niveau de probabilité
Likelihood
fixe à appliquer au résultat.LIKELIHOOD_ADJUSTMENT: nombre indiquant dans quelle mesure la protection des données sensibles doit augmenter ou diminuer la probabilité du résultat. Un entier positif augmente le niveau de probabilité et un entier négatif le diminue. Par exemple, si un résultat est
POSSIBLE
sans appliquer la règle de détection et que la valeur derelativeLikelihood
est égale à 1, le résultat est mis à niveau versLIKELY
(probable). Si la valeur derelativeLikelihood
est -1, le résultat passe àUNLIKELY
(peu probable). La probabilité ne peut jamais être inférieure àVERY_UNLIKELY
ou dépasserVERY_LIKELY
. Dans ce cas, le niveau de probabilité reste le même. Par exemple, si la probabilité de base estVERY_LIKELY
(très probable) et que la valeur derelativeLikelihood
est 1, la probabilité finale reste deVERY_LIKELY
.
Exemple de mot clé : identifier des numéros de dossiers médicaux
Supposons que vous souhaitiez détecter un infoType personnalisé tel qu'un numéro de dossier médical (MRN) sous la forme "###-#-{9}". Vous souhaitez également que la protection des données sensibles augmente la probabilité de correspondance de chaque résultat qui suit le mot clé "MRN".
Exemples de valeur :
- 123-4-56789 générerait une correspondance de probabilité
POSSIBLE
; - MRN 123-4-56789 générerait une correspondance de probabilité
VERY_LIKELY
.
L'exemple JSON et les extraits de code ci-dessous vous montrent comment configurer la règle relative aux mots clés. Cet exemple utilise un détecteur d'expressions régulières personnalisé.
Dans cet exemple, notez les points suivants :
- La requête définit l'infoType personnalisé
C_MRN
, qui est un détecteur pour toute chaîne correspondant à l'expression régulière[0-9]{3}-[0-9]{1}-[0-9]{5}
. - L'expression régulière
(?i)(mrn|medical)(?-i)
définit le mot clé. Le service de protection des données sensibles recherche ce mot clé dans la plage de caractères définie dans le champproximity
. - Pour chaque résultat
C_MRN
comportant un mot clé dans l'ensembleproximity
, la protection des données sensibles définit le niveau de probabilité surVERY_LIKELY
.
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.
Méthode HTTP et URL :
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Remplacez PROJECT_ID
par l'ID du projet.
Entrée 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
}
}
}
]
}
]
}
}
Sortie JSON (abrégée) :
{ "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": { ... } } } ] } }
Le résultat montre que la protection des données sensibles a correctement identifié le numéro du dossier médical à l'aide du détecteur d'infoType personnalisé C_MRN
.
En outre, en raison de la correspondance de contexte dans la règle relative aux mots clés, la protection des données sensibles a attribué le premier résultat (qui comporte un numéro de dossier médical dans l'ensemble proximity
) une probabilité de VERY_LIKELY
, telle que configurée. Le deuxième résultat n'ayant pas le même contexte, la valeur de likelihood
est restée à POSSIBLE
.
Exemple de mot clé : Définir la probabilité de correspondance d'une colonne de table
Cet exemple montre comment définir la probabilité de correspondance d'une colonne de données entière. Cette approche est utile, par exemple, si vous souhaitez exclure une colonne de données des résultats d'inspection.
Prenons l'exemple de table suivant. Une colonne contient des numéros de sécurité sociale (SSN) factices, et une autre contient de véritables numéros de sécurité sociale.
Faux numéro de sécurité sociale | Véritable numéro de sécurité sociale |
---|---|
111-11-1111 | 222-22-2222 |
Pour minimiser le bruit dans les résultats d'inspection, vous pouvez exclure tous les résultats de la colonne Fake Social Security Number
. Attribuez un niveau de probabilité faible à cette colonne. Configurez ensuite la requête de sorte à ce que les correspondances avec ce niveau de probabilité soient exclues des résultats.
Dans cet exemple, notez les points suivants :
- La règle relative aux mots clés est appliquée à l'infoType
US_SOCIAL_SECURITY_NUMBER
. - L'expression régulière de mot clé
(Fake Social Security Number)
contient le nom de la colonne comportant les valeurs factices. - La propriété
windowBefore
est définie sur 1, ce qui signifie que le mot clé se trouve dans un en-tête de colonne et que les résultats doivent se trouver dans la colonne. - Pour chaque résultat
US_SOCIAL_SECURITY_NUMBER
de cette colonne, la protection des données sensibles définit le niveau de probabilité surVERY_UNLIKELY
. - La propriété
minLikelihood
est définie surPOSSIBLE
, ce qui signifie que tout résultat dont le niveau de probabilité est inférieur àPOSSIBLE
est exclu des résultats de l'inspection.
Pour découvrir comment utiliser le format JSON avec l'API DLP, consultez le démarrage rapide JSON.
Méthode HTTP et URL :
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
Remplacez PROJECT_ID
par l'ID du projet.
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
Entrée 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"
}
}
Sortie 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" } ] } }
La valeur 111-11-1111, qui se trouve dans la colonne Fake Social Security Number
, correspond à la règle relative aux mots clés. La protection des données sensibles lui a donc attribué le niveau de probabilité VERY_UNLIKELY
. Ce niveau est inférieur à la probabilité minimale définie dans la configuration d'inspection (POSSIBLE
) et le résultat est donc exclu des résultats d'inspection.
Vous pouvez tester cet exemple en supprimant l'ensemble de règles. Notez que la protection des données sensibles inclut 111-11-1111 dans les résultats.