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

Откуда: Нижний Новгород
Сообщений: 82
Здравствуйте!
Проблема с доступом к таблице: при выполнении DELETE [dbo].[table] WHERE [database].[dbo].[table] = @temp
от имени доменного пользователя, входящего в роль public таблицы и имеющего права на выполнение команды DELETE в данной таблице (GRANT DELETE [dbo].[table] TO public), но при выполнении команды все равно получаю ошибку:
DELETE permission denied on object 'TABLE', database 'DATABASE', owner 'dbo'.
Не спасает даже включение пользователя в роль db_owner базы.
Команда выполняется только в том случае, если пользователь является администратором самого SQL сервера, т.е. в Properties логина в окне Server Role стоит галочка System Administrators.
Схема в базе одна - [dbo]. Не понятно каких еще прав не хватает пользователю, чтоб выполнять запрос, не являясь админом sql сервера?
Подскажите куда копать?
Заранее спасибо!
29 июн 11, 09:16    [10890599]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31970
Scherbakov
Подскажите куда копать?
МОжетЮ, у пользователя явно отобрали права на DELETE?
29 июн 11, 09:20    [10890611]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> Подскажите куда копать?

где-то deny есть. у deny приоритет над grant-ом.

Posted via ActualForum NNTP Server 1.4

29 июн 11, 09:24    [10890621]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
alexeyvg
Scherbakov
Подскажите куда копать?
МОжетЮ, у пользователя явно отобрали права на DELETE?


галочка на разрешение выполнения DELETE в Database User Properties -> Permissions стоит.
Вы это имели ввиду?
29 июн 11, 09:26    [10890629]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
daw,

deny - всмысле роль db_denydatareader, db_denydatawriter?
при включении в эти роли, получаю:
SELECT permission denied on object 'sysusers', database 'DATABASE', owner 'dbo'.
29 июн 11, 09:38    [10890688]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31970
Scherbakov
Вы это имели ввиду?
Я про deny...

Ну, попробуйте select * from fn_my_permissions(N'таблица', N'OBJECT')
29 июн 11, 09:39    [10890695]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31970
Scherbakov
daw,

deny - всмысле роль db_denydatareader, db_denydatawriter?
при включении в эти роли, получаю:
SELECT permission denied on object 'sysusers', database 'DATABASE', owner 'dbo'.
deny - это явный запрет действия. Непонятно, зачем вы хотите явно запретить пользователю любые чтения или записи, у вас вроде другая цель.
29 июн 11, 09:42    [10890709]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> deny - всмысле роль db_denydatareader, db_denydatawriter?

deny, в смысле или прямо юзеру, или какой-то из ролей, в которые он входит, сделали
DENY DELETE [dbo].[table]

смотрите, что у вас там кому запрещено:
select * from sys.database_permissions where state_desc = 'DENY'

Posted via ActualForum NNTP Server 1.4

29 июн 11, 09:44    [10890717]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
alexeyvg,

У меня тоит MS SQL 2000, в нем я так понимаю такой функции нет.
Не подскажете аналогичную для 2000го sql сервера?
29 июн 11, 10:00    [10890803]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> У меня тоит MS SQL 2000

exec sp_helprotect '[dbo].[table]'

Posted via ActualForum NNTP Server 1.4

29 июн 11, 10:13    [10890862]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scherbakov

от имени доменного пользователя, входящего в роль public

А в какие доменовские группы входит этот пользователь ? Которым тоже определены какие то права на mssql ?
29 июн 11, 10:28    [10890964]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
daw,

результат выполнения exec sp_helprotect '[dbo].[table]'

dbo TABLE public dbo Grant Delete .
dbo TABLE public dbo Grant Insert .
dbo TABLE public dbo Grant References (All+New)
dbo TABLE public dbo Grant Select (All+New)
dbo TABLE public dbo Grant Update (All+New)

явных запретов на выполнения DELETE нету.
Есть у кого еще идеи, на тему каких прав не хватает пользователю?
29 июн 11, 10:28    [10890968]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
Glory
Scherbakov
от имени доменного пользователя, входящего в роль public

А в какие доменовские группы входит этот пользователь ? Которым тоже определены какие то права на mssql ?

сначала этот пользователь входил в домен группу SQLUsers, которая была включена в свои sql-серверные роли, для всех пользователей, входящих в эту группу, не было возможности выполнить DELETE для конкретной TABLE, ошибка: permissions denied.
После я вывел одного пользователя из группы, создал логин в Security на sql сервере и включил его в те же самые роли, в которые он входил в составе группы. Не помогло. По сути для выполнения данной команды пользователю (как и группе) достаточно входить только в роль public.
Но и будучи включенным только в эту роль, получаю permissions denied при выполнении DELETE...
29 июн 11, 11:08    [10891239]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Не бывает чудес - значит права наследуются откуда то еще
Создайте SQL login/user и проверьте
29 июн 11, 11:14    [10891287]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
Glory
Не бывает чудес...

полностью согласен!
создал sql-ный логин user, включил его только в роль public, попробовал выполнить DELETE под user - все получилось!
И правда ввел всех в заблуждение: и доменная группа и доменный пользовалель в ходили еще в одну роль, вот настройками доступа к объектам для пользователей, входящих в эту роль и обрубалось разрешение на выполнение команды.
Как теперь понять, что именно???
29 июн 11, 11:50    [10891575]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scherbakov
И правда ввел всех в заблуждение: и доменная группа и доменный пользовалель в ходили еще в одну роль, вот настройками доступа к объектам для пользователей, входящих в эту роль и обрубалось разрешение на выполнение команды.
Как теперь понять, что именно???

Что конкретно осталось непонятым ?
- Все права кумулятивные, т.е. складываются из явных и наследуемых
- DENY имеет приоритет над GRANT
29 июн 11, 11:53    [10891600]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
Glory,

подскажите, как можно посмотреть какие права или запреты назначеные второй роли мешают мне выполнить DELETE для TABLE
результат exec sp_helprotect '[dbo].[table]' вриведен выше. в отчете присутствуют только записи о грантах для роли public
29 июн 11, 12:01    [10891695]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
есть еще встроенные роли базы и сервера
29 июн 11, 12:27    [10891986]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Scherbakov
Member

Откуда: Нижний Новгород
Сообщений: 82
Glory,

это понятно, как посмотреть есть ли явный запрет на выполнение команды для роли?
29 июн 11, 13:01    [10892329]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами доступа к объекту базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scherbakov
Glory,

это понятно, как посмотреть есть ли явный запрет на выполнение команды для роли?

sp_helprotect с нужным @username
29 июн 11, 13:04    [10892352]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить