nxs-data-anonymizer 1.4.0 veröffentlicht — ein Tool zur Anonymisierung von Dumps in PostgreSQL und MySQL/MariaDB/Percona. Die Utility unterstützt die Datenanonymisierung basierend auf Vorlagen und Funktionen der Sprig-Bibliothek. Unter anderem können Werte anderer Spalten für dieselbe Zeile verwendet werden. Es ist erlaubt, das Tool über nicht benannte Pipes in der Befehlszeile zu verwenden und den Dump direkt von der Quell-DB in die Ziel-DB mit den erforderlichen Transformationen umzuleiten. Das Tool ist in Go geschrieben und wird unter der Apache License 2.0 veröffentlicht.
Weniger als ein Jahr nach der ersten Veröffentlichung der Version 1.0.0 sind folgende Funktionen im Tool hinzugekommen:
- Eine Filterfunktion zur Verarbeitung von Null-Werten wurde hinzugefügt.
- Es wurde der Befehl -l/—log-format implementiert, der es ermöglicht, das Logging-Format (json oder plain) auszuwählen.
- Eine Anzeige für den Anonymisierungsprozess wurde hinzugefügt — es werden zeitlich festgelegte Daten über den Fortschritt der Operation ausgegeben.
- In der Version 1.4 gibt es die Möglichkeit, Feldwerte mit externen Befehlen zu setzen, indem man in den Wert der Spalte „type: command“ hinzufügt. Zum Beispiel: filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh
Wenn für eine Spalte „type: command“ angegeben ist, wird der Wert des Feldes value als Dateipfad zu dem Befehl interpretiert, der bei jedem Zugriff auf dieses Feld ausgeführt wird. Während der Ausführung des Befehls sind zusätzliche Umgebungsvariablen verfügbar:
- ENVVARTABLE={TABLE_NAME}: enthält den Namen der gefilterten Tabelle
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: enthält alle Spalten und deren Werte (vor der Ersetzung) für die aktuelle gefilterte Zeile. Die Stdout des Befehls gilt als neuer Wert des gefilterten Feldes.
Quelle: opennet.ru
