FirebirdSQL logo
 РолиОператоры для отзыва привилегий и ролей 

Предоставление прав системным привилегиям

Благодаря поддержке системных привилегий в ядре, становится очень удобно предоставлять некоторые дополнительные привилегии пользователям уже имеющим какую-то системную привилегию.Для этих целей существует возможность использовать в качестве грантополучателя одну или несколько системных привилегий.

Примеры предоставления прав системным привилегиям

Следующий оператор назначит все привилегии на представление PLG$SRP_VIEW, используемое в плагине управления пользователями SRP, системной привилегии USER_MANAGEMENT.

GRANT ALL ON PLG$SRP_VIEW TO SYSTEM PRIVILEGE USER_MANAGEMENT

Описание системных привилегий вы можете посмотреть в CREATE ROLE

Назначение ролей

Синтаксис (выдача ролей)
GRANT <role_granted>
  TO <role_grantee_list>
  [WITH ADMIN OPTION]
  [{GRANTED BY | AS} [USER] grantor]

<role_granted> ::= [DEFAULT] role_name [, [DEFAULT] role_name ...]

<role_grantee_list> ::=
  <role_grantee> [, <role_grantee> ...]

<role_grantee> ::=
    [USER] username
  | [ROLE] grantee_role_name

Оператор GRANT может быть использован для назначения ролей для списка пользователей или ролей.В этом случае после предложения GRANT следует список ролей, которые будут назначены списку пользователей или ролей, указанному после предложения TO.

Ключевое слово DEFAULT

Если используется ключевое слово DEFAULT, то роль (роли) будет использоваться пользователем или ролью каждый раз, даже если она не была указана явно.При подключении пользователь получит привилегии всех ролей, которые были назначены пользователю с использованием ключевого слова DEFAULT.Если пользователь укажет свою роль при подключении, то получит привилегии этой роли (если она была ему назначена) и привилегии всех ролей назначенных ему с использованием ключевого слова DEFAULT.