FirebirdSQL logo

Примеры назначения ролей

Example 1. Назначение ролей для пользователей
-- Назначение ролей DIRECTOR и MANAGER пользователю IVAN
GRANT DIRECTOR, MANAGER TO USER IVAN;

-- Назначение роли ADMIN пользователю ALEX
-- с возможностью назначить эту другим пользователям
GRANT MANAGER TO USER ALEX WITH ADMIN OPTION;
Example 2. Назначение ролей для пользователей с ключевым словом DEFAULT
-- Назначение роли MANAGER пользователю JOHN
-- Привилегии роли будут автоматически назначаться пользователю
-- каждый раз при входе. В этом случае роль выступает в качестве группы.
GRANT DEFAULT MANAGER TO USER JOHN;

-- Теперь при входе пользователь JOHN автоматически получит привилегии
-- ролей MANAGER (см. предыдущий оператор) и DIRECTOR
GRANT DEFAULT DIRECTOR TO USER JOHN;
Example 3. Назначение ролей другим ролям
-- Назначение роли MANAGER для роли DIRECTOR
-- с возможностью передачи роли MANAGER другим пользователям или ролям
GRANT MANAGER TO ROLE DIRECTOR WITH ADMIN OPTION;

-- Назначение роли ACCOUNTANT роли DIRECTOR
-- при входе в систему с ролью DIRECTOR полномочия роли ACCOUNTANT
-- будут также получены
GRANT DEFAULT ACCOUNTANT TO ROLE DIRECTOR;

-- Пользователь PETROV при входе автоматически получает
-- полномочия роли DIRECTOR. Эти полномочия будут включать также
-- полномочия роли ACCOUNTANT. Для получения полномочий роли MANAGER
-- необходимо указать эту роль при входе в систему или позже с
-- помощью оператора SET ROLE
GRANT DEFAULT ROLE DIRECTOR TO USER PETROV;
См. также:

REVOKE.

Пользователь PUBLIC

В SQL существует специальный пользователь PUBLIC, представляющий всех пользователей.Если какая-то операция разрешена пользователю PUBLIC, значит, любой аутентифицированный пользователь может выполнить эту операцию над указанным объектом.

Important

Если привилегии назначены пользователю PUBLIC, то и отозваны они должны быть у пользователя PUBLIC.