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

Добавляю таблицу T1, никому на нее не даю прав.
смотрю права простого пользователя на эту таблицу:
setuser 'domain\user1' 
select * from fn_my_permissions('dbo.T1', 'OBJECT') 
права есть (!) на выборку и апдейт.

Проверяю есть ли права у схемы, в целом:
select schema_name(major_id), permission_name
from sys.database_permissions
where class_desc = 'SCHEMA'
прав для dbo никаких нет.

Как так может получаться?
12 сен 13, 12:38    [14830669]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
Glory
Member

Откуда:
Сообщений: 104751
непонятки с правами
Как так может получаться?

Через роль. Например
db_datawriter
Members of the db_datawriter fixed database role can add, delete, or change data in all user tables.

db_datareader
Members of the db_datareader fixed database role can read all data from all user tables.
12 сен 13, 12:41    [14830695]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Glory,

смотрю список ролей:
select *
from  sys.database_principals
where is_member(name) = 1
роли там у пользователя есть, но при создании таблицы я не давал права этим ролям.

когда повторяю эксперимент с хранимкой, то все получается ожидаемо, прав никаких не дал - выполнить хранимку пользователь не может.
12 сен 13, 12:49    [14830760]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
Glory
Member

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

Ничего не понял
Вы хотите сказать, что
setuser 'domain\user1'
select * from dbo.T1
работает,

а
setuser 'domain\user1'
exec dbo.my_proc <somehere inside select * from dbo.T1 >
не работает ?
12 сен 13, 12:53    [14830793]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Glory
непонятки с правами
когда повторяю эксперимент с хранимкой, то все получается ожидаемо, прав никаких не дал - выполнить хранимку пользователь не может.

Ничего не понял
Вы хотите сказать, что
setuser 'domain\user1'
select * from dbo.T1
работает,

а
setuser 'domain\user1'
exec dbo.my_proc <somehere inside select * from dbo.T1 >
не работает ?
да, точно так.
провожу исследование на тестовой базе компании.
пока понятия не имею, откуда такое может возникнуть.
12 сен 13, 13:01    [14830845]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
Glory
Member

Откуда:
Сообщений: 104751
непонятки с правами
провожу исследование на тестовой базе компании.

Это значит - свежепоставленный сервер, свежесозданная база с 'domain\user1' , dbo.T и dbo.my_proc ?
12 сен 13, 13:03    [14830858]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Glory
непонятки с правами
провожу исследование на тестовой базе компании.

Это значит - свежепоставленный сервер, свежесозданная база с 'domain\user1' , dbo.T и dbo.my_proc ?
Нет, все как раз не свежее и я ничего насчет прав не делал.
12 сен 13, 13:12    [14830919]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
Glory
Member

Откуда:
Сообщений: 104751
непонятки с правами
Нет, все как раз не свежее и я ничего насчет прав не делал.

Ну так что вам мешает создать хотя бы новую базу ?
12 сен 13, 13:13    [14830931]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Glory
непонятки с правами
Нет, все как раз не свежее и я ничего насчет прав не делал.

Ну так что вам мешает создать хотя бы новую базу ?
нет на то полномочий.
12 сен 13, 13:19    [14830968]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
пока могу ковыряться в пределах нескольких тестовых баз.
12 сен 13, 13:20    [14830981]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
o-o
Guest
непонятки с правами
Glory
пропущено...

Ничего не понял
Вы хотите сказать, что
setuser 'domain\user1'
select * from dbo.T1
работает,

а
setuser 'domain\user1'
exec dbo.my_proc <somehere inside select * from dbo.T1 >
не работает ?
да, точно так.
провожу исследование на тестовой базе компании.
пока понятия не имею, откуда такое может возникнуть.


так это, какого права-то нет, какое сообщение об ошибке?
а то мы тут все на SELECT думаем, а у ТС, возможно,
The EXECUTE permission was denied...
12 сен 13, 17:08    [14832530]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
o-o
непонятки с правами
пропущено...
да, точно так.
провожу исследование на тестовой базе компании.
пока понятия не имею, откуда такое может возникнуть.


так это, какого права-то нет, какое сообщение об ошибке?
а то мы тут все на SELECT думаем, а у ТС, возможно,
The EXECUTE permission was denied...

да, пишет The EXECUTE permission was denied...
но это так и надо, насколько я понимаю, вопроса в этом нет.

вопрос в том - что
setuser 'domain\user1' 
select * from fn_my_permissions('dbo.T1', 'OBJECT') 
показывает, что есть права на селект и апдейт (что и подтверждается опытом).
и не понятно, откуда эти разрешения возникли, поскольку специально для этой таблицы никаких разрешений не выдавалось.
причем удалять нельзя :) где все эти правила прописаны - непонятно.
12 сен 13, 17:20    [14832614]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
Glory
Member

