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

Откуда:
Сообщений: 2694
Скажите пожалуйста,
как дать доступ на запуск sp_helpuser для пользоваnелей, не имеющих прав db_securityadmin?

Заранее благодарен.
28 авг 14, 16:23    [16508172]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
o-o
Guest
sp_helpuser (Transact-SQL)
Permissions
Requires membership in the public role.

не надо ничего давать, все уже украденовыдано до вас
28 авг 14, 16:52    [16508386]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
vah
Member

Откуда:
Сообщений: 2694
o-o,

а можно как-то еще пользователю получить список ролей всех пользователей, не давая ему каких-либо особых прав?
28 авг 14, 18:36    [16508991]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
Glory
Member

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

А дочитать Permissions в хелпе мама не велит ?
28 авг 14, 18:41    [16509014]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
vah
Member

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

так а public серверная или базы данных?
28 авг 14, 18:52    [16509076]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
o-o
Guest
Glory,
а он просил только права на запуск!

vah,
то спецом сделано, чтоб не все всех видели, именно что читайте Metadata Visibility Configuration
...но если очень хочется погимориться, см.решение от churupaha: Execute AS
28 авг 14, 18:54    [16509083]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
o-o
Guest
vah
Glory,

так а public серверная или базы данных?


ну базы данных конечно, процедура-то Reports information about database-level principals in the current database.
но хорошо что спросили,
в смысле, плохо не читать хэлп, но решить-то можно без сертификатов, простым EXECUTE AS в процедуре,
заведя юзера без логина и выдав ему права.
a у меня уже просто маразм сегодня пошел
28 авг 14, 19:00    [16509120]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
o-o
Guest
vah
o-o,

а можно как-то еще пользователю получить список ролей всех пользователей, не давая ему каких-либо особых прав?


create user super_user without login;
grant view definition to super_user; /* view definition basta e avanza */
go

create proc dbo.usp_helpuser with execute as 'super_user' as
exec sp_helpuser;
go

create user vah without login;
grant execute on dbo.usp_helpuser to vah;

exec as user = 'vah';
exec sp_helpuser;
exec dbo.usp_helpuser;

revert;
28 авг 14, 21:19    [16509552]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
vah
Member

Откуда:
Сообщений: 2694
o-o,

Спасибо большое. А как юзера можно лишить разрешения view definition? (случайно не тому дал (()
29 авг 14, 08:48    [16510549]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
mag2000
Member

Откуда:
Сообщений: 187
vah,
автор
А как юзера можно лишить разрешения view definition?


use [Ваша_база]
GO
REVOKE VIEW DEFINITION TO [Ваш_юзер] 
GO
29 авг 14, 09:42    [16510731]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
поясните пожалуйста
Guest
o-o
vah
o-o,

а можно как-то еще пользователю получить список ролей всех пользователей, не давая ему каких-либо особых прав?


create user super_user without login;
grant view definition to super_user; /* view definition basta e avanza */
go

create proc dbo.usp_helpuser with execute as 'super_user' as
exec sp_helpuser;
go

create user vah without login;
grant execute on dbo.usp_helpuser to vah;

exec as user = 'vah';
exec sp_helpuser;
exec dbo.usp_helpuser;

revert;


Разве vah не должен иметь полномочия IMPERSONATE на super_user...

 To specify EXECUTE AS on a login, the caller must have IMPERSONATE permission on the specified login name and must not be denied the IMPERSONATE ANY LOGIN permission. To specify EXECUTE AS on a database user, the caller must have IMPERSONATE permissions on the specified user name. When EXECUTE AS CALLER is specified, IMPERSONATE permissions are not required. 


Нипонимамс... или тут тоже работает owner chaining? Если есть право на хранимку, то если объекты внутри имеют того же owner'а что и процедура, то права на эти объекты не проверяются?
29 авг 14, 10:08    [16510866]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
поясните пожалуйста
Разве vah не должен иметь полномочия IMPERSONATE на super_user...

 To specify EXECUTE AS on a login, the caller must have IMPERSONATE permission on the specified login name and must not be denied the IMPERSONATE ANY LOGIN permission. To specify EXECUTE AS on a database user, the caller must have IMPERSONATE permissions on the specified user name. When EXECUTE AS CALLER is specified, IMPERSONATE permissions are not required. 


Нипонимамс... или тут тоже работает owner chaining? Если есть право на хранимку, то если объекты внутри имеют того же owner'а что и процедура, то права на эти объекты не проверяются?


это не тот execute as.

есть отдельная _команда_ execute as
http://msdn.microsoft.com/en-us/library/ms181362.aspx
из статьи о ней вы взяли цитату.

и есть EXECUTE AS Clause - часть определения модуля (процедуры, функции):
http://msdn.microsoft.com/en-us/library/ms188354.aspx
29 авг 14, 10:34    [16511000]     Ответить | Цитировать Сообщить модератору
 Re: разрешение на sp_helpuser  [new]
поясните пожалуйста
Guest
автор
и есть EXECUTE AS Clause - часть определения модуля (процедуры, функции):
http://msdn.microsoft.com/en-us/library/ms188354.aspx
[/quote]

спасибо
29 авг 14, 10:42    [16511070]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить