Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запретить доступ на выборку к таблицам  [new]
victor.pozh
Member

Откуда: Холмск
Сообщений: 1
Здравствуйте -

Возникла необходимость запретить пользователям даже видеть некоторые таблицы, то есть предоставлять данные только через вью. Возникла проблема как это сделать. На сервере пользователь это Windows группа, имеется несколько групп, пользователи(Win) в них могут повторятся. Первоначальный доступ был организован через схемы, то есть пользователю(группе Win) базы данных предоставлялись права на схему и он мог делать все что было разрешено. Теперь встала задача запретить доступ к таблам и как говориться началось: при DENY на SELECT все закрывает, но если пользователь принадлежит нескольким группам то он не имеет доступ к таблице вообще, то есть даже если dbo есть в группе которой необходимо запретить доступ, то после DENY и dbo не может прочитать напрямую из таблицы, что не очень гуд. Хотелось бы сделать так, чтоб доступ был закрыт только у одного пользователя( в моем случае это группа Win) базы данных, а если есть пересечение пользователей(Win) в группах то если у другой группы остался доступ к таблице то и пользователь(Win) Не страдал. Пробовал REVOKE SELECT ON Table1 FROM User1 - никак не получается. Всё равно видит и может выбирать.
Вообщем вот такая канитель. Подскажите пожалуйста что можно сделать и как решить данную проблему.

С Уважением.
8 дек 12, 06:15    [13599235]     Ответить | Цитировать Сообщить модератору
 Re: Запретить доступ на выборку к таблицам  [new]
aleks2
Guest
1. Изучить модель безопасности MS SQL. В частности, осознать: явный запрет имеет приоритет перед явным разрешением.
2. Сделать, как она предписывает.
3. Мало ли чо вы тама хотите.
8 дек 12, 07:43    [13599251]     Ответить | Цитировать Сообщить модератору
 Re: Запретить доступ на выборку к таблицам  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31863
victor.pozh,

Не давайте DENY вообще.

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

Просто разным группам дайте доступ на нужные объекты, и если пользователь будет включён в любую из таких групп, то он доступ получит.

То есть нужно просто не давать доступ группе Win, а не прописывать для этой группы запрет.
8 дек 12, 13:16    [13599612]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить