Anonymiser une base de données MySQL et PostgreSQL
Database Anonymizer est un outil écrit en GO et qui permet d'anonymiser ou supprimer des données d'une base de données MySQL ou PostgreSQL.
Il répond à plusieurs cas d'usage comme permettre de transférer une copie de base de données anonymisée à des développeurs et des développeuses ou répondre à la nécessité d'anonymiser ou supprimer des données dans le cadre du RGPD (Règlement général sur la protection des données) selon les durées de conservation définies dans le registre des traitements.
J'en profite d'ailleurs pour faire une parenthèse au sujet du RGPD. Avec mon associé Alexis Gabry, nous éditons une solution RGPD pour accompagner les DPO. ProDPO offre une solution complète pour gérer les missions de DPO de manière simple et collaborative 😁
Database Anonymizer inclue une grande quantité de générateurs de données aléatoires. Il permet également de générer des données via des modèles écrits en Twig. Vous pouvez spécifier des règles précises pour chaque table ou bien des règles globales appliquées sur chacunes des tables de votre configuration.
Pour faire fonctionner le projet, il suffit de définir un fichier de configuration comme suit :
Ensuite, il faut lancer database-anonymizer
en spécifiant la chaine de connexion à la base de donnée et le chemin vers la configuration.
database-anonymizer --dsn "mysql://username:password@tcp(db_host)/db_name" --schema ./schema.yaml
database-anonymizer --dsn "postgres://username:password@db_host:5432/db_name" --schema ./schema.yaml
Vous trouverez la liste complète des générateurs sur la page Gitnet et vous pouvez bien sur télécharger la première version ici.
J'ai encore du travail à faire sur le projet mais il est en bonne voix ! Si vous désirez l'essayer et me faire des retours, j'en serai ravi ! 😀