powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Application role priviligies
6 сообщений из 6, страница 1 из 1
Application role priviligies
    #32021176
MishGan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть приложение, которое относительно недавно стало использовать application role (раньше использовалась обычные роли). В этом приложении определенные пользователи могли создавать/удалять login-ы (т.е. вызывать sp_addlogin, sp_grantlogin, sp_droplogin и т.д.). Раньше достаточно было включить нужный логин в серверную роль sequrityadmin и все проблемы решались.
Сейчас выяснилось, что когда приложение активизирует application role (т.е. вызывается процедура sp_setapprole), у пользователя отнимаются все ранее имевшиеся привелегии, в том числе и те серверные роли, которые были привязаны к его логину.
Т.е. теперь нельзя выполнять процедуры типа sp_addlogin, sp_grantlogin, sp_droplogin и т.д. И совершенно непонятно как хотябы отменить действие application role (кроме как разорвать сессию и переконнектиться).
В связи с возникшими неудобствами 2 вопроса:
1) Можно ли сделать так, чтобы пользователь акривизировав appliaction role смог получить привелегии фиксированной роли сервера securityadmin? Если можно, то как?
2) Можно ли отменить действие application role, не разрывая текущию сессию и не открывая новую?
...
Рейтинг: 0 / 0
Application role priviligies
    #32021342
MishGan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели никто ничего не знает?
...
Рейтинг: 0 / 0
Application role priviligies
    #32021480
dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А запросто (если, конечно, на эти sp нет того же ограничения что и на sp_setapprole)
В пользовательской базе пишем sp, которые внутри себя делают exec master..
Хотя может есть и др. способ
...
Рейтинг: 0 / 0
Application role priviligies
    #32021495
MishGan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Увы все не так просто:

create procedure addlogin as
begin
exec SP_ADDLOGIN 'RRR','RRR'
end
GO
grant execute on addlogin to TESTAPPROLE
GO

После активизиции application role:

exec addlogin

А сервер в ответ:

Server: Msg 15003, Level 16, State 1, Procedure sp_addlogin, Line 16
Only members of the securityadmin role can execute this stored procedure.

Хотя securityadmin явно была дана. Просто после sp_setapprole пользователь потерял право на ее исполнение.
...
Рейтинг: 0 / 0
Application role priviligies
    #32021515
Мне ваши тернии просто непонятны.
1. В любом приложении можно указать сколько угодно подсоединений к базе, а роль приложения будет действовать только для того соединения, где она активизирована.
2. Кто запрещает сделать второе приложение - административное, для тех, кому надоть на ходу администрять.
3. Почему бы для администрирование не использовать готовый EM.
4. ... (решений можно придумать очень много)
...
Рейтинг: 0 / 0
Application role priviligies
    #32021534
MishGan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Глеб Уфимцев.
Я вами полностью согласен. Но, планировалось перейти на использование application role с минимальными изменениями кода приложения. По п1. - приложение спроектировано и реализовано как однопоточное, и второе соединение делать нельзя. Но в принципе у нас для аминистрирования и так уже есть отдельное приложение и можно его гонять без application role. Правда это не очень хорошо. Другой вариант: перед вызовом sp_addlogin делать reconnect, и потом, после выполнения всех дейсвий, заново connect и sp_setapprole.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Application role priviligies
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]