FirebirdSQL logo

CREATE ROLE

affectation

Créer un nouveau rôle.

Disponible en

DSQL, ESQL

Syntaxe
CREATE ROLE rolename
[SET SYSTEM PRIVILEGES TO <privileges_list>]

<privileges_list> ::= <privilege> [, <privilege> [, <privilege> ...]]
Table 1. Paramètres de l’opérateur CREATE ROLE
Paramètre Description

rolename

Nom du rôle. Longueur maximale de 63 caractères.

privilege

Privilège du système.

L’opérateur CREATE ROLE crée un nouveau rôle. Le nom du rôle doit être unique parmi les noms de rôles.

Warning

Il est également souhaitable que le nom du rôle soit unique non seulement parmi les noms de rôle mais aussi parmi les noms d’utilisateur. Si vous créez un rôle avec le même nom qu’un utilisateur existant, cet utilisateur ne pourra pas se connecter à la base de données.

Rôles avec des privilèges système

La phrase SET SYSTEM PRIVILEGES TO vous permet de créer un rôle avec des privilèges système. Les privilèges système font partie des privilèges administrateur. Ainsi, en déléguant un rôle avec des privilèges système à un utilisateur, vous pouvez transférer certains droits d’administrateur de base de données à l’utilisateur.

Note

Les préférences système permettent un réglage très fin, donc parfois vous devrez accorder plus d’une préférence système pour effectuer une tâche. Par exemple, vous devez accorder IGNORE_DB_TRIGGERS en même temps que USE_GSTAT_UTILITY, parce que gstat doit ignorer les triggers sur les événements de la base de données.

Les privilèges système suivants sont disponibles :
USER_MANAGEMENT

Gestion des utilisateurs.

READ_RAW_PAGES

Lecture des pages au format brut à l’aide de Attachment::getInfo().

CREATE_USER_TYPES

Création, modification et suppression d’enregistrements hors système dans la table RDB$USER_TYPES.

USE_NBACKUP_UTILITY

Utilisation de nbackup pour créer des sauvegardes.

CHANGE_SHUTDOWN_MODE

Fermer la base de données (shutdown) et la remettre en ligne.

TRACE_ANY_ATTACHMENT

Tracer les sessions d’utilisateurs d’autres personnes.

MONITOR_ANY_ATTACHMENT

Surveiller (tables MON$) les sessions d’utilisateurs d’autres personnes.

ACCESS_SHUTDOWN_DATABASE

Accès à la base de données en mode arrêt.

CREATE_DATABASE

Créez une nouvelle base de données (stockée dans la base de données utilisateur security.db).

DROP_DATABASE

Suppression de la base de données actuelle.

USE_GBAK_UTILITY

Utilisation de l’utilitaire ou du service gbak.

USE_GSTAT_UTILITY

Utilisation de l’utilitaire ou du service gstat.

USE_GFIX_UTILITY

Utilisation de l’utilitaire ou du service gfix.

IGNORE_DB_TRIGGERS

Permet d’ignorer les déclencheurs sur les événements de la base de données.

CHANGE_HEADER_SETTINGS

Modifiez les paramètres sur la page d’en-tête de la base de données.

SELECT_ANY_OBJECT_IN_DATABASE

Exécutez l’instruction SELECT à partir de tous les objets sélectifs (tables, vues, procédures de sélection stockées).

ACCESS_ANY_OBJECT_IN_DATABASE

Accès (de quelque manière que ce soit) à tout objet de la base de données.

MODIFY_ANY_OBJECT_IN_DATABASE

Modification de tout objet de la base de données.

CHANGE_MAPPING_RULES

Modifier les règles d’affichage lors de l’authentification.

USE_GRANTED_BY_CLAUSE

Utilisation de GRANTED BY dans les opérateurs GRANT et REVOKE.

GRANT_REVOKE_ON_ANY_OBJECT

Exécution des instructions GRANT et REVOKE pour tout objet de la base de données.

GRANT_REVOKE_ANY_DDL_RIGHT

Exécution des instructions GRANT et REVOKE pour accorder des privilèges DDL.

CREATE_PRIVILEGED_ROLES

Créez des rôles privilégiés (en utilisant SET SYSTEM PRIVILEGES).

GET_DBCRYPT_KEY_NAME

Obtention du nom de la clé de cryptage.

MODIFY_EXT_CONN_POOL

Gestion du pool de connexions externes.

REPLICATE_INTO_DATABASE

Utilisation de l’API de réplication pour télécharger les ensembles de modifications dans la base de données.

PROFILE_ANY_ATTACHMENT

Profilage de toute connexion.

Pour vérifier si la connexion actuelle possède un privilège système donné, vous pouvez utiliser la fonction intégréeRDB$SYSTEM_PRIVILEGE().