FirebirdSQL logo

CREATE OR ALTER USER

affectation

Créer ou modifier un compte utilisateur Firebird.

Disponible en

DSQL

Syntaxe
ALTER USER _username_
  [SET] [<user_option> [<user_option> ...]]
  [USING PLUGIN _pluginname_]
  [{GRANT | REVOKE} ADMIN ROLE]
  [TAGS ( <tag> [, <tag>  ...] )]

<user_option> ::=
    PASSWORD '_password_'
  | FIRSTNAME '_firstname_'
  | MIDDLENAME '_middlename_'
  | LASTNAME '_lastname_'
  | {ACTIVE | INACTIVE}

<tag> ::=
    _tagname_ = '_string_value_'
  | DROP _tagname_

Voir [fblangref-security-user-create] pour une description des paramètres de l’opérateur.

L’instruction CREATE OR ALTER USER crée un nouveau compte ou modifie un compte. Si l’utilisateur n’existe pas, il sera créé à l’aide de l’instruction CREATE USER. S’il existe déjà, il sera modifié et les privilèges existants seront conservés.

Exemples CREATE OR ALTER USER

Example 1. Créer ou modifier un utilisateur.
CREATE OR ALTER USER john
PASSWORD 'fYe_3Ksw'
FIRSTNAME 'John'
LASTNAME 'Doe'
INACTIVE;

docnext count = 6

DROP USER

affectation

Suppression d’un compte utilisateur Firebird

Disponible en

DSQL

Syntaxe
DROP USER username
  [USING PLUGIN pluginname]
Table 1. Paramètres de l’opérateur DROP USER
Paramètre Description

username

Nom d’utilisateur.

pluginname

Le nom du plugin de gestion des utilisateurs dans lequel cet utilisateur a été créé.

L’instruction DROP USER supprime le compte utilisateur Firebird.

La clause optionnelle USING PLUGIN vous permet de spécifier explicitement quel plugin de gestion des utilisateurs sera utilisé. La valeur par défaut est le plugin listé en premier dans le paramètre UserManager du fichier de configuration firebird.conf. Seules les valeurs listées dans le paramètre UserManager sont valides.

Important

Notez que les utilisateurs avec le même nom créés avec différents plugins de gestion des utilisateurs sont des utilisateurs différents, donc un utilisateur créé avec le même plugin de gestion des utilisateurs ne peut être supprimé ou modifié qu’en spécifiant le même plugin.

Qui peut supprimer un compte d’utilisateur ?

  • SYSDBA et les autres utilisateurs qui sont administrateurs dans la base de données de sécurité (avec le rôle RDB$ADMIN) ;

  • Les utilisateurs connectés avec le rôle ou ayant reçu ses privilèges (le rôle est attribué par défaut), qui se voit attribuer le privilège système USER_MANAGEMENT.

Exemples DROP USER

Example 1. Suppression d’un utilisateur.
DROP USER bobby;
Example 2. Suppression d’un utilisateur créé en utilisant le plugin de gestion des utilisateurs `Legacy_UserManager'.
DROP USER Godzilla USING PLUGIN Legacy_UserManager;

RECREATE USER

affectation

Créez un nouveau compte utilisateur Firebird ou recréez un compte existant.

Disponible en

DSQL

Syntaxe
RECREATE USER username
  PASSWORD 'password'
  [<user_option> [<user_option> ...]]
  [TAGS ( <tag> [, <tag>  ...] )]

<user_option> ::=
    FIRSTNAME 'firstname'
  | MIDDLENAME 'middlename'
  | LASTNAME 'lastname'
  | {ACTIVE | INACTIVE}
  | USING PLUGIN pluginname
  | GRANT ADMIN ROLE

<tag> ::=
  tagname = 'string_value'

Pour une description des paramètres de l’opérateur, voir [fblangref-security-user-create].

L’instruction RECREATE USER crée un nouvel utilisateur ou recrée un utilisateur existant. Si un utilisateur portant ce nom existe déjà, l’instruction RECREATE TABLE le supprimera et en créera un nouveau. Les privilèges existants seront conservés.

Exemples RECREATE USER

Example 1. Créer ou recréer un utilisateur.
RECREATE USER john PASSWORD 'fYe_3Ksw'
FIRSTNAME 'John'
LASTNAME 'Doe'
INACTIVE;

Obtention d’une liste d’utilisateurs

Vous pouvez utiliser les tables virtuelles SEC$USERS et SEC$USER_ATTRIBUTES pour obtenir une liste des utilisateurs et de leurs attributs.

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
Pour une description détaillée des tableaux de sécurité virtuels, voir :

SEC$USERS, SEC$USER_ATTRIBUTES.