Comportement des fonctions avec des données personnelles sensibles - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Que sont les données personnelles sensibles ?

La définition des données personnelles sensibles est vaste et peut différer d'un pays à un autre, ou d'une entreprise à une autre. Les données personnelles sensibles sont des informations personnelles ou relatives à une entreprise comprenant des risques potentiels pour l'entreprise ou la personne en question.

À travers le monde, les données des cartes de paiement sont par exemple considérées comme des données personnelles sensibles. Également, les informations relatives à un salarié pouvant être utilisées pour l'identifier ou le localiser sont considérées comme des données sensibles. Une liste non-exhaustive de données personnelles sensibles peut comprendre : les noms et prénoms, adresses e-mail, adresses, le numéro de Sécurité Sociale, les numéros de carte de crédit, les numéros de comptes bancaires, la race, le genre, la date de naissance, le salaire et la géolocalisation combinée à une heure.

Pour plus d'informations concernant les données personnelles sensibles, consultez la page Données personnelles.

Par ailleurs, les données sensibles des entreprises peuvent comprendre, entre autres possibilités, tout ce qui est relatif au secret commercial, aux plans d'acquisition, aux données financières et aux informations clients.

Fonctions et données sensibles fréquentes

Différentes fonctions dans le composant tDataMasking peuvent varier selon le type de la colonne de données.

Il est recommandé d'utiliser les fonctions prédéfinies dans le composant avec des colonnes contenant des informations personnelles, comme des noms et prénoms, des adresses e-mail, des adresses, des numéros de Sécurité Sociale, des numéros de cartes de crédit, des numéros de comptes bancaires, la race, le genre, la date de naissance et le salaire.

Les fonctions ne s'expliquant pas d'elles-mêmes sont présentées dans le tableau ci-dessous :

Fonction

Description

Date Variance

Cette fonction s'applique uniquement aux valeurs de type Date. Elle utilise un paramètre devant être un nombre. Ce paramètre représente un nombre de jours. Elle modifie la date d'entrée en ajoutant ou en récupérant un nombre de jours inférieur à celui du paramètre.

Par exemple : si la date d'entrée est 15-02-1992 et que le paramètre est 10, alors la date générée est aléatoirement sélectionnée entre 05-02-1992 (15 - 10) et 25-02-1992 (15 + 10). Si la date d'entrée est nulle, la fonction retourne la date courante. Si le paramètre donné est 0 ou null, ou s'il n'est pas un nombre, il sera remplacé par 31.

Generate Account Number

Cette fonction génère un numéro de compte bancaire français valide. Elle ne requiert aucun paramètre et s'applique aux valeurs String.

Un numéro IBAN français est un code à 27 caractères. Les numéros sont générés aléatoirement par rapport à des algorithmes. Le dernier nombre de l'IBAN est connu comme clé du RIB et est généré avec un algorithme. Les troisième et quatrième de chiffres de l'IBAN sont également générés à l'aide d'un algorithme.

Generate Account Number and keep original country

Cette fonction se comporte comme Generate Account Number, elle génère un numéro de compte bancaire valide, pour le pays d'origine.

Si l'entrée est un numéro IBAN correct, la fonction génère un numéro IBAN du même pays, en entrée, prenant en compte l'IBAN, différent d'un pays à l'autre. Si l'entrée est un numéro de compte bancaire provenant des États-Unis, la fonction garde les neuf premiers chiffres et remplace les autres de manière aléatoire.

Cette fonction nécessite un paramètre pouvant être : true ou false. Si le paramètre est true, la fonction conserve le format d'entrée. S'il y a des espaces dans l'entrée, la sortie contiendra les mêmes espaces. Si le paramètre n'est ni true ni false, il est considéré comme false. Si l'entrée est un nombre null ou incorrect, la fonction aura le même comportement que pour la fonction Generate Account Number.

Generate Credit Card

Cette fonction génère un numéro de carte de crédit valide. Elle ne requiert aucun paramètre et peut être appliquée sur des valeurs de type String ou Long.

