FirebirdSQL logo

Exemples de révocation de privilèges

Example 1. Révocation des privilèges de table
-- Révocation des privilèges SELECT, INSERT d'une table
REVOKE SELECT, INSERT ON TABLE SALES FROM USER ALEX

-- révoquer le privilège SELECT des rôles MANAGER et ENGINEER et de l'utilisateur IVAN
REVOKE SELECT ON TABLE CUSTOMER
FROM ROLE MANAGER, ROLE ENGINEER, USER IVAN;

-- révocation des privilèges SELECT et REFERENCES pour l'utilisateur PUBLIC
REVOKE SELECT, REFERENCES (NAME) ON TABLE COUNTRY
FROM PUBLIC;

-- Révocation du privilège UPDATE pour les colonnes FIRST_NAME, LAST_NAME
REVOKE UPDATE (FIRST_NAME, LAST_NAME) ON TABLE EMPLOYEE
FROM USER IVAN;

-- Révocation du privilège INSERT de la procédure stockée ADD_EMP_PROJ
REVOKE INSERT ON EMPLOYEE_PROJECT
FROM PROCEDURE ADD_EMP_PROJ;
Example 2. Révocation du privilège "EXECUTER".
-- révocation du privilège EXECUTE sur la procédure
REVOKE EXECUTE ON PROCEDURE ADD_EMP_PROJ
FROM USER IVAN;

-- révocation du privilège EXECUTE par paquet
REVOKE EXECUTE ON PACKAGE DATE_UTILS
FROM USER ALEX;
Example 3. Révocation du privilège de usage.
-- Révocation du privilège USAGE sur une séquence de rôles émise
REVOKE USAGE ON SEQUENCE GEN_AGE FROM ROLE MANAGER;

-- Révocation du privilège USAGE sur une séquence délivrée à un déclencheur
REVOKE USAGE ON SEQUENCE GEN_AGE FROM TRIGGER TR_AGE_BI;

-- Révocation du privilège d'exemption USAGE accordé à un colis
REVOKE USAGE ON EXCEPTION E_ACCESS_DENIED
FROM PACKAGE PKG_BILL;
Example 4. Révocation des privilèges de modification des métadonnées
-- Retrait des privilèges de création de table à l'utilisateur Joe
REVOKE CREATE TABLE FROM Joe;

-- Retrait du privilège à l'utilisateur Joe de modifier toute procédure
REVOKE ALTER ANY PROCEDURE FROM Joe;

-- Révocation du privilège de l'utilisateur pour créer une base de données
-- de l'utilisateur Superuser
REVOKE CREATE DATABASE FROM USER Superuser;
Example 5. Révocation des privilèges du système
-- Révocation de tous les droits du privilège système USER_MANAGEMENT
-- pour représenter PLG$SRP_VIEW
REVOKE ALL ON PLG$SRP_VIEW FROM SYSTEM PRIVILEGE USER_MANAGEMENT;

Clause GRANT OPTION FOR

La clause facultative GRANT OPTION FOR révoque le droit pour l’utilisateur ou le rôle concerné d’accorder à d’autres utilisateurs ou rôles des privilèges sur des tables, des vues, des déclencheurs, des procédures stockées.

Révocation des privilèges à l’aide de l’option GRANT OPTION FOR.

Example 1. Révocation de privilège à l’aide de l’option GRANT OPTION FOR.
-- révoquer la possibilité de transférer n'importe lequel des privilèges par table
-- à d'autres utilisateurs ou rôles dans le rôle ADMINISTRATOR
REVOKE GRANT OPTION FOR ALL ON TABLE CUSTOMER
FROM ROLE ADMINISTRATOR;

-- révoquer le privilège EXECUTE sur une fonction
-- et la privation du droit de transférer le privilège
-- autres utilisateurs et rôles
REVOKE GRANT OPTION FOR
EXECUTE ON FUNCTION GET_BEGIN_DATE
FROM ROLE MANAGER;

Annulation des rôles attribués

Un autre objectif de l’opérateur REVOKE est de révoquer les rôles assignés aux utilisateurs ou aux rôles par l’opérateur GRANT. Dans ce cas, la phrase REVOKE est suivie d’une liste de rôles à révoquer à partir de la liste des utilisateurs ou des rôles spécifiés après la phrase FROM.

Plusieurs rôles et/ou bénéficiaires peuvent être gérés par un seul opérateur.