Особые права на GRANT, REVOKE или DENY для хранимых процедур - PullRequest
0 голосов
/ 27 марта 2009

В базе данных SQL Server 2008 я хочу предоставить пользователю права на GRANT, REVOKE и DENY для объектов только хранимой процедуры типа (без использования роли базы данных db_securityadmin). Как я могу это сделать? Спасибо!

Шандор

Ответы [ 2 ]

3 голосов
/ 27 марта 2009

Оберните GRANT / REVOKE / DENY через другой сохраненный процесс, который:

  • Имеет EXECUTE AS OWNER (или пользователя, если другая схема), чтобы избежать прямых прав для пользователя
  • Проверяет целевой объект в сохраненном процессе
  • Проверяет, разрешен ли пользователь или член определенной роли и т. Д.

В противном случае невозможно разделить разрешения для типа объекта

1 голос
/ 27 марта 2009

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

Могут быть и другие способы выполнить то, что вы хотите, но я о них не знаю.

...