Релиз инструмента для анонимизации баз данных nxs-data-anonymizer 1.4.0

Опубликован nxs-data-anonymizer 1.4.0 — инструмент для анонимизации дампа баз данных PostgreSQL и MySQL/MariaDB/Percona. Утилита поддерживает анонимизацию данных на основе шаблонов и функций библиотеки Sprig. Среди прочего, для заполнения можно использовать значения других столбцов для той же строки. Допустимо использовать инструмент через неименованные каналы (pipe) в командной строке и перенаправить дамп из исходной БД непосредственно в целевую БД с необходимыми преобразованиями. Инструмент написан на языке Go и выпускается под лицензией Apache License 2.0.

Менее чем за год после первого релиза версии 1.0.0, в инструменте появились следующие возможности:

  • Добавлена функция фильтров для работы со значениями null.
  • Реализована команда -l/—log-format, позволяющая выбрать формат логирования (json или plain).
  • Добавлена индикация процесса анонимизации — через указанные промежутки выводятся данные о прогрессе выполнения операции.
  • В версии 1.4 появилась возможность задавать значения полей с помощью внешних команд, через добавление в значение столбца «type: command». Например:
     
       filters:
         some_table_name:
            columns:
              some_column_name:
                type: command
                value: /path/to/command/or/script.sh
    

    Если для столбца указано «type: command», то значение поля value воспринимается как файловых путь к команде, которая будет запущена каждый раз для этого поля. Во время выполнения команды будут доступны дополнительные переменные окружения:

    • ENVVARTABLE={TABLE_NAME}: содержит имя фильтруемой таблицы
    • ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: содержит все столбцы и их значения (до замены) для текущей фильтруемой строки
      Stdout команды считается за новое значение фильтруемого поля.

Источник: http://www.opennet.ru/opennews/art.shtml?num=61062