Trois types de cartes de crédit peuvent être générés : Visa, Master Card ou American Express. Un de ces types est choisi au hasard et un numéro de carte de crédit est généré. Ce numéro est généré aléatoirement et passe un algorithme détectant les faux numéros de cartes de crédit.

Generate from Pattern

Cette fonction s'applique uniquement sur des chaînes de caractères (Strings) et nécessite un paramètre.

Il génère une valeur correspondant au modèle donné comme paramètre. Le modèle doit suivre les règles suivantes :

- le caractère A est remplacé par une lettre capitale au hasard.

- le caractère a est remplacé par une lettre minuscule aléatoire.

- le chiffre 9 est remplacé par un chiffre aléatoire.

- tous les autres caractères restent tels qu'ils sont.

Vous pouvez générer différentes chaînes de caractères avec le même argument (valeur) en utilisant \\1 dans le modèle.

Par exemple, si le modèle donné est Aaaaa.Aaaaa99\\1,@gmail.com, la fonction va générer quelque chose comme Dsdf.Ksknt12@gmail.com. La valeur @gmail.com reste inchangée.

Notez que la fonction ne fonctionne pas correctement si une virgule est utilisée dans le modèle.

Generate Phone Number

Cette fonction s'applique uniquement sur les types Strings et ne requiert pas de paramètre.

Elle génère un numéro de téléphone aléatoire de différents pays (France, Allemagne, Japon, Royaume-Uni et États-Unis).

Generate Social Security Number (SSN)

Cette fonction est utilisée uniquement sur des chaînes de caractères et ne nécessite pas de paramètre. Elle génère un numéro de Sécurité Sociale aléatoire correct pour différents pays de votre choix (France, Allemagne, Japon, Royaume-Uni et États-Unis).

Generate Sequence

Cette fonction peut être appliquée à tout ce qui n'est pas une date (Integer, Long, String etc.). Elle requiert un paramètre devant être un nombre. Ici, il est configuré à 0.

Generate Uuid

Cette fonction s'applique uniquement aux valeurs de type Strings et ne nécessite aucun paramètre. Elle remplace la valeur d'entrée par un UUID généré aléatoirement.

Cette fonction utilise UUID.randomUUID() fournie par Java, signifiant qu'il n'y a pas de d'échantillon de données utilisé ici, ce qui implique que, si l'utilisateur exécute deux fois le même Job, les UUID générés seront différents.

Generate value between two values

Cette fonction génère une valeur aléatoire prise entre deux valeurs mentionnées comme argument. L'argument doit être une chaîne de caractères contenant les liens, séparés par une virgule, min et max.

Cette fonction peut être appliquée à n'importe quel type de champ. Cependant, si le champ est une date les dates de début et de fin doivent également être des dates et doivent avoir le même format dans le schéma, dd-MM-yyyy par exemple. Cependant, les dates de début et de fin doivent être des entiers.

Si l'entrée est de type Date, les fonctions retournent la date courante si les paramètres ne sont pas dans le bon format. Sinon, la fonction retourne une chaîne de caractères vide pour les valeurs des chaînes de caractères et 0 pour les valeurs numériques.

Keep characters between two positions

Cette fonction peut être utilisée sur des chaînes de caractères et nécessite deux paramètres séparés par une virgule.

Les deux premiers paramètres représentent les places de deux éléments d'entrée. La fonction retourne une nouvelle chaîne de caractères contenant seulement ces éléments et ce qui se trouve entre eux.

Si l'entrée est nulle ou si le paramètre est dans un mauvais format, la fonction retourne une chaîne de caractères vide. Si la limite inférieure est inférieure à 1, elle sera configurée à 1 et, si la limite supérieure est supérieure à la longueur de la chaîne de caractères, elle sera configurée à cette longueur. Les deux paramètres peuvent être donnés dans n'importe quel ordre. Si l'argument est 4, 2, il sera remplacé par 2, 4. Par exemple, si l'entrée est Steven et l'argument est 4, 2, le résultat sera tev.

Remove Characters between two positions et Replace characters between two positions

Ces fonctions ont le même comportement que Keep characters between two positions, mais avec une instruction de suppression ou de remplacement.

