Propriété du tPatternMasking pour Apache Spark Batch - 7.3

tPatternMasking

EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
EnrichPlatform
Studio Talend
task
Création et développement > Systèmes tiers > Composants Data Quality > Composants de protection des données sensibles
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de protection des données sensibles
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de protection des données sensibles

Ces propriétés sont utilisées pour configurer le tPatternMasking s'exécutant dans le framework de Jobs Spark Batch.

Le composant tPatternMasking Spark Batch appartient à la famille Qualité de données.

Le composant de ce framework est disponible dans tous les produits Talend Platform avec Big Data et dans Talend Data Fabric.

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

Cliquez sur Sync columns pour récupérer le schéma du composant précédent dans le Job.

Modifiez le schéma en cliquant sur Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

Le schéma de sortie de ce composant comporte des colonnes en lecture seule :
  • TWEAK : un tweak est généré lorsque la case Use tweaks with FF1 Encryption est cochée. Cette colonne contient le tweak nécessaire au déchiffrement des données.
  • ORIGINAL_MARK : indique par true ou false si l'enregistrement est un enregistrement original ou un enregistrement de substitution, respectivement.

 

Built-in : le schéma est créé et conservé localement pour ce composant seulement.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

Modifications

Définissez dans la table les champs à modifier et comment les modifier :

Column to mask : sélectionnez la colonne du flux d'entrée pour laquelle générer des données similaires et modifier ses valeurs.

Vous pouvez masquer des données de plusieurs colonnes mais vous devez suivre l'ordre des champs à masquer.

Chaque colonne est traitée de manière séquentielle, ce qui signifie que les opérations de masquage de données seront effectuées sur les données de la première colonne, puis de la deuxième colonne, etc.

Dans une colonne, chaque champ de données est un champ de longueur fixe, sauf le dernier champ de données.

Pour des champs de longueur fixe, chaque valeur doit contenir le même nombre de caractères, par exemple : "30001,30002,30003" ou "FR,EN".

Dans une colonne, le dernier champ de données Enumeration ou Enumeration from file est un champ à longueur variable.

Pour des champs de longueur fixe, chaque valeur ne doit pas forcément contenir le même nombre de caractères, par exemple : "30001,300023,30003" ou "FR,ENG".

Field type : sélectionnez le type de champ auquel appartiennent les données.
  • Interval : lorsque cette option est sélectionnée, configurez un jeu de valeurs numériques utilisées à des fins de masquage dans le champ Range, avec la syntaxe suivante : "<min>,<max>".

    Le nombre de caractères masqués des données d'entrée correspond au nombre de caractères de la valeur maximale.

    Par exemple, "1,999" sera interprété comme "001,999", ce qui signifie que ces trois caractères des données d'entrée seront masqués par une valeur aléatoirement sélectionnée parmi la plage de valeurs définie.

  • Enumeration : lorsque cette option est sélectionnée, saisissez une liste de valeurs séparées par une virgule, à utiliser pour masquer les données dans le champ Values, avec la syntaxe suivante : "value1,value2,value3".

    Chaque valeur doit avoir le même nombre de caractères. Par exemple : "30001,30002,30003" ou "FR,EN".

  • Enumeration from file : lorsque cette option est sélectionnée, configurez le chemin d'accès au fichier CSV contenant une liste de valeurs à utiliser pour masquer les données dans le champ Path. Le fichier doit contenir une valeur par ligne. Chaque valeur doit être unique et les valeurs doivent avoir le même nombre de caractères.
    Vous pouvez sélectionner un fichier dans :
    • le système local
    • Amazon S3, en mode Spark local ou connecté à EMR, via le tS3Configuration. Les systèmes de fichiers S3N et S3A sont supportés.
    • Azure Blob Storage, en mode Spark local ou connecté à Azure HDInsight ou Databricks, via le tAzureFSConfiguration
    • Azure Data Lake Storage, en mode Spark local ou connecté à Azure HDInsight, via le tAzureFSConfiguration
    • Google Cloud Storage, en mode Spark local ou connecté à Dataproc, via le tGSConfiguration
    • HDFS, en mode Spark local ou connecté à Azure HDInsight, via le tHDFSConfiguration.
    Saisissez le préfixe avant le chemind'accès au fichier :
    • préfixe://chemin du fichier, même si vous avez exécuté le Job en mode local, ou
    • hdfs://hdpnameservice1/chemin du fichier si l'index est dans un cluster.

    Les chemins vers les dossiers ne sont pas supportés.

  • Date pattern (YYYYMMDD) : lorsque cette option est sélectionnée, configurez une plage d'années dans le champ Date Range, avec la syntaxe suivante : "<min_year>,<max_year>".

    Les années ne peuvent contenir que quatre chiffres, par exemple : &quot;1900,2100&quot;.

    Les dates d'entrée à masquer doivent suivre le modèle YYYYMMDD, par exemple : 20180101.

    Par exemple, si la date d'entrée est 20180101 et la valeur dans Date Range est &quot;1900,2100&quot;, alors 19221221 peut être la date de sortie.

