Aller au contenu principal

Lancer une copie de base de données dans le client web

Cette page suit, étape par étape, l'assistant de création de job du client web pour une exécution sur base de données. Lisez d'abord Exécutions sur base de données et Anonymisation de bases de données pour les concepts.

Disponibilité

L'option Base de données n'apparaît que si votre installation fait tourner le connecteur de bases de données. Si vous voyez L'anonymisation de bases de données n'est pas activée sur ce déploiement., contactez votre administrateur. Le client web marque l'option comme Alpha : les écrans et les résultats peuvent changer d'une version à l'autre.

Avant de commencer​

Il vous faut deux connexions : une source à lire et une cible où écrire. La cible doit déjà posséder le schéma de la source : voir Exigences pour la cible. Pour essayer d'abord la fonctionnalité, cliquez sur Ajouter les connexions de démonstration. L'assistant le propose dans le sélecteur Lire depuis tant que vous n'avez encore aucune connexion.

Étape 1 : Cas d'usage​

Choisissez le cas d'usage, comme pour tout job.

Étape 2 : Nom et source​

Sous Qu'anonymisez-vous ?, choisissez Base de données. Donnez un nom au job, renseignez le contexte du job, puis cliquez sur Créer un job.

Étape 3 : Connecter une base​

  1. Dans Lire depuis, choisissez la connexion source.
  2. Dans Écrire vers, choisissez la connexion cible. Le sélecteur ne propose que des connexions du même moteur que la source. Pour une source de démonstration, il propose les cibles de démonstration.
  3. Cliquez sur Tester les connexions. Avatar ouvre les deux depuis le serveur et indique ce qu'il a trouvé. Ne sautez pas cette étape : les vérifications d'une cible vide et d'une connexion qui ne peut pas être ouverte ne s'exécutent qu'une fois les connexions testées.
  4. Si la cible contient déjà des lignes et que vous voulez les remplacer, cochez Vider cette cible avant d'écrire. Toutes les lignes des tables dans lesquelles cette copie écrit sont d'abord supprimées. Seules ces tables sont touchées.

Chaque sélecteur propose aussi Nouvelle connexion et Gérer les connexions : vous pouvez ajouter une connexion sans quitter l'assistant.

Suivant reste désactivé tant que l'un de ces problèmes subsiste :

  • une source ou une cible n'est pas choisie ;
  • la cible est la même connexion que la source ;
  • la cible n'est pas vide, et Vider cette cible avant d'écrire n'est pas coché ;
  • la même cible est utilisée pour deux sources ;
  • une connexion n'a pas pu être ouverte ;
  • le moteur n'est pas joignable depuis cette installation.

Plusieurs bases de données​

Pour copier plusieurs bases de données dans une seule exécution, cliquez sur Ajouter une autre base et choisissez une deuxième source et une deuxième cible. Faites-le seulement quand les mêmes individus se trouvent dans plusieurs bases : l'exécution donne alors à chaque individu la même fausse identité dans chaque copie.

Les identités dépendent de l'ensemble des bases

Ajouter une base à l'exécution change aussi chaque nom généré dans les autres copies.

Étape 3b : Confirmer le schéma​

Avatar lit la source et propose un traitement pour chaque table. Rien n'est copié et rien n'est anonymisé à ce stade. La découverte démarre d'elle-même. Si elle échoue, cliquez sur Relancer la découverte.

Pour chaque table, choisissez Ce qui arrive à cette table :

OptionRésultat dans la cible
Pseudonymiser / anonymiser — chaque colonne décidela table est traitée ; vous choisissez variable par variable à l'étape 5
Copier telle quelleles lignes, inchangées
Purger — garder la table, supprimer les lignesla table, sans aucune ligne
Ignorer — l'exclure entièrementaucune table

Utilisez la zone de recherche, le Filtre et Appliquer à pour traiter plusieurs tables à la fois.

Ouvrez une table pour voir ses variables, ses clés (key → table.column) et ce que la classification propose pour chaque variable, avec la règle ou le modèle qui l'a proposé. La liste est en lecture seule : les choix par variable se font à l'étape 5. Une clé vers une table que vous ignorez ou purgez est signalée comme n'ayant plus de jointure à préserver.

Quand l'exécution copie plusieurs bases de données, chaque base a son propre onglet.

Lire un sous-ensemble des lignes​

Dans une table ouverte, Paramètres d'extraction > Lignes lues limite le nombre de lignes que la copie lit. Laissez vide pour lire toutes les lignes. Le champ est proposé sur les tables traitées ou copiées.

Une table qui fait référence à une autre table conservée n'a pas de champ Lignes lues. Elle affiche Suit les tables qu'elle référence : elle ne reçoit que les lignes qui pointent vers les lignes lues, et le sous-ensemble reste cohérent.

Avertissements à lire​

  • Le schéma ne dit rien de … : elles ne figureront pas du tout dans la copie.
  • … est copiée telle quelle : … arrivent donc avec leurs vraies valeurs. Un classifieur avait proposé de les remplacer. Vérifiez que c'est bien ce que vous voulez.
Les tables vides arrêtent l'exécution

Ces tables n'ont aucune ligne et ne peuvent donc pas être anonymisées n'est pas un avertissement mais une erreur, affichée en rouge. Suivant reste activé, mais toute l'exécution échoue au démarrage. Réglez ces tables sur Copier telle quelle : une table vide est alors copiée à l'identique.

Étape 4 : Groupes et identités​

La page affiche les Groupes de tables liées construits à partir de votre plan. Chaque groupe est un job. Une table purgée ou ignorée n'appartient à aucun groupe. Ignorer ou purger une table peut scinder un groupe en deux : les tables de part et d'autre ne sont plus liées, et deviennent deux jobs.

