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

Следует ли всегда использовать роли для применения разрешений SQL Server?

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

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

Что, если этот пользователь изменится (уйдет на пенсию, уволен и т. Д.)? Что, если времена меняются, и вам все же придется предоставить такие же разрешения другому пользователю?

Вот почему рекомендация:

Пользователь Windows -> Группа безопасности Windows -> Вход в SQL Server -> Пользователь базы данных -> Роль базы данных -> Разрешение.

Если ваши учетные записи пользователей на самом деле являются ролевыми учетными записями (то есть у них есть общие имена, такие как «менеджер» или «средство обновления», и они не привязаны к реальным людям), вы можете это сделать. Однако в любой организации всегда будут люди, перемещающиеся по той или иной причине, временно или постоянно, и будет намного проще управлять разрешениями с помощью ролей.

Преимущество использования ролей в базах данных SQL Server заключается в том, что они сохраняются в базе данных. Если вам пришлось восстанавливать резервные копии базы данных на другом сервере, на котором отсутствуют некоторые пользователи, у вас возникнут проблемы с разрешениями. Роли могут быть назначены существующему пользователю на новом сервере.

«Роль» здесь для удобства. Примените правила один раз, тогда добавление / удаление пользователей станет более простой задачей. Сценарий роли пользователя 1: 1 не существуют в реальном мире.