Se ha publicado nxs-data-anonymizer 1.4.0: una herramienta para la anonimización de volcado de bases de datos PostgreSQL y MySQL/MariaDB/Percona. La utilidad soporta la anonimización de datos basada en plantillas y funciones de la biblioteca Sprig. Entre otras cosas, se pueden utilizar valores de otras columnas en la misma fila para completar. Se permite el uso de la herramienta a través de canales sin nombre (pipe) en la línea de comandos y redirigir el volcado de la base de datos original directamente a la base de datos de destino con las transformaciones necesarias. La herramienta está escrita en el lenguaje Go y se publica bajo la licencia Apache License 2.0.
Menos de un año después del primer lanzamiento de la versión 1.0.0, la herramienta ha adquirido las siguientes características:
- Se ha añadido una función de filtros para trabajar con valores nulos.
- Se ha implementado el comando -l/—log-format, que permite seleccionar el formato de registro (json o plain).
- Se ha añadido una indicación del proceso de anonimización: se mostrarán datos sobre el progreso de la operación a intervalos especificados.
- En la versión 1.4 se ha introducido la posibilidad de establecer valores de campos mediante comandos externos, añadiendo a valor de la columna "type: command". Por ejemplo: filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh
Si para una columna se especifica "type: command", se interpreta que el valor del campo value es una ruta al archivo para el comando que se ejecutará cada vez para este campo. Durante la ejecución del comando, estarán disponibles variables de entorno adicionales:
- ENVVARTABLE={TABLE_NAME}: contiene el nombre de la tabla filtrada
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: contiene todas las columnas y sus valores (antes de la sustitución) para la fila filtrada actual. La salida estándar del comando se considera un nuevo valor para el campo filtrado.
Fuente: opennet.ru
