17. Псевдотаблицы безопасности

Псевдотаблицы безопасности имеют префикс имени SEC$. Они отображают данные из текущей базы данных безопасности. Эти таблицы являются виртуальными в том смысле, что до обращения к ним со стороны пользователя, никаких данных в них не записано. Они заполняются данными только в момент запроса пользователя. При этом описания этих таблиц в базе данных присутствуют постоянно. В этом смысле эти псевдотаблицы подобны таблицам семейства MON$, используемых для мониторинга сервера.

Полный доступ ко всей информации, предоставляемой таблицами безопасности, имеют SYSDBA и владелец базы данных. Обычные пользователи ограничены информацией о самих себе, другие пользователи невидимы для них.

Примечание

Эти функции во многом зависят от плагина управления пользователями. Имейте в виду, что некоторые опции игнорируются при использовании устаревшего плагина управления пользователями.

Список псевдотаблиц представлен в таблице 17.1.

Таблица 17.1 Список псевдотаблиц РЕД Базы Данных

Таблица

Содержание

SEC$DB_CREATORS

Список пользователей, имеющих привилегию CREATE DATABASE.

SEC$GLOBAL_AUTH_MAPPING

Сведения о глобальных отображениях.

SEC$USERS

Список пользователей в текущей базе данных безопасности.

SEC$USER_ATTRIBUTES

Сведения о дополнительных атрибутах пользователей.

SEC$POLICIES

Сведения о созданных политиках безопасности.

17.1. SEC$DB_CREATORS

Таблица хранит сведения о пользователях, имеющих привилегию CREATE DATABASE.

Идентификатор столбца

Тип данных

Описание

SEC$USER

CHAR(63)

Имя пользователя или роли, которому даны полномочия на создание базы данных.

SEC$USER_TYPE

SMALLINT

Тип пользователя:

  • 8 — пользователь;

  • 13 — роль.

17.2. SEC$GLOBAL_AUTH_MAPPING

Таблица хранит сведения о глобальных отображениях.

Идентификатор столбца

Тип данных

Описание

SEC$MAP_NAME

CHAR(63)

Имя глобального отображения.

SEC$MAP_USING

CHAR(1)

Является ли аутентификация общесерверной (S) или обычной (P).

SEC$MAP_PLUGIN

CHAR(63)

Имя плагина аутентификации, из которого происходит отображение.

SEC$MAP_DB

CHAR(63)

Имя базы данных, в которой прошла аутентификация. Из неё происходит отображение.

SEC$MAP_FROM_TYPE

CHAR(63)

Тип объекта, который будет отображён.

SEC$MAP_FROM

CHAR(255)

Имя объекта, из которого будет произведено отображение.

SEC$MAP_TO_TYPE

SMALLINT

Тип объекта, в который будет произведено отображение:

  • 0 — USER;

  • 1 — ROLE.

SEC$MAP_TO

CHAR(63)

Наименование объекта, в который будет произведено отображение (имя пользователя или роли).

SEC$DESCRIPTION

BLOB TEXT

Комментарий для отображения.

17.3. SEC$USERS

Таблица хранит список пользователей в текущей базе данных безопасности.

Идентификатор столбца

Тип данных

Описание

SEC$USER_NAME

CHAR(63)

Имя пользователя.

SEC$FIRST_NAME

VARCHAR(32)

Имя.

SEC$MIDDLE_NAME

VARCHAR(32)

Отчество.

SEC$LAST_NAME

VARCHAR(32)

Фамилия.

SEC$ACTIVE

BOOLEAN

Флаг активности пользователя.

SEC$ADMIN

BOOLEAN

Отражает, имеет ли пользователь права RDB$ADMIN в базе данных безопасности.

SEC$DESCRIPTION

BLOB TEXT

Комментарий к пользователю.

SEC$PLUGIN

CHAR(63)

Имя плагина управления пользователями, с помощью которого был создан данный пользователь.

17.4. SEC$USER_ATTRIBUTES

Таблица хранит сведения о дополнительных атрибутах пользователей.

Идентификатор столбца

Тип данных

Описание

SEC$USER_NAME

CHAR(63)

Имя пользователя.

SEC$KEY

VARCHAR(63)

Имя атрибута.

SEC$VALUE

VARCHAR(255)

Значение атрибута.

SEC$PLUGIN

CHAR(63)

Имя плагина управления пользователями, с помощью которого был создан данный пользователь.

17.5. SEC$POLICIES

Таблица хранит сведения о созданных политиках безопасности.

Идентификатор столбца

Тип данных

Описание

SEC$POLICY_NAME

VARCHAR(32)

Имя политики безопасности. Политика по умолчанию имеет значение поля равное DEFAULT.

SEC$PSWD_NEED_CHAR

INTEGER

Минимально допустимое число буквенных символов в пароле.

SEC$PSWD_NEED_DIGIT

INTEGER

Минимально допустимое число цифровых символов в пароле.

SEC$PSWD_NEED_DIFF_CASE

INTEGER

Необходимость наличия в пароле буквенных символов в различных регистрах.

SEC$PSWD_MIN_LEN

INTEGER

Минимально допустимая длина пароля.

SEC$PSWD_VALID_DAYS

INTEGER

Срок действия пароля в днях.

SEC$PSWD_UNIQUE_COUNT

INTEGER

Количество не повторяющихся подряд паролей.

SEC$PSWD_NEED_SPECIAL

INTEGER

Количество специальных символов, требуемых в пароле. Специальным считается любой печатный символ, за исключением букв, цифр и пробельного символа.

SEC$MAX_FAILED_COUNT

INTEGER

Максимальное число ошибок при прохождении аутентификации.

SEC$AUTH_FACTORS

VARCHAR(64)

Методы аутентификации хранятся в виде строки, состоящей из символов:

  • S: SRP

  • L: Legacy (традиционная)

  • W: WIN_SSPI (доверенная)

  • G: GSS

  • C: Certificate

  • P: GostPassword

  • V: VerifyServer

SEC$MAX_UNUSED_DAYS

INTEGER

Максимальное время неактивности учетных записей пользователя в днях.