Cet article présente les techniques d'anonymisation, ou transformations, disponibles dans Sensitive Data Protection.
Types de techniques d'anonymisation
Le choix de la transformation d'anonymisation à utiliser dépend du type de données que vous souhaitez anonymiser et de l'objectif de l'opération. Les techniques d'anonymisation disponibles dans Sensitive Data Protection relèvent des catégories générales suivantes:
- Effacement : supprime tout ou partie d'une valeur sensible détectée.
- Remplacement : remplace une valeur sensible détectée par une valeur de substitution spécifiée.
- Masquage : remplace un certain nombre de caractères d'une valeur sensible par un caractère de substitution spécifié, tel qu'un dièse (#) ou un astérisque (*).
- Tokenisation cryptographique : chiffre la valeur des données sensibles d'origine à l'aide d'une clé cryptographique. La protection des données sensibles est compatible avec plusieurs types de tokenisation, y compris les transformations réversibles permettant d'effectuer une désanonymisation
- Binning : "généralise" une valeur sensible en la remplaçant par une plage de valeurs. Par exemple, remplacer un âge spécifique par une tranche d'âge, ou des températures par des plages correspondant à "chaud", "moyen" et "froid".
- Changement de date : remplace les valeurs de date sensibles par une durée aléatoire.
- Extraction de données temporelles : extrait ou conserve des portions spécifiées de valeurs de date et d'heure.
Le reste de l'article présente les différents types de transformation d'anonymisation, accompagnés d'exemples d'utilisation.
Méthodes de transformation
Le tableau ci-dessous répertorie les transformations fournies par la protection des données sensibles pour anonymiser les données sensibles:
Transformation | Objet | Description | Inversion possible1 | Intégrité référentielle2 | Type d'entrée |
---|---|---|---|---|---|
Effacement | RedactConfig |
Efface une valeur en la supprimant. | Tout | ||
Remplacement | ReplaceValueConfig |
Remplace chaque valeur saisie par une valeur donnée. | Tout | ||
Remplacer par le dictionnaire | ReplaceDictionaryConfig
|
Remplace une valeur saisie par une valeur sélectionnée de manière aléatoire dans une liste de mots. | Tout | ||
Remplacement par un infoType | ReplaceWithInfoTypeConfig |
Remplace une valeur saisie par le nom de son infoType. | Tout | ||
Masquage avec un caractère | CharacterMaskConfig |
Masque intégralement ou partiellement une chaîne en remplaçant un nombre donné de caractères par un caractère fixe spécifié. | Tout | ||
Pseudonymisation en remplaçant la valeur saisie par un hachage de chiffrement | CryptoHashConfig |
Remplace les valeurs saisies par une chaîne hexadécimale de 32 octets générée à l'aide d'une clé de chiffrement des données. Pour en savoir plus, consultez la documentation relative au concept de pseudonymisation. | ✔ | Chaînes ou entiers | |
Pseudonymisation en remplaçant la valeur saisie par un jeton de chiffrement préservant le format | CryptoReplaceFfxFpeConfig |
Remplace une valeur saisie par un jeton (ou valeur de substitution) de la même longueur à l'aide du chiffrement préservant le format (FPE), en mode d'opération FFX. Le résultat peut ainsi être utilisé dans les systèmes faisant appel à la validation de format des longueurs de chaînes. Cette méthode est utile pour les anciens systèmes dans lesquels la longueur de chaîne doit être gérée.
Important : pour les entrées dont la longueur est variable ou supérieure à 32 octets, utilisez l'objet CryptoDeterministicConfig .
Pour garantir la sécurité des données, les limites suivantes sont recommandées par le National Institute of Standards and Technology :
|
✔ | ✔ | Chaînes ou entiers avec un nombre limité de caractères et de longueur uniforme. L'alphabet doit comporter un minimum de deux et un maximum de 95 caractères. |
Pseudonymisation en remplaçant la valeur saisie par un jeton cryptographique | CryptoDeterministicConfig |
Remplace une valeur d'entrée par un jeton ou une valeur de substitution de même longueur à l'aide de la méthode AES en mode vecteur d'initialisation synthétique (AES-SIV). Cette méthode de transformation, contrairement à la tokenisation qui préserve le format, n'impose aucune limitation aux jeux de caractères de chaîne compatibles, génère des jetons identiques pour chaque instance d'une valeur d'entrée identique, et applique des valeurs de substitution pour activer la désanonymisation à partir de la clé de chiffrement d'origine. | ✔ | ✔ | Tout |
Fragmentation des valeurs en fonction de plages de taille fixe | FixedSizeBucketingConfig |
Masque les valeurs saisies en les remplaçant par des "buckets" (plages auxquelles appartiennent les valeurs spécifiées). | Tout | ||
Fragmentation des valeurs en fonction de plages de taille personnalisée | BucketingConfig |
Fragmente les valeurs saisies d'après des plages configurables par l'utilisateur et des valeurs de remplacement. | Tout | ||
Changement de date | DateShiftConfig |
Décale les dates d'un nombre aléatoire de jours. Offre la possibilité de rester cohérent dans un même contexte. | ✔ Conserve la séquence et la durée. |
Dates/Heures | |
Extraction des données temporelles | TimePartConfig |
Extrait ou conserve une partie des valeurs Date , Timestamp et TimeOfDay . |
Dates/Heures |
Notes de bas de page
content.reidentify
.Occultation
Si vous souhaitez simplement supprimer des données sensibles de votre contenu d'entrée, la protection des données sensibles accepte la transformation de masquage (RedactConfig
dans l'API DLP).
Par exemple, supposons que vous vouliez effectuer un simple effacement de tous les infoTypes EMAIL_ADDRESS
et que la chaîne suivante soit envoyée à la protection des données sensibles:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
La chaîne renvoyée sera la suivante :
My name is Alicia Abernathy, and my email address is .
L'exemple JSON et le code suivants dans plusieurs langages montrent comment former la requête API et ce que renvoie l'API DLP.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 en savoir plus sur l'utilisation de l'API DLP avec JSON, consultez le démarrage rapide JSON.
Méthode HTTP et URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Remplacez PROJECT_ID
par l'ID du projet.
Entrée JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"redactConfig":{
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Sortie JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"redactConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Remplacement
Les transformations de remplacement substituent à chaque valeur d'entrée une valeur de jeton donnée ou le nom de son infoType.
Remplacement de base
La transformation de remplacement de base (ReplaceValueConfig
dans l'API DLP) remplace les valeurs de données sensibles détectées par une valeur que vous spécifiez. Exemple : vous avez indiqué à la protection des données sensibles d'utiliser "[fake@example.com]" pour remplacer tous les infoTypes EMAIL_ADDRESS
détectés, et la chaîne suivante est envoyée à la protection des données sensibles :
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Ceci renvoie la chaîne suivante :
My name is Alicia Abernathy, and my email address is [fake@example.com].
L'exemple JSON et le code suivants dans plusieurs langages montrent comment former la requête API et ce que renvoie l'API DLP.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 en savoir plus sur l'utilisation de l'API DLP avec JSON, consultez le démarrage rapide JSON.
Méthode HTTP et URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Remplacez PROJECT_ID
par l'ID du projet.
Entrée JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Sortie JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is [email-address]."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Remplacement de dictionnaire
Le remplacement par dictionnaire (ReplaceDictionaryConfig
) remplace chaque élément de données sensibles détectées par une valeur que la protection des données sensibles sélectionne de manière aléatoire dans une liste de mots que vous fournissez.
Cette méthode de transformation est utile si vous souhaitez utiliser des valeurs de substitution réalistes.
Supposons que vous souhaitiez que Sensitive Data Protection détecte les adresses e-mail et remplace chaque valeur détectée par l'une des trois adresses e-mail de substitution.
Vous envoyez la chaîne d'entrée suivante à la protection des données sensibles, ainsi que la liste des adresses e-mail de substitution:
Chaîne d'entrée
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Liste de mots
- izumi@example.com
- alex@example.com
- tal@example.com
La chaîne renvoyée peut être l'une des suivantes:
My name is Alicia Abernathy, and my email address is izumi@example.com.
My name is Alicia Abernathy, and my email address is alex@example.com.
My name is Alicia Abernathy, and my email address is tal@example.com.
L'exemple JSON suivant montre comment former la requête API et ce que renvoie l'API DLP.
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:deidentify
Remplacez PROJECT_ID
par l'ID du projet.
Entrée JSON
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig": {
"infoTypeTransformations": {
"transformations": [
{
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
],
"primitiveTransformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
}
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
]
}
}
Sortie JSON
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is izumi@example.com."
},
"overview": {
"transformedBytes": "22",
"transformationSummaries": [
{
"infoType": {
"name": "EMAIL_ADDRESS"
},
"transformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
},
"results": [
{
"count": "1",
"code": "SUCCESS"
}
],
"transformedBytes": "22"
}
]
}
}
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
Remplacement d'infoType
Vous pouvez également spécifier un remplacement d'infoType (ReplaceWithInfoTypeConfig
dans l'API DLP). Cette transformation effectue la même action que la transformation de remplacement de base, sauf que chaque valeur de données sensibles détectée est remplacée par l'infoType de cette valeur.
Par exemple, supposons que vous ayez indiqué à la Protection des données sensibles de détecter à la fois les adresses e-mail et les noms de famille, puis de remplacer chaque valeur détectée par son infoType. Vous envoyez la chaîne suivante à Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Ceci renvoie la chaîne suivante :
My name is Alicia LAST_NAME, and my email address is EMAIL_ADDRESS.
Masquage
Vous pouvez configurer la protection des données sensibles de sorte à masquer entièrement ou partiellement une valeur sensible détectée (CharacterMaskConfig
dans l'API DLP) en remplaçant chaque caractère par un caractère de masquage fixe, tel qu'un astérisque (*) ou un dièse (#). Le masquage peut être effectué à partir du début ou de la fin de la chaîne. Cette transformation fonctionne également avec les types de nombres tels que les entiers longs.
La transformation de masquage de la protection des données sensibles propose les options suivantes:
- Caractère de masquage (argument
maskingCharacter
dans l'API DLP) : caractère à utiliser pour masquer chaque caractère d'une valeur sensible. Par exemple, vous pouvez spécifier un astérisque (*) ou un dièse (#) pour masquer une série de nombres, comme un numéro de carte de crédit. - Nombre de caractères à masquer (
numberToMask
) : si vous ne spécifiez pas cette valeur, tous les caractères sont masqués. - Masquage inversé (
reverseOrder
) : inverse l'ordre de masquage des caractères. Les caractères des valeurs correspondantes sont masqués en partant de la fin. - Caractères à ignorer (
charactersToIgnore
) : un ou plusieurs caractères à ignorer lors du masquage des valeurs. Par exemple, pour le masquage des numéros de téléphone, vous pouvez indiquer à la protection des données sensibles de conserver les traits d'union. Vous pouvez également spécifier un groupe de caractères communs (CharsToIgnore
) à ignorer lors du masquage.
Exemple : Vous envoyez la chaîne suivante à la protection des données sensibles en lui indiquant d'utiliser la transformation de masquage de caractères sur les adresses e-mail :
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
Si vous avez défini le caractère de masquage sur "#", les caractères à ignorer sur le jeu de caractères communs, et que vous avez conservé les autres paramètres par défaut, la protection des données sensibles renvoie les éléments suivants:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
Voici quelques exemples de code JSON montrant les étapes d'une transformation de masquage :
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 en savoir plus sur l'utilisation de l'API DLP avec JSON, consultez le démarrage rapide JSON.
Méthode HTTP et URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Remplacez PROJECT_ID
par l'ID du projet.
Entrée JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"reverseOrder":false,
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Sortie JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ##########@#######.###."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Transformations d'anonymisation par chiffrement
Les transformations d'anonymisation par chiffrement (également appelée "pseudonymisation") sont des méthodes d'anonymisation qui remplacent les valeurs de données sensibles initiales par des valeurs chiffrées. La protection des données sensibles est compatible avec les types de tokenisation suivants, y compris les transformations réversibles qui permettent d'effectuer une désanonymisation:
- Hachage cryptographique: à l'aide d'une clé cryptographique
CryptoKey
, la protection des données sensibles applique sur la valeur d'entrée un code d'authentification de message basé sur le protocole SHA-256 (HMAC-SHA-256), puis remplace la valeur d'entrée par la valeur hachée encodée en base64. Contrairement aux autres types de transformations basées sur le chiffrement, ce type de transformation n'est pas réversible. - Chiffrement préservant le format: remplace une valeur d'entrée par un jeton généré à l'aide du chiffrement préservant le format (FPE) en mode d'opération FFX. Cette méthode de transformation génère un jeton limité au même alphabet que la valeur d'entrée et de même longueur que cette valeur. FPE accepte également la restauration de l'identification à partir de la clé de chiffrement initiale.
- Chiffrement déterministe : remplace une valeur d'entrée par un jeton généré en appliquant la norme AES en mode vecteur d'initialisation synthétique (AES-SIV). Cette méthode de transformation n'impose aucune limitation aux jeux de caractères de chaîne compatibles, génère des jetons identiques pour chaque instance d'une valeur d'entrée identique, et applique des valeurs de substitution pour activer la désanonymisation à partir de la clé de chiffrement d'origine.
Hachage cryptographique
La transformation par hachage cryptographique (CryptoHashConfig
dans l'API DLP) applique une valeur d'entrée (une portion de données sensibles que la protection des données sensibles a détectée) et la remplace par une valeur hachée. La valeur de hachage est générée à l'aide d'un code d'authentification de message basé sur le protocole SHA-256 (HMAC-SHA-256), appliqué sur la valeur d'entrée à l'aide d'une CryptoKey
.
La protection des données sensibles génère en sortie une représentation de la valeur d'entrée hachée encodée en base64, qui remplace la valeur initiale.
Avant d'utiliser la transformation par hachage cryptographique, gardez à l'esprit les points suivants :
- La valeur d'entrée n'est pas chiffrée mais hachée.
- Cette action est irréversible. En d'autres termes, étant donné la valeur de sortie hachée de la transformation et la clé cryptographique initiale, il n'existe aucun moyen de restaurer la valeur d'origine.
- Actuellement, seules les chaînes et les valeurs entières peuvent être hachées.
- La sortie hachée de la transformation a toujours la même longueur, déterminée par la clé cryptographique. Par exemple, si vous utilisez la transformation de hachage par chiffrement sur des numéros de téléphone à 10 chiffres, chaque numéro de téléphone est remplacé par une valeur de hachage de longueur fixe, codée en base64.
Chiffrement préservant le format
La méthode de transformation par chiffrement préservant le format (FPE) (CryptoReplaceFfxFpeConfig
dans l'API DLP) prend une valeur d'entrée (une portion de données sensibles détectée par la protection des données sensibles), la chiffre à l'aide du chiffrement préservant le format en mode FFX et d'un CryptoKey
, puis remplace la valeur d'origine par la valeur chiffrée, ou jeton.
La valeur saisie est soumise aux conditions suivantes :
- Elle doit comporter au moins deux caractères (ou la chaîne vide).
- Elle doit être encodée en ASCII.
- Elle doit être composée des caractères spécifiés par un "alphabet", qui est constitué d'un jeu de 2 à 95 caractères autorisés dans la valeur d'entrée. Reportez-vous au champ "alphabet" dans
CryptoReplaceFfxFpeConfig
pour en savoir plus.
Le jeton généré :
- correspond à la valeur d'entrée chiffrée ;
- conserve le jeu de caractères ("alphabet") et la longueur de la valeur d'entrée après le chiffrement ;
- est calculé à l'aide de la méthode de chiffrement préservant le format en mode FFX, à partir de la clé cryptographique spécifiée ;
- n'est pas nécessairement unique, dans la mesure où chaque instance de la même valeur d'entrée anonymise le même jeton. L'intégrité référentielle étant ainsi assurée, la recherche des données anonymisées est simplifiée. Ce comportement peut être modifié en procédant à des "ajustements" de contexte, comme décrit dans la section Contextes.
S'il existe plusieurs occurrences d'une valeur d'entrée dans le contenu source, chacune anonymise le même jeton. La méthode FPE préserve à la fois la longueur et l'espace alphabétique (le jeu de caractères), lequel est limité à 95 caractères. Vous pouvez modifier ce comportement en procédant à des "ajustements" de contexte en vue d'améliorer la sécurité. L'ajout d'un ajustement de contexte à la transformation permet à la protection des données sensibles d'anonymiser plusieurs instances de la même valeur d'entrée pour différents jetons. Si vous n'avez pas besoin de conserver la longueur et l'espace alphabétique des valeurs d'origine, utilisez le chiffrement déterministe comme décrit ci-après.
Sensitive Data Protection calcule le jeton de remplacement à l'aide d'une clé cryptographique. Vous fournissez cette clé de l'une des trois manières suivantes :
- En l'incorporant sous forme non chiffrée à la requête API. Cette action n'est pas recommandée.
- En demandant à Sensitive Data Protection de la générer.
- En l'incorporant sous forme chiffrée à la requête API.
Si vous choisissez d'intégrer la clé dans la requête API, vous devez créer une clé et l'encapsuler (chiffrer) à l'aide d'une clé Cloud Key Management Service (Cloud KMS). Pour en savoir plus, consultez la page Créer une clé encapsulée. La valeur renvoyée par défaut est une chaîne codée en base64. Pour définir cette valeur dans la protection des données sensibles, vous devez la décoder en une chaîne d'octets. Les extraits de code suivants indiquent comment procéder dans plusieurs langages. Des exemples de bout en bout sont fournis à la suite de ces extraits.
Java
KmsWrappedCryptoKey.newBuilder()
.setWrappedKey(ByteString.copyFrom(BaseEncoding.base64().decode(wrappedKey)))
Python
# The wrapped key is base64-encoded, but the library expects a binary
# string, so decode it here.
import base64
wrapped_key = base64.b64decode(wrapped_key)
PHP
// Create the wrapped crypto key configuration object
$kmsWrappedCryptoKey = (new KmsWrappedCryptoKey())
->setWrappedKey(base64_decode($wrappedKey))
->setCryptoKeyName($keyName);
C#
WrappedKey = ByteString.FromBase64(wrappedKey)
Pour en savoir plus sur le chiffrement et le déchiffrement des données à l'aide de Cloud KMS, consultez la page Chiffrer et déchiffrer des données.
Exemples de chiffrement préservant le format: anonymisation
Cet exemple utilise la méthode de transformation CryptoReplaceFfxFpeConfig
pour anonymiser les données sensibles. Pour en savoir plus, consultez la section Chiffrement préservant le format sur cette page.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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.
Exemples de chiffrement préservant le format: anonymisation avec un type de substitut
Cet exemple utilise la méthode de transformation CryptoReplaceFfxFpeConfig
pour anonymiser les données sensibles. Pour en savoir plus, consultez la section Chiffrement préservant le format sur cette page.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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.
Exemples de chiffrement préservant le format: anonymisation de données sensibles dans des tableaux
Cet exemple utilise la méthode de transformation CryptoReplaceFfxFpeConfig
pour anonymiser les données sensibles dans les tables. Pour en savoir plus, consultez la section Chiffrement préservant le format sur cette page.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
Exemples de chiffrement préservant le format: restauration de l'identification
Voici un exemple de code dans plusieurs langages qui montre comment utiliser la protection des données sensibles pour réidentifier les données sensibles qui ont été anonymisées à l'aide de la méthode de transformation CryptoReplaceFfxFpeConfig
. Pour en savoir plus, consultez la section Chiffrement préservant le format de cette page.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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.
Exemples de chiffrement préservant le format: restauration de l'identification du texte
Vous trouverez ci-dessous des exemples de code dans plusieurs langages qui montrent comment utiliser la protection des données sensibles pour réidentifier du texte sensible qui a été anonymisé à l'aide de la méthode de transformation CryptoReplaceFfxFpeConfig
. Pour en savoir plus, consultez la section Chiffrement préservant le format de cette page.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
Exemples de chiffrement préservant le format: restauration de l'identification avec un type de substitut
Voici un exemple de code dans plusieurs langages qui montre comment utiliser la protection des données sensibles pour réidentifier les données sensibles qui ont été anonymisées à l'aide de la méthode de transformation CryptoReplaceFfxFpeConfig
. Pour en savoir plus, consultez la section Chiffrement préservant le format de cette page.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
Exemples de chiffrement préservant le format: réidentification des données sensibles dans les tables
Voici un exemple de code dans plusieurs langages qui montre comment utiliser la protection des données sensibles pour réidentifier les données sensibles dans les tables qui ont été anonymisées à l'aide de la méthode de transformation CryptoReplaceFfxFpeConfig
. Pour en savoir plus, consultez la section Chiffrement préservant le format de cette page.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
Chiffrement déterministe
La méthode de transformation par chiffrement déterministe CryptoDeterministicConfig
dans l'API DLP prend une valeur d'entrée (une portion de données sensibles détectée par la protection des données sensibles), la chiffre en utilisant le protocole AES-SIV avec une CryptoKey
, puis remplace la valeur d'origine par une représentation de la valeur chiffrée, encodée en base64.
La méthode de transformation par chiffrement déterministe permet une recherche plus efficace des données chiffrées.
La valeur saisie est soumise aux conditions suivantes :
- Elle doit comporter au moins 1 caractère.
- Aucune limitation n'est imposée au jeu de caractères.
Le jeton généré :
- est une représentation de la valeur chiffrée, encodée en base64 ;
- ne préserve pas le jeu de caractères ("alphabet") ni la longueur de la valeur d'entrée après le chiffrement ;
- est calculé en appliquant le chiffrement AES en mode SIV (AES-SIV) avec une
CryptoKey
; - n'est pas nécessairement unique, dans la mesure où chaque instance de la même valeur d'entrée anonymise le même jeton. Cela permet une recherche plus efficace des données chiffrées. Ce comportement peut être modifié en procédant à des "ajustements" de contexte, comme décrit dans la section Contextes ;
- est généré avec un préfixe ajouté, sous la forme
[SURROGATE_TYPE]([LENGTH]):
, où[SURROGATE_TYPE]
représente un infoType de substitution décrivant la valeur d'entrée, et[LENGTH]
indique la longueur en nombre de caractères. Le substitut permet de désanonymiser le jeton à l'aide de la clé de chiffrement d'origine utilisée pour l'anonymisation.
Voici un exemple de configuration JSON pour effectuer une anonymisation à l'aide d'un chiffrement déterministe. Notez que nous avons choisi d'utiliser PHONE_SURROGATE comme type de substitut descriptif puisque nous anonymisons les numéros de téléphone.
[CRYPTO_KEY]
représente une clé cryptographique non encapsulée, obtenue à partir de Cloud KMS.
{
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
]
},
"item":{
"value":"My phone number is 206-555-0574, call me"
}
}
L'anonymisation de la chaîne "My phone number is 206-555-0574" à l'aide de cette transformation entraîne la création d'une chaîne semblable à ceci :
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
Pour désanonymiser cette chaîne, vous pouvez utiliser une requête JSON comme ci-après, où [CRYPTO_KEY] correspond à la même clé cryptographique que celle utilisée pour anonymiser contenu.
{
"reidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_SURROGATE"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"PHONE_SURROGATE"
},
"surrogateType":{
}
}
]
},
"item":{
"value":"My phone number is [PHONE_SURROGATE](36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me"
}
}
La désanonymisation de cette chaîne rétablit la chaîne initiale :
My phone number is 206-555-0574, call me
Si vous souhaitez utiliser un CryptoKey
encapsulé (chiffré) pour plus de sécurité, consultez la page Démarrage rapide : anonymiser et désanonymiser du texte sensible pour obtenir un exemple. Lorsque vous êtes prêt à utiliser une bibliothèque cliente pour anonymiser du contenu, n'oubliez pas de décoder la clé encapsulée (chaîne par défaut encodée en base64), comme illustré dans Chiffrement préservant le format sur cette page.
Exemples de chiffrement déterministe: anonymisation
Cet exemple utilise la méthode de transformation CryptoDeterministicConfig
pour anonymiser les données sensibles. Pour en savoir plus, consultez la section Chiffrement déterministe sur cette page.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
Exemples de chiffrement déterministe: réidentification
Cet exemple montre comment réidentifier des données sensibles qui ont été anonymisées à l'aide de la méthode de transformation CryptoDeterministicConfig
. Pour en savoir plus, consultez la section Chiffrement déterministe sur cette page.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
Binning
Les transformations de binning permettent d'anonymiser les données numériques en les fragmentant en plages. La plage de nombres qui en résulte est une chaîne composée d'une limite inférieure, d'un trait d'union et d'une limite supérieure.
Binning par taille fixe
La protection des données sensibles peut regrouper des valeurs d'entrée numériques basées sur des plages de taille fixe (FixedSizeBucketingConfig
dans l'API DLP). Vous devez pour cela spécifier les éléments suivants :
- La limite inférieure de tous les buckets. Les valeurs en dessous de la limite inférieure sont regroupées dans un bucket unique.
- La valeur limite supérieure de tous les buckets. Les valeurs au-dessus de la limite supérieure sont regroupées dans un bucket unique.
- La taille de chaque bucket autre que les buckets présentant la valeur minimale et maximale.
Par exemple, si la limite inférieure est définie sur 10, la limite supérieure est définie sur 89. Si la taille du bucket est définie sur 10, les buckets suivants doivent être définis sur -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+.
Pour en savoir plus sur le concept de binning, consultez la section Généralisation et binning.
Binning personnalisable
Le binning personnalisable (BucketingConfig
dans l'API DLP) offre plus de flexibilité que le binning par taille fixe.
Plutôt que de spécifier des limites supérieure et inférieure ainsi qu'une valeur d'intervalle avec laquelle créer des buckets de taille égale, vous spécifiez les valeurs maximale et minimale pour chaque bucket que vous souhaitez créer. Chaque paire de valeurs maximale et minimale doit partager le même type.
Pour configurer une opération de binning personnalisable, vous spécifiez les buckets individuellement. Chaque bucket possède les propriétés suivantes :
- La limite inférieure de la plage du bucket. Omettez cette valeur pour créer un bucket sans limite inférieure.
- La limite supérieure de la plage du bucket. Omettez cette valeur pour créer un bucket sans limite supérieure.
- La valeur de remplacement de la plage de bucket spécifiée. Cette valeur remplace toutes les valeurs détectées qui se situent dans les limites inférieure et supérieure. Si vous ne spécifiez pas de valeur de remplacement, une plage de valeurs minimale et maximale reliées par un trait d'union est générée.
Par exemple, examinons la configuration JSON suivante pour cette transformation de binning :
"bucketingConfig":{
"buckets":[
{
"min":{
"integerValue":"1"
},
"max":{
"integerValue":"30"
},
"replacementValue":{
"stringValue":"LOW"
}
},
{
"min":{
"integerValue":"31"
},
"max":{
"integerValue":"65"
},
"replacementValue":{
"stringValue":"MEDIUM"
}
},
{
"min":{
"integerValue":"66"
},
"max":{
"integerValue":"100"
},
"replacementValue":{
"stringValue":"HIGH"
}
}
]
}
Cette configuration définit le comportement suivant :
- Les valeurs entières comprises entre 1 et 30 sont masquées et remplacées par
LOW
. - Les valeurs entières comprises entre 31 et 65 sont masquées et remplacées par
MEDIUM
. - Les valeurs entières comprises entre 66 et 100 sont masquées et remplacées par
HIGH
.
Pour en savoir plus sur le concept de binning, consultez la page Généralisation et binning.
Changer la date
Lorsque vous utilisez la transformation de changement de date (DateShiftConfig
dans l'API DLP) sur une valeur de date d'entrée, Sensitive Data Protection décale les dates d'un nombre de jours aléatoire.
Les techniques de changement de date modifient un ensemble de dates de manière aléatoire, tout en préservant la séquence et la durée d'une période. Le changement de date s'effectue généralement dans le contexte d'un individu ou d'une entité. Vous pouvez par exemple modifier toutes les dates pour un individu spécifique à l'aide du même différentiel de modification, mais appliquer un différentiel distinct pour un autre individu.
Pour en savoir plus sur cette transformation, consultez la section Changement de date.
Voici un exemple de code dans plusieurs langages qui montre comment utiliser l'API Cloud DLP pour anonymiser les dates à l'aide du changement de date.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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.
Extraction de données temporelles
L'extraction de données temporelles (TimePartConfig
dans l'API DLP) préserve une partie d'une valeur correspondante comprenant des éléments de date, d'heure ou d'horodatage. Vous spécifiez dans la protection des données sensibles le type de valeur temporelle que vous souhaitez extraire, y compris l'année, le mois, le jour du mois, etc. (énumérés dans l'objet TimePart
).
Supposons que vous ayez configuré une transformation timePartConfig
en définissant la partie temporelle à extraire sur YEAR
. Après avoir envoyé les données de la première colonne ci-dessous à Sensitive Data Protection, vous obtenez les valeurs transformées dans la deuxième colonne:
Valeurs d'origine | Valeurs transformées |
---|---|
9/21/1976 |
1976 |
6/7/1945 |
1945 |
1/20/2009 |
2009 |
7/4/1776 |
1776 |
8/1/1984 |
1984 |
4/21/1982 |
1982 |
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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 la page Bibliothèques clientes de 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.