Keep n first digits and replace following ones

Cette fonction est utilisée sur des valeurs de type String, Integer et Long et nécessitent un nombre en tant que paramètre.

Si le paramètre est n, la fonction garde les n premiers chiffres de l'entrée et remplace tous les chiffres qui suivent par d'autres chiffres. Les caractères qui ne sont pas des chiffres ne seront pas modifiés. Une entrée nulle fait retourner par la fonction une chaîne de caractères vide ou 0.

Si la valeur du paramètre est supérieure à la longueur de l'entrée, aucune modification n'est appliquée.

keep n last digits and replace previous ones

Cette fonction est la contrepartie de Keep n first digits and replace following ones.

Mask Address

Cette fonction peut être utilisée uniquement sur des String. Elle remplace des chiffres par d'autres chiffres et le reste par X.

De plus, voici une liste de mots-clés qui ne seront pas transformés : Rue, rue, r., strasse, Strasse, Street, street, St., St, Strae, Strada, Rua, Calle, Ave., avenue, Av., Allée, all"e, alle, Avenue, Avenida, Bvd., Bd., Boulevard, boulevard, Blv., Viale, Avenida, Bulevar, Route, route, road, Road, Rd., Chemin, Way, Cour, Court, Ct., Place, place, Pl., Square, Impasse, Alle, Driveway, Auahrt, Viale, Esplanade, Esplanade, Promenade, Lungomare, Esplanada, Esplanada, Faubourg, faubourg, Suburb, Vorort, Periferia, Subrbio, Suburbio, Via, Via, industrial, area, zone, industrielle, Périphérique, Peripheral, Voie, voie, Track, Gleis, Carreggiata, Caminho, Pista, Forum, STREET, RUE, ST., AVENUE, BOULEVARD, BLV., BD, ROAD, ROUTE, RD., RTE, WAY, CHEMIN, COURT, CT., SQUARE, DRIVEWAY, ALLEE, DR., ESPLANADE, SUBURB, BANLIEUE, VIA, PERIPHERAL, PERIPHERIQUE, TRACK, VOIE, FORUM, INDUSTRIAL, AREA, ZONE, INDUSTRIELLE.

Vous pouvez ajouter un paramètre : soit une liste de mots-clés à ajouter à la liste ci-dessus (séparés par une virgule), soit un chemin d'accès à un fichier contenant les mots.

Mask Email

Cette fonction est utilisable uniquement sur des chaînes de caractères. Elle cherche le caractère @ et remplace tous les caractères le précédant par soit un élément de la liste donnée en paramètre (ou un chemin pointant vers un fichier contenant ces mots), ou par une série de X lorsqu'il n'y a pas de paramètre.

Numeric Variance

Cette fonction s'applique uniquement aux types numériques (Integer, Long, Float et Double).

Elle prend un paramètre qui doit être un nombre. Ce paramètre représente un pourcentage de modification. La fonction modifie les données d'entrée en les multipliant par un nombre compris entre la valeur du paramètre et son opposé. Par exemple, si l'entrée est de 100 et le paramètre est de 10, la valeur générée est sélectionnée aléatoirement entre 90 (100 - 10 %) et 110 (100 + 10 %). Si l'entrée est nulle, la fonction retourne 0. Si le paramètre donné est 0, il sera remplacé par 10.

Replace by consistent items from input list (or file)

Cette fonction modifie la valeur d'entrée en sélectionnant aléatoirement une des valeurs données en paramètre. Les valeurs doivent êtres stockées dans une chaîne de caractères et séparées par une virgule, par exemple ("item1, item2, item3, etc."). Elle utilise la fonction hashCode() fournie par Java pour choisir un élément de la liste.

Elle peut être appliquée à des types Strings ou numériques et assure que deux entrées similaires produisent la même sortie. Elle retourne une chaîne de caractères vide ou 0 s'il n'y a aucun paramètre donné ou s'il est incorrect.

Replace by item from input list (or file)

Cette fonction se comporte comme Replace by consistent item from input list, mais sélectionne aléatoirement la valeur dans la liste (ou le fichier). La sortie sera donc différente.