Назад | Перейти на главную страницу

Защита данных таблицы SQL Server от разработчика

У нас есть веб-сервер, на котором запущено веб-приложение и SQL Server.

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

Однако база данных в нем содержит конфиденциальную информацию, которую мы не хотим, чтобы они видели или даже загружали.

Вопрос: Как лучше всего предотвратить доступ разработчиков к конфиденциальным данным?

Отменить доступ разработчика к производственной системе.

Когда требуется обновление / обновление, разработчики предоставляют пакет и / или сценарий, а затем авторизованный технический специалист выполняет необходимые операции.

Обязательным требованием для работы этого решения является значимая тестовая среда (читайте: тестовая среда должна быть синхронизирована с производственной, но данные)

Вы могли сделать следующее:

  1. создать роль базы данных для указанной базы данных и явно запретить все необходимые права для указанных таблиц / объектов в базе данных. Назовем новую роль dev_denied
  2. создайте новую учетную запись для разработчика на сервере, если он еще не использует свой логин. Кроме публичной роли в ролях сервера, не предоставляйте им никаких других ролей. Это гарантирует, что они не смогут обновлять свои собственные привилегии базы данных через свои привилегии сервера.
  3. добавьте учетную запись разработчика к роли db_owner и dev_denied базы данных.

Это предоставит вашему разработчику права администратора для базы данных, но ограничит его доступ к указанным объектам, в которых ему явно отказано в новой роли.

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