FirebirdSQL logo

Les tables de sécurité virtuelles sont préfixées par le nom SEC$. Elles affichent les données de la base de données de sécurité actuelle. Ces tables sont virtuelles dans le sens où aucune donnée n’y est écrite avant que l’utilisateur n’y accède. Elles ne sont remplies de données que lors d’une demande de l’utilisateur. Cependant, les descriptions de ces tables sont toujours présentes dans la base de données. En ce sens, ces tables virtuelles sont similaires à la famille de tables MON$ utilisées pour la surveillance des serveurs.

Sécurité:* L’accès complet à toutes les informations fournies par les tables de sécurité est accordé à `SYSDBA' et au propriétaire de la base de données ;
  • Les utilisateurs ordinaires sont limités aux informations les concernant ; les autres utilisateurs leur sont invisibles.

Important

Ces fonctionnalités dépendent en grande partie du plugin de gestion des utilisateurs. Sachez que certaines options sont ignorées lorsque vous utilisez un plugin de gestion des utilisateurs obsolète.

Tables de sécurité virtuelles
SEC$GLOBAL_AUTH_MAPPING

Informations sur les mappings globaux.

SEC$USERS

Liste des utilisateurs dans la base de données de sécurité actuelle.

SEC$USER_ATTRIBUTES

Informations sur les attributs supplémentaires de l’utilisateur.

SEC$GLOBAL_AUTH_MAPPING

Informations sur les mappings globaux.

Table 1. Description des colonnes de la table SEC$GLOBAL_AUTH_MAPPING.
Nom de la colonne Type de données Description

SEC$MAP_NAME

CHAR(63)

Le nom du mappage global.

SEC$MAP_USING

CHAR(1)

Si l’authentification est à l’échelle du serveur (S) ou conventionnelle (P).

SEC$MAP_PLUGIN

CHAR(63)

Le nom du plug-in d’authentification d’où provient le mappage.

SEC$MAP_DB

CHAR(63)

Le nom de la base de données dans laquelle l’authentification a eu lieu. La cartographie est réalisée à partir de celle-ci.

SEC$MAP_FROM_TYPE

CHAR(63)

Le type d’objet à afficher.

SEC$MAP_FROM

CHAR(255)

Le nom de l’objet à partir duquel le mappage sera effectué.

SEC$MAP_TO_TYPE

SMALLINT

Le type d’objet vers lequel le mappage sera effectué :

  • 0 — UTILISATEUR;

  • 1 — ROLE.

SEC$MAP_TO

CHAR(63)

Le nom de l’objet vers lequel le mappage sera effectué (nom de l’utilisateur ou du rôle).

RDB$SYSTEM_FLAG

SMALLINT

Si l’affichage est systématique ou non :

  • 0 — défini par l’utilisateur;

  • 1 — défini par le système.

RDB$DESCRIPTION

BLOB TEXT

UDescription textuelle de l’affichage.

SEC$USERS

Liste des utilisateurs dans la base de données de sécurité actuelle.

Table 1. Description des colonnes de la table SEC$USERS.
Nom de la colonne Type de données Description

SEC$USER_NAME

CHAR(63)

Nom d’utilisateur.

SEC$FIRST_NAME

VARCHAR(32)

Nom (prénom).

SEC$MIDDLE_NAME

VARCHAR(32)

Deuxième prénom (patronyme).

SEC$LAST_NAME

VARCHAR(32)

Nom de famille (patronyme).

SEC$ACTIVE

BOOLEAN

Indicateur d’activité de l’utilisateur.

SEC$ADMIN

BOOLEAN

Indique si l’utilisateur a des droits RDB$ADMIN dans la base de données de sécurité.

SEC$DESCRIPTION

BLOB TEXT

Commentaire de l’utilisateur.

SEC$PLUGIN

CHAR(63)

Le nom du plug-in de gestion des utilisateurs avec lequel cet utilisateur a été créé.

SEC$USER_ATTRIBUTES

Informations sur les attributs supplémentaires de l’utilisateur.

Table 1. Description des colonnes de la table SEC$USER_ATTRIBUTES.
Nom de la colonne Type de données Description

SEC$USER_NAME

CHAR(63)

Nom d’utilisateur.

SEC$KEY

VARCHAR(63)

Nom de l’attribut.

SEC$VALUE

VARCHAR(255)

La valeur de l’attribut.

SEC$PLUGIN

CHAR(63)

Le nom du plug-in de gestion des utilisateurs avec lequel cet utilisateur a été créé.

Example 1. Affichage d’une liste d’utilisateurs et de leurs attributs
SELECT CAST(U.SEC$USER_NAME AS CHAR(20)) AS LOGIN,
    CAST(A.SEC$KEY AS CHAR(10)) AS TAG,
    CAST(A.SEC$VALUE AS CHAR(20)) AS "VALUE",
    U.SEC$PLUGIN AS "PLUGIN"
FROM SEC$USERS U LEFT JOIN SEC$USER_ATTRIBUTES A
    ON U.SEC$USER_NAME = A.SEC$USER_NAME
   AND U.SEC$PLUGIN = A.SEC$PLUGIN;
   LOGIN                TAG        VALUE                PLUGIN
   ==================== ========== ==================== ==========================
   SYSDBA               <null>     <null>               Srp
   ALEX                 B          x                    Srp
   ALEX                 C          sample               Srp
   SYSDBA               <null>     <null>               Legacy_UserManager