The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

24.04.2024 12:13

Опубликован 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 будет использоваться в качестве нового значения для анонимизированного поля.
    • Команда должна возвращать 0 код на выходе, иначе nxs-data-anonymizer завершается с ошибкой (в этом случае, в качестве текста ошибки будет использоваться stderr)
    • Переменные окружения с данными строк доступны внутри команды: ENVVARTABLE: содержит имя фильтруемой таблицы; ENVVARCURCOLUMN: содержит имя текущего столбца; ENVVARCOLUMN_{COLUMN_NAME}: содержит значения (до замен) для всех столбцов текущей строки.


  1. Главная ссылка к новости (https://github.com/nixys/nxs-d...)
  2. OpenNews: PostgreSQL Anonymizer 0.6, расширение для анонимизации данных в СУБД
  3. OpenNews: Релиз nxs-data-anonymizer 1.0.0, инструмента для анонимизации баз данных
  4. OpenNews: Google открыл систему для анализа наборов данных без нарушения конфиденциальности
  5. OpenNews: Вышел Datanymizer, анонимайзер чувствительных данных
  6. OpenNews: Google открыл код библиотеки для конфиденциальной обработки данных
Автор новости: Nixys
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61062-anonymizer
Ключевые слова: anonymizer, database
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 14:04, 24/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Для непросвященных - какая область применения? Нутром чую что где-то кому-то такое надо. А вот кому и в какой ситуации - ума не приложу.
     
     
  • 2.3, Аноним (-), 14:18, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Для непросвященных - какая область применения? Нутром чую что где-то кому-то такое
    > надо. А вот кому и в какой ситуации - ума не
    > приложу.

    Например если ты должен провести анализ базы, а допуска у сотрудника нету.
    Просто анонимизируешь и с чистой совестью отдаешь.
    Примерно такая же ситуация на аутсорсе.

     
     
  • 3.8, КО (?), 15:09, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И что он там будет анализировать без переменных?
     
     
  • 4.10, Аноним (10), 16:15, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все переменные на месте. А вот значения переменных подменяются случайными строками так, чтобы программный код, использующий базу данных мог работать с базой как с настоящей.

    Анализировать можно скорость и эффективность работы с базой. Могут быть задачи по описанию бизнес логики предприятия (да, так бывает, что не могут понять точно кто что зачем делает на предприятии и нанимают аудит для наведения порядка). И самое очевидное: нанятый разработчик, без доступа к реальным данным, пишет и отлаживает какую-либо программу, использующую базу данных.

     
     
  • 5.11, Аноним (11), 16:45, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мда, рекомендую взглянуть на процессы The Libertators. Там два мужика разрабатывают методологии для компаний и их изучают. Довольно неплохие иллюстрации делают для этих процессов.
     
     
  • 6.12, Аноним (12), 17:15, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А как это гуглить? Куда глядеть?
     
     
  • 7.18, Аноним (18), 21:02, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://theliberators.com/
    Внизу ссылка на их соцсети, где follow us написано. Я лично смотрю их канал через LinkedIn, но насколько я понял у вас он запрещён (что наверно верное решение). Но там есть выбор и насколько я понимаю они на курсах зарабатывают.
     
  • 7.20, Аноним (18), 21:20, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот я например открываю их medium и одна из первых статей:
      Секретный соус успешных инициатив по изменениям
    https://medium.com/the-liberators/the-secret-sauce-of-succesful-change-initiat

    Правда у них были и более сильные статьи. Если постоянно читать, можно много интересного почерпнуть.

     
  • 7.21, Аноним (18), 21:35, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Или вот: Раскройте Scrum в своей организации с помощью нашего нового комплекта
    https://medium.com/the-liberators/unleash-scrum-in-your-organization-with-our-
    Просто гляньте на картинку что делает скрам успешным. И вот у них таких иллюстраций интересных много.
    Если понять эти процессы, то продуктивность можно существенно повысить. Но есть небольшой нюанс — хорошие менеджеры организовывают работу так что команда/ы начинают развиваться самостоятельно и в какой-то момент они становятся не нужны. Но сокращение такого менеджера будет ошибкой, так как процессы периодически требуют корректировки — проверенный факт. В целом менеджмент/синьеры-лиды на постсоветском пространстве это мрак и ужас, потому что этому тоже нужно учиться и много, а это только один из источников я описал.
     
  • 2.9, Аноним (10), 16:09, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Для непросвященных - какая область применения? Нутром чую что где-то кому-то такое надо. А вот кому и в какой ситуации - ума не приложу.

    В тестировании и отладке. Из продуктива берутся реальные данные, анонимизируются и отдаются тестировшикам. Автоматические тесты работают с такой копией. Данные из такой копии можно для примера отдавать разработчику для работы над найденными багами.

    Разработчики бывают из другого юр.лица. Т.е. совсем посторонние.

    В банках распространено, например.

     
     
  • 3.16, Аноним (16), 20:14, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не проще ли тогда тупо СГЕНЕРИРОВАТЬ фэйковую базу и отдать?!
     
     
  • 4.19, Аноним (19), 21:07, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что в реальной базе иногда могут случаться такие комбинации данных, который ни один генератор или ИИ не нагенерит.. и именно на таком сочетании оно делает кряк, и не работает.. База данных это врядли одна плоская табличка которую фором из дев рандома набил и готово. там связи и иногда не очевидные.
     
  • 4.22, Фняк (?), 23:04, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если было бы проще, все бы так и делали. А на деле это нифига не просто сделать такую базу чтобы данные статистически не сильно отличались от реальных, чтобы не создавались невозможные комбинации данные и при этом воспроизводились странные ситуации когда часть записей создавалось в одной версии системы, часть в другой, а обрабатываются они третьей версией
     
  • 4.26, Аноним (10), 15:21, 25/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Не проще ли тогда тупо СГЕНЕРИРОВАТЬ фэйковую базу и отдать?!

    Это невозможно сделать надёжно.

    Т.к.

    - программируют максимально дёшево, максимально быстро,
    - люди приходят и уходят,
    - через некоторое время стоимость надёжного генератора тест-базы с нуля становится ооочень высокой, слишком много человеко-часов нужно на обратный инженеринг программного кода, когда множество авторов измений которого давно ушли.

    Самое обычное в крупном бизнесе.

     
     
  • 5.27, Аноним (27), 15:43, 25/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > слишком много человеко-часов нужно на обратный инженеринг программного кода, когда множество авторов измений которого давно ушли.

    Так у них, что, документации нет как факт, на собственно генеренный код?

     
  • 3.24, нах. (?), 23:23, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Разработчики бывают из другого юр.лица. Т.е. совсем посторонние.

    как будто своим кто-то доверять собрался. Ты на их рожи протокольные глянь - я всегда когда к ним иду, мобилу в стол прячу.

    А то отвлекут и не заметишь как сперли.

    А тут база с реальными деньгами и номерами. Да кто ж им дасть-то...

     
  • 2.13, нах. (?), 17:21, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Для непросвященных - какая область применения?

    ну это когда начальнега говорит - сдампи продовую базу и отдай разработчикам, пусть у себя на стенде ищут что вчера поломали. Только удали из нее персональные данные и все емейлы замени на devnull@localhost

    А ты sed'ом пользоваться не умеешь...

     
  • 2.17, Аноним (16), 20:16, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да никакая, тупо баловство!

    Хочешь сделать "анонимную" базу - да тупо сгенери фэйковые записи, зачем ещё влезать в продакшен базу?!!

     
     
  • 3.23, нах. (?), 23:21, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    патамушта на фейковых трех записях все работало, тут ровно, тут выпирает, как в ТЗ.
    А на нефейковой терабайтной ой.. упало. Ашипка-ашипка насяльника.

     
     
  • 4.28, Аноним (27), 15:44, 25/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А еще есть вариант, когда ты накатываешь данные из "анонимизатора",
    и внезапно все начинает работать, как требуется.
     

  • 1.4, Аноним (4), 14:42, 24/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    еще мы пользовались таким вариантом когда нужна реальная база с прода, но мы не хотим чтобы она както пересекалась с реальными данными и там не сработали дублирующие нотификации в виде отправки email

    несколько раз тоже нужно было заменить клиентские данные чтобы можно было отдать на тест запросов для новичков для практики написания sql запросов (когда локально, у меня ничего не тормозит, а на проде джойн долго отрабатывает)

     
  • 1.5, Хухрымухры (ok), 14:46, 24/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пример бы где-то глянуть.

    Типа дамп до и после.

     
     
  • 2.6, nixys (ok), 14:59, 24/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В репозитории описали пример до\после, скрипты тоже описаны: https://github.com/nixys/nxs-data-anonymizer?tab=readme-ov-file#example
     

  • 1.29, Электрон (?), 07:08, 26/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Инструмент... скорее фреймворк. Анонимизация - это алгоритмы, а не "вот вам ручка, там как-нибудь сами напишите рандомизацию".

    Именно анонимизировать данные - очень сложно. Уверен, у каждой большой компании на эту тему были статьи или проекты. Помню статью Яндекса на Хабре, там какой-то тестовый датасет готовили.

    Пример из жизни: Web of Trust (mywot-com) "закончился" после того, как журналисту вместе со спецами удалось соотнести "анонимизированные" данные, которые, как оказалось, WoT собирал и продавал, с данными из других маркетинговых источников, для определения полицейского в датасете. Так как аудитория у WOT была повернутая на безопасности-приватности, то исход пользователей был массовый. WOT пришлось сделать ребрендинг, как у них сейчас дела - не знаю.

    Это еще не говоря о расширенном "OSINT", который в т.ч. включает в себя анализ маркетинговых трекинговых данных. Соотнеси несколько "анонимизированных" источников и получишь что надо. Но для галочки и законодателей хватит.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру