2009-11-11 4 views
5

Я хочу предоставить различный уровень доступа к столам для разных пользователей на основе их отдела. Должен ли я использовать Schema или Roles для этой цели?Должен ли я использовать роли или схемы, чтобы предоставить пользователям доступ на основе их отдела?

ответ

8

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

Подумайте о роли как группировок для пользователей и связанных с ними прав для этой группы пользователей, а схемы - для логической группировки наборов данных.

Редактировать на основе пользовательского комментария:

Вы можете, но ограничить доступ к определенной таблице, используя схему, может быть, не самый лучший способ, чтобы думать об этом. Схемы используются для группировки данных. Таким образом, у вас может быть схема продаж, которая имеет таблицы, процедуры и т. Д., Которые необходимы команде продаж. Затем вы можете сказать GRANT SELECT ON SCHEMA::sales TO salesRole;, где вы используете схему как ярлык для предоставления разрешений группе пользователей, где каждый продавец имеет роль salesRole. Любая таблица, которая позже создается в схеме продаж, будет доступна пользователям с этой ролью. Если команда продаж использует эту роль только и не имеет других разрешений, то эта таблица, созданная в другой схеме, не будет использоваться этими пользователями. Если это то, что вы подразумеваете под «ограничением доступа с использованием схемы», то да, но я предпочитаю смотреть на него как на пользователя, не имеющего прав, предоставленных ни через роль, ни в явный грант. Надеюсь, что это поможет прояснить.

+0

Получил ваш вопрос, спасибо. Могу ли я ограничить доступ некоторых пользователей к какой-либо конкретной таблице только с помощью Схемы. –

0

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

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