Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Application role priviligies / 6 сообщений из 6, страница 1 из 1
22.01.2002, 07:52
    #32021176
MishGan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Application role priviligies
Есть приложение, которое относительно недавно стало использовать 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
23.01.2002, 11:32
    #32021342
MishGan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Application role priviligies
Неужели никто ничего не знает?
...
Рейтинг: 0 / 0
25.01.2002, 01:30
    #32021480
dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Application role priviligies
А запросто (если, конечно, на эти sp нет того же ограничения что и на sp_setapprole)
В пользовательской базе пишем sp, которые внутри себя делают exec master..
Хотя может есть и др. способ
...
Рейтинг: 0 / 0
25.01.2002, 08:17
    #32021495
MishGan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Application role priviligies
Увы все не так просто:

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


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