Анонимные данные клиента для разработки или тестирования

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

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

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

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

Ответы

Ответ 1

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

Ответ 2

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

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

  • Введите данные (т.е. столбцы) и таблицы, содержащие эти столбцы.
  • Идентифицируйте таблицы "master" для этих столбцов, а также нестандартные экземпляры этих столбцов.
  • Отрегулируйте основные файлы. Вместо того, чтобы пытаться рандомизировать их (или сделать их фальшивыми), подключите их к ключу файла. Для клиента 123 задайте имя name123, адрес 123 123rd St, 123town, CA, USA, телефон 1231231231. Это добавило бонуса к отладке очень легко!
  • Измените ненормальные экземпляры либо путем обновления из основного файла, либо путем де-персонализации того же типа

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

Ответ 3

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

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