Dans les colonnes Values, Path, Range et Date Range, les valeurs doivent être entourées de guillemets doubles.

Lorsque les données d'entrée sont invalides, ce qui signifie qu'une valeur ne correspond pas au modèle défini dans le composant, la valeur générée est null.

Advanced settings

Method

Le composant utilise des méthodes de base et de chiffrement préservant le format (FPE) pour générer des valeurs de sortie masquées dans un format similaire aux valeurs d'entrée.

Les méthodes FPE sont des méthodes bijectives, sauf lors d'utilisation de tweaks.

La méthode Basic est l'algorithme par défaut.

Remarque : Comme les méthodes de masquages sont fortes, il est recommandé d'utiliser les algorithmes FF1 plutôt que la méthode Basic.

La méthode FF1 with AES se base sur le standard de chiffrement avancé (Advanced Encryption Standard) en mode CBC. La méthode FF1 with SHA-2 dépend de la fonction de hachage sécurisée HMAC-256.

Vous ne pouvez utiliser ces méthodes que si le nombre de valeurs que le composant peut générer à partir du modèle d'entrée est supérieur ou égal à 1 000 000.

Remarque : La version minimale requise pour utiliser la méthode FF1 with AES est Java 8u161. Pour pouvoir utiliser la méthode FPE avec les versions Java antérieures à 8u161, téléchargez les fichiers de règles Java Cryptography Extension (JCE) de juridiction illimitée du site d'Oracle.

Les méthodes FF1 with AES et FF1 with SHA-2 nécessitent un mot de passe à spécifier dans le champ Password for FF1 methods de l'onglet Advanced settings afin de générer des valeurs masquées uniques.

Password for FF1 methods

Configurez le mot de passe requis pour les méthodes FF1 with AES et FF1 with SHA-2 afin de générer des valeurs masquées uniques. Si aucun mot de passe n'est défini, un mot de passe aléatoire est créé à chaque exécution de Job. Lorsque vous utilisez les méthodes FF1 with AES et FF1 with SHA-2 et un mot de passe, la graine du champ Seed for random generator n'est pas utilisée.

Use tweaks with FF1 Encryption

Cochez cette case pour utiliser des tweaks. Un tweak unique est généré pour chaque enregistrement et s'applique à toutes les données d'un enregistrement.

Si un masquage bijectif est nécessaire, n'utilisez pas cette fonctionnalité. Pour plus d'informations concernant les tweaks, consultez fonctions de masquage de données.

Seed for random generator

Configurez un nombre aléatoire si vous souhaitez générer les mêmes échantillons de données aléatoires de substitution pour chaque exécution du Job. La graine n'est pas configurée par défaut.

Si vous ne configurez pas la graine, le composant crée une nouvelle graine aléatoire pour chaque exécution du Job. Répéter l'exécution avec une graine différente pour ce champ génère un échantillon différent.

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Si vous sélectionnez Custom et que vous laissez le champ vide, les encodages supportés dépendent de la JVM que vous utilisez. Ce champ est obligatoire pour l'encodage de fichiers.

Lorsque vous configurez Field type à Enumeration from file, définissez le chemin d'accès au fichier dans Path (CSV File).

Output the original row?

Cochez cette case pour écrire en sortie les données originales en plus des données de substitution. Il peut être utile d'écrire en sortie les données substituts et originales lors de débogages ou de tests.

Should Null input return NULL?

Cette case est cochée par défaut. Lorsqu'elle est cochée, le composant écrit en sortie null lorsque les valeurs d'entrée sont null. Sinon, il retourne la valeur par défaut lorsque l'entrée est null, c'est-à-dire une chaîne de caractères vide pour les chaînes de caractères, 0 pour des valeurs numériques et la date actuelle pour les valeurs de date.

Si l'entrée est null, la fonction Generate Sequence ne retourne pas null, même si la case est cochée.

Should EMPTY input return EMPTY?

Lorsque cette case est cochée, les valeurs vides sont laissées inchangées dans les données en sortie. Sinon, les fonctions sélectionnées sont appliquées aux données d'entrée.

Send invalid data to "Invalid" output flow
Cette case est cochée par défaut.
  • Cochée : Lorsque les données peuvent être masquées, elles sont envoyées dans le flux principal. Sinon, les données sont envoyées dans le flux de sortie "Invalid".
  • Décochée : Les données sont envoyées dans le flux principal.
Les données invalides sont toute valeur ne correspondant pas au modèle.

Utilisation

Règle d'utilisation

Ce composant est utilisé comme étape intermédiaire.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

Connexion à Spark

Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (apercu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • Lorsque vous utilisez Qubole, ajoutez tS3Configuration à votre Job pour écrire vos données métier dans le système S3 avec Qubole. Sans tS3Configuration, ces données métier sont écrites dans le système Qubole HDFS et détruites une fois que vous arrêtez votre cluster.
    • Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster. Généralement, ce système est HDFS et vous devez utiliser tHDFSConfiguration.

  • Standalone mode : vous devez choisir le composant de configuration selon le système de fichiers que vous utilisez, comme tHDFSConfiguration ou tS3Configuration.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.