Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Роль приложения — это субъект базы данных, который позволяет приложению запускаться с собственными разрешениями, такими как пользователь. Роли приложения можно использовать для предоставления доступа к определенным данным только тем пользователям, которые подключаются через определенное приложение. В отличие от ролей базы данных, роли приложения не содержат элементов и неактивны по умолчанию. Роли приложения работают с обоими режимами проверки подлинности. Роли приложения включены с помощью sp_setapprole, для которого требуется пароль. Так как роли приложений являются субъектом уровня базы данных, они могут обращаться к другим базам данных только через разрешения, предоставленные в этих базах данных гостевым пользователям. Таким образом, любая база данных, в которой гость отключена, будет недоступна для ролей приложений в других базах данных.
В SQL Server роли приложений не могут получить доступ к метаданным уровня сервера, так как они не связаны с субъектом уровня сервера. Чтобы отключить это ограничение и разрешить ролям приложений доступ к метаданным уровня сервера, задайте глобальный флаг 4616. Дополнительные сведения см. в статьях "Флаги трассировки" (Transact-SQL) и DBCC TRACEON (Transact-SQL).
Подключение к роли приложения
Следующие шаги составляют процесс, с помощью которого роль приложения переключает контексты безопасности:
Пользователь выполняет клиентское приложение.
Клиентское приложение подключается к экземпляру SQL Server в качестве пользователя.
Затем приложение выполняет хранимую процедуру sp_setapprole с паролем, известным только приложению.
Если имя роли приложения и пароль действительны, роль приложения включена.
На этом этапе соединение теряет полномочия пользователя и получает полномочия роли приложения.
Разрешения, полученные с помощью роли приложения, остаются в силе на протяжении всего соединения.
В более ранних версиях SQL Server единственный способ восстановить исходные параметры безопасности после запуска роли приложения — отключиться и повторно подключиться к SQL Server. Начиная с SQL Server 2005 , sp_setapprole имеет параметр, который создает файл cookie. Файл cookie содержит сведения о контексте перед включением роли приложения. Файл cookie можно использовать sp_unsetapprole для возврата сеанса в исходный контекст. Сведения об этом новом параметре и примере см. в разделе sp_setapprole (Transact-SQL).
Это важно
Параметр шифрования ODBC не поддерживается SqlClient. При передаче конфиденциальной информации по сети используйте протокол SSL или IPsec для шифрования канала. Если необходимо сохранить учетные данные в клиентском приложении, зашифруйте учетные данные с помощью функций API шифрования. В SQL Server 2005 и более поздних версиях пароль параметра хранится в виде односторонного хэша.
Связанные задачи
Создайте роль приложения. | Создайте роль приложения и CREATE APPLICATION ROLE (Transact-SQL) |
Изменение роли приложения. | ИЗМЕНИТЬ РОЛЬ ПРИЛОЖЕНИЯ (Transact-SQL) |
Удалите роль приложения. | УДАЛИТЬ РОЛЬ ПРИЛОЖЕНИЯ (Transact-SQL) |
Использование роли в приложении | sp_setapprole (Transact-SQL) |