2013-08-15 2 views
1

Как обфускать данные в SQL Server для целей разработки, чтобы скрыть конфиденциальные данные без ключей шифрования, потому что это трещины.Обфускация данных в SQL Server

+0

Вы имеете в виду анонимность табличных данных или обфускацию процедурного SQL, например хранимую процедуру? –

+0

может разработчик увидеть столбцы с конфиденциальными данными, а фактические данные обфускации, или целые столбцы должны быть невидимыми? – veljasije

+0

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

ответ

1

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

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

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

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

  3. Производственная среда имеет проверенный код и все реальные данные. Доступ к этой системе имеют только доверенные системные администраторы. Разработчики не имеют доступа к этой системе.

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

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

Редактировать

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

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

Смежные вопросы