Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Понимание Application role / 2 сообщений из 2, страница 1 из 1
24.01.2002, 09:45
    #32021405
dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Понимание Application role
Microsoft SQL Server: контрольная по безопасности
Алексей Шуленин

последний ответ: ....
"
revoke all from [Cаша]
exec sp_addapprole @rolename=’AppRole1’, @password='abc'
grant execute on spChangeBalance to ‘AppRole1’

Cымитируем работу приложения (исходный код пользователю, естественно, неизвестен и недоступен):

exec sp_setapprole @rolename=’AppRole1’, @password={Encrypt N'abc'}, @Encrypt='ODBC'
exec spChangeBalance …

Процедура вызывается и отрабатывает. Теперь откроем Query Analyzer, Microsoft Query, Access или любую другую программу, позволяющую послать на SQL Server интерактивный запрос, зарегистрируемся на нем под логином Саши и попробуем вызвать spChangeBalance. Вызов не сработает. Это был пример действия прикладной роли. Прикладные роли в SQL Server 7.0 ограничивают возможности пользователей по доступу к данным рамками конкретного приложения. Таким образом, даже если продвинутый пользователь Саша догадается, что изменение остатка по счету производится хранимой процедурой spChangeBalance, он все равно не сможет ей воспользоваться помимо своего сценария.
"

Тогда:
1. Используем Windows Authentication
2. В Windows создаем группу пользователей SQL-сервера
3. Эта группа входит в роль public требуемой базы, причем для этой роли запрещено все, кроме проверки имени под которым оператор будет работать в приложении
4. Клиентская программа устанавливает соединение по WinLogon, проверяет наличие в таблице операторов.
5. Если проверка прошла, то из клиентской программы выполняется sp_setapprole,
для которой запрещено все кроме хранимых процедур.

Хотелось бы, чтобы таблицы были доступны только администратору сервера, а хранимые процедуры только клиентской программе (и администратору, конечно). Все ли я правильно понял?
...
Рейтинг: 0 / 0
24.01.2002, 11:20
    #32021423
mishgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Понимание Application role
Ну так на первый взляд должно все получиться. Только следует помнить, что как только актиризируется application role (вызовом sp_setapprole), у пользователя теряются абсолютно все существовавшие привелегии. Остаются только те привелегии, которые были предоставлены application role.
У меня, например, возникли проблемы, что с использованием application role не получается создавать и удалять логины (т.е. выполнять sp_addlogin, sp_droplogin). Хотя до активизиции application role пользователь обладал всеми необходимыми привелегиями.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Понимание Application role / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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