The OpenNET Project / Index page

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

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

24.07.2023 10:43

Состоялся релиз nxs-data-anonymizer 1.0.0 — инструмента для анонимизации дампа баз данных PostgreSQL и MySQL. Инструмент написан на языке Go и выпускается под лицензией Apache License 2.0.

Функции:

  • Поддерживаются PostgreSQL (все версии) и MySQL/MariaDB/Percona (все версии);
  • Гибкая анонимизация данных на основе Go templates и функций библиотеки Sprig, такой же как в Helm. Также можно использовать значения других столбцов для той же строки, чтобы построить ещё более гибкие правила;
  • Потоковая обработка данных. Допустимо использовать инструмент через неименованные каналы (pipe) в командной строке и перенаправить дамп из исходной БД непосредственно в целевую БД с необходимыми преобразованиями;
  • Легко интегрируется в CI/CD.

В ближайшее время будут добавлены:

  • Глобальные переменные с шаблонными значениями, которые можно использовать через фильтры для всех таблиц и столбцов;
  • Возможность удаления таблиц и строк из анонимизированного дампа;
  • Возможность вывода в лог произвольных сообщений. Полезно для получения некоторых сгенерированных данных, таких как пароли администратора и т.д.;
  • Поддержка большего количества баз данных.


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


Обсуждение (32) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:11, 24/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а зачем выкладывать дамп с персональными данными? это незаконно во многих юрисдикциях. Вы доверите какой-то проге свою юридическую безопасность?
     
     
  • 2.2, pashev.ru (?), 12:25, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Для внутреней разработки и тестовых развертываний. Чувствительные данные надо «замазывать».
     
     
  • 3.15, keydon (ok), 18:50, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чувствительные данные не надо хранить.
    Уж сколько раз и крупные корпорации и банки и правительственные конторы утекали.
    Но нет, надо же чтобы были подписки (а значит и номера карт), обращение по имени (а значит ФИО), геотаргетинг (а значит адрес) и прочее "для вашего удобства" (на самом деле нет, чтобы можно было использовать базу для маркетинга).

    В большинстве случаев ничего из этого не нужно.
    Покупки с адресом можно делать и анонимно, достаточно показать пользователю id заказа. Соотнести любую информацию с ним можно по адресу или по номеру кредитной карты (которая сама по себе гораздо менее чувствительна).

    Но конечно бесконечное количество глупых законов и маркетолухов не дадут этого сделать.

     
     
  • 4.17, _ (??), 21:08, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Чувствительные данные не надо хранить.

    Ты опоздал родиться. Века на два как минимум :)

     
  • 4.21, BeLord (ok), 09:57, 25/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И как вы без хранения данных предлагаете привязать юзера к его мед.карте, к примеру?-)))
     
     
  • 5.22, rshadow (ok), 19:16, 25/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для какой-то обработки они тебе никогда не нужны. Все равно внутри оперируешь просто id-шниками.
    Если, например, надо ФИО написать в карточке, то тут надо хранить пары id-фио в отдельной базе/сервисе (более строго защищенных) или вообще отдать на хранение провайдеру идентификации (google, vk id и т.д., через что он у вас там логинится) и ходить за ними когда надо. Для этого собственно oauth со скоупами и придумали.
     
     
  • 6.23, gg (??), 09:30, 26/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > на хранение провайдеру идентификации (google

    который будет ими торговать, ровно как сейчас это и происходит, вот вырисовывается выбор, хранить номер карты в базе вордпреса местной областной больнички, где админчик получает 45к наруки или у дяди билли среди миллионов таких же как ты, а уж дядя билли и нейросеть купит, и обучит, и найдет способ тебе чтото продать, а если не сам, то третьим лицам продаст..

    Собственно с этой точки точки зрения разницы нет, сольют базу злодеи через дыру, или купят у барыги, вопрос в качестве материала, уж не будет админчик за 45к ее валидировать и поддерживать в актуальном состоянии годами, а барыга будет.

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

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

    а вот с барыгами такой фокус уже не проканает

     
     
  • 7.24, rshadow (ok), 09:46, 26/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В этом плане мне больше нравится если бы вход везде был через госуслуги. Государство все равно о тебе и так все знает. Ну по крайней мере для легальных сайтов почему бы и нет. Конечно на википедию таким образом уже было бы не зайти ))

    Ну либо вариант хранить самому. Наверно для каких-то чувствительных вещей вида медицины было бы неплохо делать так. Главное чтобы этим занимался эксперт а не доморощенный админ. Везде все утекает, но вопрос скорее чтобы цена не была уж слишком дешевой.

     
     
  • 8.29, BeLord (ok), 09:32, 27/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для каких-то вещей типа медицины уже давно через госулуги доступ, а само ПО в за... текст свёрнут, показать
     
  • 6.30, BeLord (ok), 09:33, 27/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Для какой-то обработки они тебе никогда не нужны. Все равно внутри оперируешь
    > просто id-шниками.
    > Если, например, надо ФИО написать в карточке, то тут надо хранить пары
    > id-фио в отдельной базе/сервисе (более строго защищенных) или вообще отдать на
    > хранение провайдеру идентификации (google, vk id и т.д., через что он
    > у вас там логинится) и ходить за ними когда надо. Для
    > этого собственно oauth со скоупами и придумали.

    Через гугл, ПДн, ай молодца. 152-ФЗ стоит почитать для разнообразия.

     
  • 5.26, keydon (ok), 11:42, 26/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > И как вы без хранения данных предлагаете привязать юзера к его мед.карте,
    > к примеру?-)))

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

     

  • 1.4, pashev.ru (?), 12:30, 24/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На самом деле, эта штука бесполезна. Я рекомендую в каждом конкретном случае делать это самостоятельно, хоть на Баше, потому что никто, кроме вас не знает вашу БД. Думаю, этот прожект и вырос из такой самоделки, но для других он бесполезен.
     
     
  • 2.6, Виктор (??), 13:37, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Понятное дело, что никто лучше вас самих вашу БД не знает. Скажу больше - если вы не знаете свою БД, то и пользоваться этим инструментом вы не сможете, так как он магию за вас не сделает и не определит самостоятельно где лежат чувствительные данные для вашего бизнеса и как их нужно изменить. Его задача заключается в том, чтобы максимально упростить работу по изменению этих самых данных, чтоб, как вы сказали, не сидеть и не сочинять скрипты на баше, заниматься их отладкой и поддержкой, а просто написать конфиг, где даже знания SQL не нужны.
     
     
  • 3.12, pashev.ru (?), 17:02, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > том, чтобы максимально упростить работу по изменению этих самых данных, чтоб,
    > как вы сказали, не сидеть и не сочинять скрипты на баше,
    > заниматься их отладкой и поддержкой, а просто написать конфиг, где даже
    > знания SQL не нужны.

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

     
     
  • 4.13, pashev.ru (?), 17:11, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    1. Берётся ежедневный бэкап (дамп).
    2. Импортируется на отдельном сервере.
    3. На этом сервере прогоняется запросы на чистку/изменение данных.
    4. Делается дамп, раздаётся разработчикам или/и импортируется в тестовое окружение.

    Пункты 3 и 4 могут быть посложнее, например разработчикам удобнее дамп поменьше.

     
     
  • 5.14, pashev.ru (?), 17:14, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это всё заодно и является проверкой адекватности бэкапов )

    Разумеется, легко автоматизируется.


     
     
  • 6.16, keydon (ok), 18:58, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я конечно и сам так делал.
    Но вообще говоря есть разные сценарии и требования.
    И если где-то достаточно через awk заменить все даты рождения 3 января 2009 года, то где-то для тестирования и верификации нужны разные даты. А еще есть имена, адреса и т.д..
    Но в идеале конечно лучше просто не работать ни с какими чувствительными данными. Нет данных - нет проблем.
     
     
  • 7.20, WE (?), 07:39, 25/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    продолжу. нет проблем - нет продаж - нет денег.
     
     
  • 8.25, keydon (ok), 11:38, 26/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А я в принципе и так лежу и ничего не делаю ... текст свёрнут, показать
     
  • 7.31, pashev.ru (?), 09:35, 27/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да какой авк? Я же написал — работать с базой данных, скл.
     
     
  • 8.33, keydon (ok), 16:12, 27/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А следующий этап этап зашаблонить этот скл и оформить в виде плагина и вот он, т... текст свёрнут, показать
     

  • 1.5, Аноним (5), 13:24, 24/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Анонимизация на языке GO! :)
    google с нами :)
     
     
  • 2.7, Василий Топоров (?), 13:49, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Единственная связь с Google там - прокси, задаваемый через переменную окружения GOPROXY (и через неё же и отключаемый). Но это свойство вашей установки Go, а не конкретного софта.
     
     
  • 3.9, Аноним (9), 15:43, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там же вроде ещё и телеметрия в утилитах, или она не по-умолчанию?
     

  • 1.8, Бывалый смузихлёб (?), 14:07, 24/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > для анонимизации дампа баз данных

    Это как ? Типо, по конкретному адресу и с конкретными кредами подключаюсь к хз кому ради хз чего ?

     
     
  • 2.18, _ (??), 21:22, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тебе это не надо. Это для компУтерЩикаФФФ" :)
     
     
  • 3.19, _ (??), 21:24, 24/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для компУтерЩикаФФФ" :)  - вот вам Ыкзампель:
    export PGPASSWORD=password; pg_dump -U postgres prod | /path/to/nxs-data-anonymizer -t pgsql -c /path/to/nxs-data-anonymizer.conf | psql -U postgres dev

    Сам это юзать не буду, у нас спецтулза для этого закуплена за тЫЩЩи нФФти :)))

     
     
  • 4.34, пох. (?), 17:11, 03/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Сам это юзать не буду, у нас спецтулза для этого закуплена за тЫЩЩи нФФти :)))

    awk ?
    sed, небось, дешевле бы стоил...

     

  • 1.27, pavlinux (ok), 14:07, 26/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Оxocпадя, eгэшники ввыросли.  

    $ mysqldump bazadata | gpg  -c > ~/bazadata.gpg


    > Возможность удаления таблиц и строк из анонимизированного дампа;

    Ну давайте, расскажите как удалить "известную строку" и неизвестного дампа? (без временной деанонимизации)

     
     
  • 2.28, Виктор (??), 08:46, 27/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Оxocпадя, eгэшники ввыросли.  
    > $ mysqldump bazadata | gpg  -c > ~/bazadata.gpg

    И что вы этим хотели сказать? Что умеете хранить данные БД в шифрованном виде? Так здесь речь как бы не про это. Как мне это должно помочь залить на dev-стенд БД без чувствительных данных с прода?

    > Ну давайте, расскажите как удалить "известную строку" и неизвестного дампа? (без временной деанонимизации)

    Вы хорошо прочитали описание тулзы и что здесь подразумевается под словом анонимизация? На всякий случай оставлю это тут - тулза затирает именно данные, а не саму структуру БД. Поэтому что вас смущает в исходном утверждении непонятно от слова совсем.

     
     
  • 3.32, ivan_erohin (?), 10:00, 27/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 4.35, пох. (?), 17:13, 03/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

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



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

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