Откуда:
Сообщений: 104751
непонятки с правами
да, пишет The EXECUTE permission was denied...
но это так и надо, насколько я понимаю, вопроса в этом нет.

И почему вы решили, что это сообщение о правах какого то запроса внутри процедуры ?
12 сен 13, 17:22    [14832631]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Glory
непонятки с правами
да, пишет The EXECUTE permission was denied...
но это так и надо, насколько я понимаю, вопроса в этом нет.

И почему вы решили, что это сообщение о правах какого то запроса внутри процедуры ?
где написано, что я так решил?
12 сен 13, 17:25    [14832657]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
o-o
Guest
непонятки с правами
вопрос в том - что
setuser 'domain\user1' 
select * from fn_my_permissions('dbo.T1', 'OBJECT') 
показывает, что есть права на селект и апдейт (что и подтверждается опытом).
и не понятно, откуда эти разрешения возникли, поскольку специально для этой таблицы никаких разрешений не выдавалось.
причем удалять нельзя :) где все эти правила прописаны - непонятно.


ну так на это сразу Glory ответил: права выданы роли.
если кто-то db_datareader,
то ему "заранее" выдан SELECT на все что есть и будет.
а войти в роль можно и напрямую, и через виндовскую группу.

а далее по тексту Вы так описали, что можно подумать, что именно на SELECT права есть,
а в процедуре они исчезли
12 сен 13, 17:27    [14832673]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
Glory
Member

Откуда:
Сообщений: 104751
непонятки с правами
Glory
пропущено...

И почему вы решили, что это сообщение о правах какого то запроса внутри процедуры ?
где написано, что я так решил?

тут 14830845 вы ответили, что ошибка доступа к таблице, т.е. при выполнении select-а в процедуре
12 сен 13, 17:27    [14832681]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Glory
непонятки с правами
пропущено...
где написано, что я так решил?

тут 14830845 вы ответили, что ошибка доступа к таблице, т.е. при выполнении select-а в процедуре
я там подтвердил, что:
автор
setuser 'domain\user1'
select * from dbo.T1
работает,

а
setuser 'domain\user1'
exec dbo.my_proc <somehere inside select * from dbo.T1 >
не работает ?
все точно так и было.
12 сен 13, 17:30    [14832700]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
Glory
Member

Откуда:
Сообщений: 104751
непонятки с правами
все точно так и было.

Офигительно просто
Вы вопрос поняли вообще ?
12 сен 13, 17:31    [14832710]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
блин, я снова переводчик :)
Guest
непонятки с правами
Glory
пропущено...

И почему вы решили, что это сообщение о правах какого то запроса внутри процедуры ?
где написано, что я так решил?


решили исходя из этого диалога:
Glory

Ничего не понял
Вы хотите сказать, что
setuser 'domain\user1'
select * from dbo.T1
работает,

а
setuser 'domain\user1'
exec dbo.my_proc <somehere inside select * from dbo.T1 >
не работает ?


непонятки с правами
да, точно так.


если б Вы сразу написали про EXECUTE, никто бы не удивился.
а как написано, можно подумать, что вот ВНЕ процедуры есть SELECT, а в процедуре отвалился
12 сен 13, 17:32    [14832714]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Glory
непонятки с правами
все точно так и было.

Офигительно просто
Вы вопрос поняли вообще ?
Извинте, как спрошено - так и отвечено.
12 сен 13, 17:34    [14832734]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
o-o
Guest
непонятки с правами
Glory
пропущено...

Офигительно просто
Вы вопрос поняли вообще ?
Извинте, как спрошено - так и отвечено.


+
дружеский совет: разобрались, и хорош.
щас тему прикроют, т.к. пошло-поехало: "я сказал то, а он понял другое."
вот честно: как было написано, казалось, что SELECT испарился внутри процедуры.
потому что про EXECUTE, что его нет, вообще-то очевидно.
просто лично мне понятно: что очевидно Glory, совсем не так очевидно "серым никам".
и пришло в голову уточнить про EXECUTE, еще ДО Вашей ссылки на "сюда" из соседней темы.
если с точки зрения русского языка, то все ок, Вы не уточнили, как именно "не работает".
но т.к. случай "не работает по причине отсутствия EXECUTE" не представляет интереса,
на него большинство и не подумало
12 сен 13, 17:46    [14832817]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с правами  [new]
непонятки с правами
Guest
Ок, всем огромное спасибо!
12 сен 13, 17:57    [14832900]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить