Use Case: Database de-identification
Ce guide décrit les étapes de la dépersonnalisation complète d'une base de données de production.
Last updated
Ce guide décrit les étapes de la dépersonnalisation complète d'une base de données de production.
Last updated
Avant de commencer le cas d'utilisation de la dé-identification de base de données, consultez la vidéo ci-dessous qui fournit une brève introduction aux méthodes de génération de données :
Syntho aide ses clients à s'assurer que les colonnes contenant des personally identifiable information (PII) sont correctement gérées et gouvernées. Il permet une découverte et une dépersonnalisation rapides des colonnes PII, en remplaçant leur contenu par des entités telles que des noms de personnes, des lieux, des numéros de sécurité sociale, des numéros de téléphone, des données financières ou de santé, etc. Vous trouverez ci-dessous les fonctionnalités les plus importantes utilisées par les clients, que nous aborderons dans ce guide :
Utiliser la fonction PII scanner pour identifier les colonnes sensibles.
Dé-identifier les IIP à l'aide de Mockers ou Exclude.
Deploy consistent mapping avec les moqueurs Syntho.
Utiliser la nouvelle fonctionnalité calculated columns pour effectuer un large éventail d'opérations sur les données.
Utiliser le foreign key scanner pour hériter des clés étrangères de la base de données.
Utilisez l'option Sync pour synchroniser le schéma source avec l'espace de travail.
Créer un workspace comme décrit dans le [Create a workspace(../../setup-workspaces/create-a-workspace/).
L'espace de travail doit consister en un source et un destination base de données. La base de données destination doit avoir exactement les mêmes tables et colonnes, mais vides, que la base de données source avec un accès en écriture.
S'assurer que la base de données data types de colonnes dans les deux source et destination bases de données accurately represent their content. Par exemple, date Les colonnes doivent être du type Date, integer les colonnes de type Integeret decimal les colonnes de type Decimal/Float.
Après avoir ouvert l'espace de travail, et afin de préserver les relations entre les tables, maintenez la touche CTRL + SHIFT + ALT + 0 pour ouvrir le Workspace Default Settings menu. Si cette touche courte est réservée sur votre système, vous pouvez ajouter /global_settings à la fin de l'URL de l'espace de travail. Sous la rubrique key_generation_method la valeur de l'entrée est soit
"duplicate" : pour préserver les relations entre les tables et dupliquer les valeurs clés d'origine.
"hash" : pour préserver les relations entre les tables et hacher les valeurs clés d'origine.
Supposons que le client travaille dans le secteur de la santé. La base de données du client comprend des données médicales sur ses patients, des médicaments, des fournitures, des appareils, etc. La capture d'écran ci-dessous affiche toutes les tables résidant dans la base de données sur le côté gauche et un échantillon de lignes dans la fenêtre de la base de données. patients table :
Les modes de table, visibles à gauche, contrôlent la manière dont les tables sont traitées et transférées. Les modes de table, visibles à gauche, contrôlent la manière dont les tables sont traitées et transférées. De-identify vous permet de transformer les données des colonnes en supprimant ou en simulant les IIP au moyen de deux options : Mockers et Exclude. Le mode de colonne par défaut est Duplicatece qui signifie que la colonne est copiée directement sans modification. Toutefois, ce paramètre peut être modifié pour simuler des données avec la fonction Mockers ou d'exclure des colonnes spécifiques.
Create ou open the workspace avec les colonnes que vous souhaitez dépersonnaliser.
Pour préserver toutes les relations entre les tables, maintenez CTRL + SHIFT + ALT + 0
pour ouvrir le menu Workspace Default Settings (Paramètres par défaut de l'espace de travail). Si cette touche courte est réservée sur votre système, vous pouvez ajouter /global_settings
à la fin de l'URL de l'espace de travail.
Sous l'entrée key_generation_method
, définissez la valeur soit à :
"duplicate" : pour préserver les relations entre les tables et dupliquer les valeurs clés d'origine.
"hash" : pour préserver les relations entre les tables et hacher les valeurs clés d'origine.
Sur la page Job configuration Faites glisser toutes les tables contenant des colonnes que vous souhaitez dépersonnaliser sous la rubrique De-identify. Vous pouvez utiliser CTRL
ou SHIFT
pour sélectionner plusieurs tables simultanément.
Accédez à l'écran column settings pour le tableau sélectionné.
Par défaut, le mode colonne est défini sur Duplicate.
Changez le mode de colonne pour l'une des options suivantes :
Mocker: Utilisez cette option pour remplir les colonnes avec des données fictives.
Exclude: Choisissez cette option si vous ne souhaitez pas inclure des colonnes spécifiques dans le tableau dupliqué. Grâce à ces modes, vous pouvez dépersonnaliser en toute sécurité les IIP en les remplaçant par des données fictives (Mockers) ou l'exclure (Exclude) de la base de données cible (pour plus d'informations, voir Configurer les paramètres des colonnes). Pour plus de clarté, l'illustration ci-dessous montre la distinction entre les configurations des tables et des colonnes.
Dans le fichier PII tab, vous pouvez ajouter de nouvelles colonnes à la liste des PII colonnes, soit manually ou en utilisant la fonction PII scanner. Vous avez la possibilité de manually label columns contenant des IPI en sélectionnant le nom de la colonne et en choisissant éventuellement un simulateur à appliquer. En cliquant sur "Confirm"marquera la colonne comme contenant des IIP et confirmera la sélection de l'imitateur.
Vous pouvez également déployer la détection automatique des IIP à l'aide de l'analyseur d'IIP. Lancez une analyse pour détecter les IIP dans toutes les colonnes de la base de données à partir de l'onglet IIP de la fenêtre **Job Configuration** panneau. Notez que le scanner offre à la fois **Shallow** et **Deep** modes de balayage :
Le mode shallow scan évalue les colonnes en utilisant des règles d'expression régulière pour identifier les informations confidentielles, optimisées pour la vitesse mais avec une précision variable.
La deep scan examine à la fois les métadonnées et les données contenues dans les colonnes pour une identification approfondie des IIP.
À la suite d'un deep scanSyntho peut révéler les colonnes susceptibles de contenir des IIP, en attribuant un score de probabilité à chacune d'entre elles (par exemple, 80 % pour la colonne "ADDRESS").
Pour supprimer les configurations non désirées, cliquez sur l'icône de suppression sur le côté droit du panneau. En cliquant sur "Configure"ouvre une nouvelle fenêtre pour les réglages de la colonne, détaillés dans la section suivante.
Pour plus d'informations, veuillez consulter - Automatic PII discovery with PII scanner.
Après avoir cliqué sur le bouton "ConfigureDans l'onglet PII, le bouton "PII" permet d'afficher la fenêtre ci-dessous.
La fenêtre ci-dessus peut **also** est accessible en cliquant sur les paramètres de la colonne pour le tableau sélectionné. Vous trouverez ci-dessous comment ouvrir la fenêtre.
Pour les colonnes qui ne sont pas identifiées comme contenant des IIP, telles que la colonne "COUNTRY"Le mode par défaut appliqué est le suivant Duplicatece qui signifie qu'il peut être dupliqué en toute sécurité dans la base de données du destination de la base de données. Toutefois, pour les colonnes détectées comme contenant des IPI, comme "NAME", vous pouvez appliquer un Mocker.
Pour configurer les paramètres de l'option "NAME"(comme le montre l'illustration précédente), nous optons pour des données fictives plutôt que pour des noms réels. Le type de données "Name"est automatiquement sélectionné et nous pouvons également choisir l'option "unique"pour s'assurer que seules des valeurs uniques sont générées.
Consistent mappingCette fonction avancée génère des données fictives identiques pour chaque ensemble de valeurs originales chaque fois qu'elle est appliquée. Par exemple, le faux nom "Jack" remplacera systématiquement "Alan", maintaining value consistency across les tables, les bases de données et les travaux.
En cliquant sur le bouton "PreviewSi vous cliquez sur le bouton "Prévisualiser", vous pouvez voir un aperçu des données fictives avec les paramètres définis.
Pour plus d'informations, veuillez consulter mockers & consistent mapping.
Les utilisateurs doivent manuellement TRUNCATE leurs tables dans les DESTINATION avant de lancer chaque nouvelle tâche de génération de données. Si la troncature est entravée par des contraintes existantes, celles-ci doivent être temporairement désactivées avant la troncature, puis réactivées par la suite. Par exemple, pour faciliter le processus de troncation lorsque des contraintes de clés étrangères l'empêchent, utilisez les commandes SQL suivantes : Tout d'abord, désactivez les contraintes en exécutant SET FOREIGN_KEY_CHECKS = 0;
, puis TRUNCATE la table, et enfin, ré-activer les contraintes avec SET FOREIGN_KEY_CHECKS = 1;
. Cette séquence permet de s'assurer que les tables sont correctement préparées pour la génération de données sans violation des contraintes.
This feature is planned for release and not part of the Syntho platform yet. The calculated column function list will be rolled out in a phased approach. Please contact your Syntho contact person if you have suggestions for this feature.
Un autre exemple est le moqueur de prénoms. Imaginez que vous disposiez d'une table avec une colonne pour les prénoms. Cependant, l'utilisateur souhaite générer des données fictives masculines pour les noms masculins et des données fictives féminines pour les noms féminins en vérifiant leur sexe dans la colonne "sexe". Cette demande peut être exprimée à l'aide de la formule ci-dessous :
Pour plus d'informations, voir - [Colonnes calculées](use-case-database-de-identification.md#calculated-columns). ## [Vérifier ](../../configure-a-data-generation-job/manage-foreign-keys/add-virtual-foreign-keys/use-foreign-key-scanner.md)ou [Ajouter des clés étrangères](../../configure-a-data-generation-job/manage-foreign-keys/add-virtual-foreign-keys/) L'option **Foreign Key tab**à côté de l'onglet PII, montre l'héritage automatique par Syntho des clés étrangères de votre fichier **source** la base de données. S'ils ne sont pas explicitement définis, vous pouvez les ajouter par l'intermédiaire de **import** (fichiers JSON), manuellement ou par balayage.
Pour les bases de données qui n'ont pas de clés étrangères explicites, Syntho vous permet d'ajouter des clés étrangères virtuelles manuellement. Pour ce faire, sélectionner les tables et les colonnes pour les clés étrangères et primaires dans l'onglet **Foreign Keys** et cliquez sur "**Add foreign key**"pour finaliser. Pour simplifier l'installation, vous pouvez **import** par l'intermédiaire d'un **JSON** fichier. Il suffit de cliquer sur "**Upload foreign keys**", utilisez la fonction **Browse** pour sélectionner votre fichier, et cliquez sur "**Import**" pour mettre à jour votre **Foreign Keys** liste. Syntho propose également un **foreign key scanner** pour découvrir des clés étrangères virtuelles potentielles, utiles dans les grandes bases de données. Pour lancer une analyse, accédez à la page **Foreign Keys** appuyez sur "**Scan**Appliquez des filtres si nécessaire et confirmez pour démarrer. Vous pouvez ensuite examiner, confirmer ou supprimer les candidats clés étrangères identifiés.
Pour plus d'informations, veuillez consulter [Gérer les clés étrangères](../../configure-a-data-generation-job/manage-foreign-keys/). ## Maintenir votre base de données source en [sync ](https://docs.syntho.ai/configure-a-data-generation-job/validate-and-synchronize-workspace#source-schema-synchronization)avec votre espace de travail L'espace de travail **Sync** est utile pour refléter les changements fréquents de schéma dans Syntho. Il permet de s'assurer que l'espace de travail reflète l'état actuel de la base de données **source** la base de données, en tenant compte des ajouts, des suppressions et des modifications apportées à la base de données. **source** base de données. Supposons que nous ayons une **source** appelée soins de santé et la colonne "**Drivers**"a été supprimée du tableau **patients** dans le **source MySQL database**. Après avoir retiré la colonne, lorsque vous appuyez sur **Sync** pour afficher la version actuelle de l'application. **source** base de données.