Анонимизация данных клиента для разработки или тестирования - PullRequest
16 голосов
/ 04 ноября 2008

Мне нужно взять производственные данные с реальной информацией о клиенте (имена, адреса, номера телефонов и т. Д.) И переместить их в среду разработки, но я хотел бы удалить любое подобие real информации о клиенте .

Некоторые ответы на на этот вопрос могут помочь мне сгенерировать НОВЫЕ тестовые данные, но как мне заменить эти столбцы в моих производственных данных, но сохранить другие соответствующие столбцы?

Допустим, у меня была таблица с 10000 поддельными именами. Должен ли я сделать перекрестное соединение с обновлением SQL? Или сделать что-то вроде

UPDATE table
SET lastname = (SELECT TOP 1 name FROM samplenames ORDER By NEWID())

Ответы [ 3 ]

11 голосов
/ 04 ноября 2008

Анонимизация данных может быть непростой задачей, и если ее не сделать правильно, это может привести к неприятностям, как, например, то, что случилось с AOL, когда они выпустили данные поиска некоторое время назад . Я попытался бы создать тестовые данные с нуля любой ценой, прежде чем пытаться преобразовать существующие данные клиентов. Это может привести к тому, что вы сможете выяснить, кому принадлежали данные, используя такие вещи, как поведенческий анализ и другие данные, которые вы можете не считать конфиденциальными. Я бы предпочел быть в безопасности, чем сожалеть.

9 голосов
/ 04 ноября 2008

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

Мой основной процесс:

  1. ID данных (то есть столбцов) и таблиц, которые содержат эти столбцы.
  2. Идентифицируйте «главные» таблицы для этих столбцов, а также ненормализованные экземпляры этих столбцов.
  3. Настройте мастер-файлы. Вместо того, чтобы пытаться рандомизировать их (или сделать их ложными), подключите их к ключу файла. Для клиента 123 установите имя name123, адрес 123 123rd St, 123town, CA, USA, телефон 1231231231. Это дает дополнительный бонус, облегчая отладку!
  4. Измените ненормальные экземпляры, обновив из основного файла или , выполнив тот же тип дес персонализации

Это не выглядит красиво, но работает.

4 голосов
/ 09 сентября 2015

Существует несколько инструментов для удаления конфиденциальных данных из баз данных, которые я нашел. Обратите внимание, что я сам не пробовал ни одного из них:

Здесь также есть коллекция сценариев DB для санации, которые могут быть полезны: https://gist.github.com/Tyriar/d3635c6b6e32ac406623

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...