Роли с системными привилегиями
Предложение SET SYSTEM PRIVILEGES TO
позволяет создать роль с системными привилегиями.Системные привилегии это части привилегий администратора.Таким образом, через делегирование роли с системными привилегиями пользователю можно передавать ему часть прав администратора БД.
Note
|
Системные привилегии позволяют производить очень тонкую настройку, поэтому иногда вам нужно будет выдать более 1 системной привилегии для выполнения какой-либо задачи.Например, необходимо выдать |
USER_MANAGEMENT
-
Управление пользователями.
READ_RAW_PAGES
-
Чтение страниц в сыром формате используя
Attachment::getInfo()
CREATE_USER_TYPES
-
Создание, изменение и удаление не системных записей в таблице
RDB$USER_TYPES
. USE_NBACKUP_UTILITY
-
Использование
nbackup
для создания резервных копий. CHANGE_SHUTDOWN_MODE
-
Закрытие базы данных (shutdown) и возвращение её в online.
TRACE_ANY_ATTACHMENT
-
Трассировка чужих пользовательских сессий.
MONITOR_ANY_ATTACHMENT
-
Мониторинг (MON$ таблицы) чужих пользовательских сессий.
ACCESS_SHUTDOWN_DATABASE
-
Доступ к базе данных в режиме shutdown.
CREATE_DATABASE
-
Создание новой базы данных (хранится в базе данных пользователей security.db).
DROP_DATABASE
-
Удаление текущей БД.
USE_GBAK_UTILITY
-
Использование утилиты или сервиса
gbak
. USE_GSTAT_UTILITY
-
Использование утилиты или сервиса
gstat
. USE_GFIX_UTILITY
-
Использование утилиты или сервиса
gfix
. IGNORE_DB_TRIGGERS
-
Разрешает игнорировать триггеры на события БД.
CHANGE_HEADER_SETTINGS
-
Изменение параметров на заголовочной странице БД.
SELECT_ANY_OBJECT_IN_DATABASE
-
Выполнение оператора
SELECT
из всех селективных объектов (таблиц, представлений, хранимых процедур выбора). ACCESS_ANY_OBJECT_IN_DATABASE
-
Доступ (любым способом) к любому объекту БД.
MODIFY_ANY_OBJECT_IN_DATABASE
-
Изменение любого объекта БД.
CHANGE_MAPPING_RULES
-
Изменение правил отображения при аутентификации.
USE_GRANTED_BY_CLAUSE
-
Использование
GRANTED BY
в операторахGRANT
иREVOKE
. GRANT_REVOKE_ON_ANY_OBJECT
-
Выполнение операторов GRANT и REVOKE для любого объекта БД.
GRANT_REVOKE_ANY_DDL_RIGHT
-
Выполнение операторов GRANT и REVOKE для выдачи DDL привилегий.
CREATE_PRIVILEGED_ROLES
-
Создание привилегированных ролей (с использованием
SET SYSTEM PRIVILEGES
). GET_DBCRYPT_KEY_NAME
-
Получение имени ключа шифрования.
MODIFY_EXT_CONN_POOL
-
Управление пулом внешних соединений.
REPLICATE_INTO_DATABASE
-
Использование API репликации для загрузки наборов изменений в базу данных.
PROFILE_ANY_ATTACHMENT
-
Профилирование любого соединения.
Для проверки имеет ли текущее подключение заданную системную привилегию можно воспользоваться встроенной функциейRDB$SYSTEM_PRIVILEGE()
.