FirebirdSQL logo

SET ROLE

Назначение

Изменение текущей роли.

Доступно в

DSQL.

Синтаксис
SET ROLE rolename
Table 1. Параметры оператора SET ROLE
Параметр Описание

rolename

Имя устанавливаемой роли.

Согласно стандарту SQL-2008 оператор SET ROLE позволяет установить контекстной переменной CURRENT_ROLE одну из назначенных ролей для пользователя CURRENT_USER или роль, полученную в результате доверительной аутентификации (в этом случае оператор принимает вид SET TRUSTED ROLE).

Example 1. Изменение текущей роли
SET ROLE manager;
SELECT current_role FROM rdb$database;
ROLE
=======================
MANAGER

SET TRUSTED ROLE

Назначение

Установка доверенной роли.

Доступно в

DSQL

Синтаксис
SET TRUSTED ROLE

Оператор SET TRUSTED ROLE включает доступ доверенной роли, при условии, что CURRENT_USER получен с помощью доверительной аутентификации и роль доступна.

Идея отдельной команды SET TRUSTED ROLE состоит в том, чтобы при подключении доверенного пользователя не указывать никакой дополнительной информации о роли, SET TRUSTED ROLE делает доверенную роль (если таковая существует) текущей ролью без дополнительной деятельности, связанной с установкой параметров DBP.

Доверенная роль это не специальный тип роли, ей может быть любая роль, созданная с помощью оператора CREATE ROLE или предопределённая системная роль RDB$ADMIN.Она становится доверенной ролью для подключения, когда подсистема отображения объектов безопасности (security objects mapping subsystem) находит соответствие между результатом аутентификации, полученным от плагина и локальным или глобальным отображением (mapping) для текущей базы данных.Роль даже может быть той, которая не предоставлена явно этому доверенному пользователю.

Note

Доверенная роль не назначается при подключении по умолчанию.Можно изменить это поведение, используя соответствующий плагин аутентификации и операторы {CREATE | ALTER} MAPPING.

Примером использования доверенной роли является назначение системной роли RDB$ADMIN для администраторов Windows, когда используется доверительная аутентификация Windows.