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

Откуда:
Сообщений: 7
Добрый день!

Столкнулся с проблемой прав доступа для пользователей БД. Имеется MS SQL Server 2008, аунтификация Windows(поднят домен). В БД имеются 2 хранимые процедуры. Одна их них должна запускаться от всех пользователей(domain users), а другая только от нескольких пользователей(ivanov и sidorov) . При чем пользователи группы domain users не должны видеть(читать) процедуру для пользователей ivanov и sidorov. Пользователи ivanov и sidorov входят в группу domain users.
Созданы 3 учетные записи(domain\allusers, domain\ivanov, domain\sidorov) в СУБД и в БД соответственно.(для группы domain users и учетных записей ivanov, sidorov).
Созданы 2 роли(Allusers_Role и OthUser_Role) для всех пользователей(domain users) и пользователей ivanov, sidorov в БД соответственно. Для каждой хранимой процедуры создана отдельная схема(Allusers_Schema и OthUser_Schema). И когда мы ограничиваем права доступа на уровне схемы по ролям, т.е в схеме Allusers_Schema роли Allusers_Role предоставляем права доступа только: exucute. А в схеме OthUser_Schema закрываем все доступы роли Allusers_Role, но предоставляем роли OthUser_Role доступ exucute. В итоге получаем, что все пользователи группы domain users видят обе процедуру, а нужно только свою одну. И виной всему этому что пользователи ivanov, sidorov входят в группу всех пользователей(domain users). Можно ли на уровне СУБД решить данную проблему?
26 июн 13, 13:31    [14486031]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
deny?
Guest
явный DENY индивидуальным учеткам?
26 июн 13, 13:41    [14486152]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Создать 2 роли , на которые дать .забрать права на процедуру
В роли включать кого надо
26 июн 13, 14:10    [14486459]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Lovriy
Member

Откуда:
Сообщений: 7
deny?,

Такой вариант тоже делал - не работает.
26 июн 13, 14:15    [14486511]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3274
Lovriy
При чем пользователи группы domain users не должны видеть(читать) процедуру для пользователей ivanov и sidorov.
Вот этот момент уточните - что вы тут имеете в виду.
26 июн 13, 14:18    [14486540]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Lovriy
Member

Откуда:
Сообщений: 7
Maxx,
Не работает. Процедуру недоступна.

Ennor Tiegael,
Уточняю. Одна из процедур должна быть недоступна для группы domain users, но доступна для запуска пользователям ivanov и sidorov. Но пользователи ivanov и sidorov входят в группу domain users. С учетом этого для них созданы отдельные учетные записи для входа в СУБД и БД соотвественно. (domain\ivanov, domain\sidorov).
26 июн 13, 14:34    [14486668]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
да ладно.... у вась небось всю юзера в дбо сидят да ?
26 июн 13, 14:39    [14486705]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Lovriy
Member

Откуда:
Сообщений: 7
Maxx,

Логика такая: Таблицы созданы в схеме dbo. Для всех пользователей создана роль Allusers_Role. В схеме dbo роле Allusers_Role поставлены права на все доступы deny. Также созданы две схемы Allusers_Schema и OthUser_Schema, на каждой своя процедура.
26 июн 13, 15:02    [14486925]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Lovriy,

1 DENY - палюбасу сильнее всех GRANT на етом уровне
26 июн 13, 15:03    [14486945]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Lovriy
Member

Откуда:
Сообщений: 7
Maxx,

Это да. Но когда мы делаем grant на уровне схемы для пользователей ivanov,sidorov, а в роле acl-off выставляем deny на пользователя domain\allusers. Так не работает.
Мне интересно, как происходят аунитификация учетной записи к пользователям БД? Получается если залогиниться учетной записью domain\ivanov, то к какому пользователю меня сопоставит СУБД, если у меня там есть пользователь domain\ivanov и domain\allusers. Ведь учетная запись AD domain\ivanov входит в группу domain users.
26 июн 13, 15:21    [14487122]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
aleks2
Guest
Lovriy
Но когда мы делаем grant на уровне схемы для пользователей ivanov,sidorov, а в роле acl-off выставляем deny на пользователя domain\allusers. Так не работает.

Маши плакали... но продолжали жрать кактус.

Тибе ж сказали: явный запрет превыше любого разрешения.
26 июн 13, 15:29    [14487200]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Lovriy
Member

Откуда:
Сообщений: 7
aleks2,

Понятно. И как мне тогда построить логику прав доступа для решения проблемы.
26 июн 13, 15:40    [14487304]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Здесь столько полезного,однако
26 июн 13, 15:52    [14487449]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3274
Lovriy
в роле acl-off выставляем deny на пользователя domain\allusers.
Убрать. Вам не нужен явный deny - чтобы не видеть процедуру, достаточно не иметь явного гранта.
26 июн 13, 19:00    [14488585]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа пользователей БД  [new]
Lovriy
Member

Откуда:
Сообщений: 7
Ennor Tiegael,

Да, так и есть. Всё работает. Предлагаю закрыть тему. Спасибо.
27 июн 13, 12:31    [14490961]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить