FirebirdSQL logo

Exemples d’inversion des rôles

Example 1. Inversion des rôles
-- Retrait de DIRECTOR, MANAGER de l'utilisateur IVAN
REVOKE DIRECTOR, MANAGER FROM USER IVAN;

-- Retrait du rôle MANAGER par défaut de l'utilisateur FEDOR
REVOKE DEFAULT MANAGER FROM USER FEDOR;

-- Retrait du rôle de MANAGER et du droit de l'attribuer à d'autres utilisateurs
REVOKE ADMIN OPTION FOR MANAGER FROM USER ALEX;

Clause GRANTED BY

Lorsque l’on accorde des droits dans une base de données, l’utilisateur actuel est généralement enregistré comme la personne qui accorde les droits. En utilisant la clause GRANTED BY, il est possible d’accorder des droits au nom d’un autre utilisateur. Lorsque l’on utilise l’instruction REVOKE après GRANTED BY, les droits ne seront supprimés que s’ils ont été enregistrés par l’utilisateur qui les a supprimés. Pour faciliter la migration depuis d’autres bases de données relationnelles, l’instruction non standard AS est supportée comme synonyme de l’instruction GRANTED BY.

La phrase GRANTED BY peut être utilisée :

  • Le propriétaire de la base de données ;

  • LE SYSDBA ;

  • Tout utilisateur ayant des droits sur le rôle RDB$ADMIN et l’ayant spécifié lors de la connexion à la base de données ;

  • Lors de l’utilisation du drapeau AUTO ADMIN MAPPING — tout administrateur Windows (tant que le serveur utilise l’authentification de confiance), même sans spécifier un rôle.

Même le propriétaire du rôle ne peut pas utiliser `GRANTED BY' à moins qu’il ne soit dans la liste ci-dessus.