Quand l'exécution copie plusieurs bases de données, vous pouvez déclarer une table de référence (facultatif). Une table de référence indique que plusieurs tables décrivent les mêmes individus, pour que chaque individu garde une seule identité partout. Cliquez sur Déclarer une table de référence et répondez à trois questions :

  1. Comment s'appelle cette table de référence ? Par exemple rt_person.
  2. Qu'est-ce qui identifie la personne, et comment cela s'appelle-t-il dans chaque base ? Choisissez, pour chaque base, la table et la variable qui contient l'identifiant.
  3. Quelles valeurs sont remplacées ? Ajoutez les variables à remplacer, par exemple email.

Vous pouvez aussi lister des Valeurs de clé qui ne sont pas une personne, comme 0 ou SYSTEM. Cliquez sur Afficher des valeurs de clé pour comparer quelques valeurs réelles de chaque source : la clé doit contenir la même chose dans chaque table. Cliquez sur Ajouter cette table de référence pour confirmer.

Avec une seule base de données, les choix par variable de l'étape 5 suffisent.

Étape 5 : Configurer les tables​

Chaque groupe de tables liées a son propre onglet. Pour chaque variable, choisissez :

BoutonRésultat
Anondes valeurs synthétiques, tirées de la distribution
Pseudode fausses valeurs de même nature, appliquées de façon cohérente
Freezeles valeurs d'origine, inchangées
Dropla variable est absente de la copie

Freeze conserve les vraies valeurs dans la copie. Ne l'utilisez que pour une variable qui n'identifie aucun individu : voir Risque pour la vie privée des variables gelées.

Les variables de clé affichent une étiquette clé ou clé étrangère et ne reçoivent aucun traitement : l'exécution les réattribue et garde chaque jointure fonctionnelle.

Avatar conseille des paramètres pour chaque groupe avant que l'étape soit prête.

L'onglet de la table de référence​

Si vous avez déclaré une table de référence à l'étape 4, elle a son propre onglet Table de référence. Vous y choisissez comment chacune de ses valeurs est remplacée. Elle est résolue une seule fois, avant l'exécution de tout groupe : chaque individu reçoit un seul remplacement, et c'est cette valeur que chaque groupe écrit. Les variables qui lui appartiennent sont exclues de la modélisation de chaque groupe.

Aux étapes 6 et 7, l'onglet est en lecture seule : une table de référence n'a ni liens ni k propres.

Séquences​

Le client web ne règle pas encore les séquences. Réglez-les depuis le client Python, ou dans la configuration YAML de l'exécution. La page des résultats montre ce que l'exécution a fait de la séquence de chaque table.

Étape 6 : Lier les jeux de données​

Pour chaque groupe, vérifiez les liens entre ses tables, comme pour une exécution sur base relationnelle. Un groupe d'une seule table n'a besoin d'aucun lien. L'étape est sautée quand toute l'exécution ne compte qu'une seule table.

Étape 7 : Configurer le job​

Pour chaque groupe, réglez les paramètres d'anonymisation (k, ncp) et les métriques. Cette étape est sautée quand il ne reste aucune variable à anonymiser, et les étapes suivantes sont renumérotées.

Étape 8 : Lancer le job​

La page affiche la configuration générée (YAML) et un script Python équivalent. Cliquez sur Lancer maintenant →.

Lire les résultats​

Les données anonymisées se trouvent dans la base de données cible. La page du job affiche :

  • Toute l'exécution : le nombre de tables et de lignes écrites dans la cible, la source et la cible de chaque base, le résultat de chaque table de référence, et une ligne par groupe.
  • Un onglet par groupe : ses tâches, les tables demandées et livrées (avec leur traitement, leur nombre de lignes, leur séquence et ce qui est arrivé à chaque variable), et les métriques de confidentialité et d'utilité du groupe. Une table peut être marquée refusée ou rien d'écrit. Un groupe dont chaque variable est une clé ou est pseudonymisée n'a rien à mesurer : la page l'indique, et les tables sont tout de même copiées dans la cible.
  • Table de référence (quand vous en avez déclaré une) : combien d'individus ont été résolus et à partir de combien de lignes, combien n'apparaissent que dans une seule source, les valeurs qui divergent entre les sources, les lignes qui n'ont pas pu être appariées, et les individus apparus après la résolution de la table de référence. Beaucoup d'individus présents dans une seule source signifie en général que la clé ne contient pas les mêmes valeurs dans chaque table.
  • Rapports : une Analyse technique et une Analyse d'impacts par groupe, car chaque groupe est une avatarisation à part entière. Télécharger les … rapports (.zip) les récupère tous.

Si une table n'a pas atteint la cible, la page avertit que les lignes qui y font référence ne pointent plus vers rien.

Relancer ou annuler​

Relancer ce groupe et Relancer tous les groupes relancent la même configuration. Ils n'écrivent que dans une cible vide : videz la cible, ou recréez-la, d'abord.

Ajuster et relancer recharge toute la configuration de l'exécution, y compris chaque base d'une exécution sur plusieurs bases, et ouvre l'assistant à Configurer les tables. Utilisez-le pour changer un choix et relancer.

Tous trois retrouvent la source et la cible par le nom de leur connexion. Si une connexion a été renommée ou supprimée depuis la première exécution, la relance ne la trouve pas.

La liste des jobs affiche une entrée par exécution sur base de données, avec les tâches de chaque groupe, et propose Télécharger Configuration YAML.

Annuler l'exécution arrête chaque groupe, et Annuler ce groupe en arrête un. Les tables déjà écrites restent dans la cible : la cible peut donc être partiellement remplie. Videz-la avant de relancer l'exécution.