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

Откуда: Златоуст
Сообщений: 419
Не пинайте сильно если вопрос глупый,
в Oracle со схемами и правами проще :-)

Ситуация примерно такая

есть пользователи test_user, power_user
есть роль deny_access, test_user - её член, power_user - нет

в схеме dbo таблица sample_table
на неё стоят
grant select,insert,delete,update to public
и deny select,insert,update,delete to deny_access

есть схема test, её владельцем делаю power_user,
разрешаю select на схему пользователю test_user

в схеме test создаю представление sample_view на основе таблицы dbo.sample_table

вроде глядя на MSDN
пользователь test_user должен получить данные из представления, но
у меня выходит ошибка, что нет прав на исходную таблицу

Где я в цепочке своих рассуждений не прав, или всё-таки придётся убирать пользователя test_user из роли deny_access

P.S
на самом деле пытаюсь подцепиться к базе SQL коммерческой системы из Oracle
и пользователю, на который настооен DB-link выдать наименьшие права на просмотр.
А в системе, к которой пробую подцепиться всё построено через роли приложений
и права select,insert,update,delete на таблицы, и все пользователи по умолчанию члены DENY роли
22 фев 15, 21:03    [17300108]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
o-o
Guest
AndrK
вроде глядя на MSDN
пользователь test_user должен получить данные из представления, но
у меня выходит ошибка, что нет прав на исходную таблицу

ну так глядя на ваше описание, владелец таблицы sample_table -- это dbo,
а владелец вьюхи -- power_user.
будут птоверяться права на таблицу, т.к. владельцы разные.
сделайте владельцем таблицы power_user, тогда попадете под условия процитированной вами же статьи
alter authorization on dbo.sample_table to power_user;
22 фев 15, 21:59    [17300244]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
AndrK
у меня выходит ошибка, что нет прав на исходную таблицу
Потому что владельцы у таблицы и представления разные. Читайте про цепочки владения.
22 фев 15, 22:03    [17300250]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
AndrK
Member

Откуда: Златоуст
Сообщений: 419
o-o,

попробовал наоборот владельцем схемы DBO сделать

не хочу трогать не свою часть.

как-то странно получилось,

вначале не пошло,
пока пробовал описать ситуацию - заработало
22 фев 15, 22:37    [17300333]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
AndrK
Member

Откуда: Златоуст
Сообщений: 419
invm
AndrK
у меня выходит ошибка, что нет прав на исходную таблицу
Потому что владельцы у таблицы и представления разные. Читайте про цепочки владения.

Спасибо, понял
подвела меня ораклёвая привычка,
где если я через вьюху к таблице обращаюсь то для таблицы используются права владельца вьюхи
22 фев 15, 23:03    [17300400]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
o-o
Guest
AndrK,

ну можно и так, непонятно только, зачем вообще этот power_user.
если надо обращаться к таблицам, на к-ые явные денаи,
то не надо даже других схем городить, просто постройте все обращения
через процедуры/вьюхи/функции (dbo), на них выдайте права.
22 фев 15, 23:15    [17300450]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
AndrK
Member

Откуда: Златоуст
Сообщений: 419
o-o
AndrK,

ну можно и так, непонятно только, зачем вообще этот power_user.
если надо обращаться к таблицам, на к-ые явные денаи,
то не надо даже других схем городить, просто постройте все обращения
через процедуры/вьюхи/функции (dbo), на них выдайте права.


Ага, не нужен Power_user,
схему PUB всё-таки оставил, с владельцем DBO и у пользователя pub, которым
обращаюсь - её по умолчанию. Чтоб например из oracle
select * from card@linktosql - было видно, что обращаюсь к таблице card
системы.
22 фев 15, 23:25    [17300467]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
Я бы вам посоветовал другую систему безопасности.
Никаких view. Никаких прямых обращений к таблицам. Только через вызовы хранимых процедур. Разрешения на исполнения хранимых процедур давать ролям. Пользователей делать членами ролей. Если использовать схемы, то только как namespace.
23 фев 15, 07:40    [17300757]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по привилегиям  [new]
AndrK
Member

Откуда: Златоуст
Сообщений: 419
Prolog,
Согласен, так безопаснее, но пока обойдусь
просто вьюхами
23 фев 15, 21:37    [17302641]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить