Publication de nxs-data-anonymizer 1.4.0 — un outil pour l'anonymisation des dumps de bases de données PostgreSQL et MySQL/MariaDB/Percona. L'utilitaire prend en charge l'anonymisation des données basée sur des modèles et des fonctions de la bibliothèque Sprig. Entre autres, il est possible d'utiliser les valeurs d'autres colonnes de la même ligne pour le remplissage. Il est autorisé d'utiliser l'outil via des canaux non nommés (pipe) en ligne de commande et de rediriger un dump depuis la base de données source directement vers la base de données cible avec les transformations nécessaires. L'outil est écrit en Go et est publié sous la licence Apache License 2.0.
Moins d'un an après la première version 1.0.0, l'outil a vu l'apparition des fonctionnalités suivantes :
- Ajout de la fonction de filtres pour travailler avec des valeurs null.
- Commandé implémentée -l/—log-format, permettant de choisir le format de journalisation (json ou plain).
- Ajout d'une indication du processus d'anonymisation — des informations sur l'avancement de l'opération sont affichées par intervalles spécifiés.
- La version 1.4 a introduit la possibilité de définir des valeurs de champs à l'aide de commandes externes, en ajoutant dans la valeur de la colonne «type: command». Par exemple : filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh
Si pour une colonne il est indiqué «type: command», alors la valeur du champ value est considérée comme un chemin de fichier vers la commande qui sera exécutée chaque fois pour ce champ. Lors de l'exécution de la commande, des variables d'environnement supplémentaires seront disponibles :
- ENVVARTABLE={TABLE_NAME}: contient le nom de la table filtrée
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: contient toutes les colonnes et leurs valeurs (avant remplacement) pour la ligne filtrée actuelle. La sortie de la commande est considérée comme la nouvelle valeur du champ filtré.
Source : opennet.ru
