Opublikowano nxs-data-anonymizer 1.4.0 — narzędzie do anonimizacji zrzutów baz danych PostgreSQL oraz MySQL/MariaDB/Percona. Narzędzie obsługuje anonimizację danych w oparciu o szablony i funkcje biblioteki Sprig. Między innymi, do wypełnienia można używać wartości innych kolumn z tej samej linii. Narzędzie można używać przez nieoznaczone kanały (pipe) w wierszu poleceń i przekierować zrzut z źródłowej bazy danych bezpośrednio do docelowej bazy danych z wymaganymi przekształceniami. Narzędzie napisane jest w języku Go i wydawane jest na licencji Apache License 2.0.
Mniej niż rok po pierwszym wydaniu wersji 1.0.0, narzędzie zyskało następujące funkcjonalności:
- Dodano funkcję filtrów do pracy z wartościami null.
- Zrealizowano polecenie -l/—log-format, umożliwiające wybór formatu logowania (json lub plain).
- Dodano wskaźnik procesu anonimizacji — w określonych odstępach czasu wyświetlane są dane o postępie wykonywania operacji.
- W wersji 1.4 wprowadzono możliwość określania wartości pól za pomocą zewnętrznych poleceń, poprzez dodanie w wartości kolumny "type: command". Na przykład: filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh
Jeśli dla kolumny określono "type: command", to wartość pola value traktowana jest jako ścieżka do pliku z poleceniem, które będzie uruchamiane za każdym razem dla tego pola. Podczas wykonywania polecenia będą dostępne dodatkowe zmienne środowiskowe:
- ENVVARTABLE={TABLE_NAME}: zawiera nazwę filtrowanej tabeli
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: zawiera wszystkie kolumny i ich wartości (przed zamianą) dla aktualnie filtrowanej linii Stdout polecenia jest traktowany jako nowa wartość filtrowanego pola.
Źródło: opennet.ru
