Publicado nxs-data-anonymizer 1.4.0 — uma ferramenta para anonimização de dump de bancos de dados PostgreSQL e MySQL/MariaDB/Percona. O utilitário suporta a anonimização de dados com base em templates e funções da biblioteca Sprig. Entre outras funcionalidades, é possível usar valores de outras colunas da mesma linha para preenchimento. A ferramenta pode ser utilizada através de canais não nomeados (pipe) no terminal, redirecionando o dump do banco de dados de origem diretamente para o banco de dados de destino com as transformações necessárias. A ferramenta é escrita em Go e é lançada sob a licença Apache License 2.0.
Menos de um ano após o primeiro lançamento da versão 1.0.0, a ferramenta ganhou os seguintes recursos:
- Adicionada a função de filtros para trabalhar com valores nulos.
- Implementado o comando -l/—log-format, permitindo escolher o formato de log (json ou plain).
- Adicionada a indicação do processo de anonimização — durante intervalos especificados, são exibidos dados sobre o progresso da operação.
- Na versão 1.4, foi adicionada a possibilidade de definir valores de campos usando comandos externos, através da adição em um valor de coluna de "type: command". Por exemplo: filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh
Se para a coluna for especificado "type: command", o valor do campo value é interpretado como o caminho de arquivo para o comando que será executado toda vez para esse campo. Durante a execução do comando, estarão disponíveis variáveis de ambiente adicionais:
- ENVVARTABLE={TABLE_NAME}: contém o nome da tabela filtrada
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: contém todos os campos e seus valores (antes da substituição) para a linha filtrada atual. A saída padrão do comando é considerada o novo valor do campo filtrado.
Fonte: opennet.ru
