Sommaire

Supprimer des droits (REVOKE)

1. Supprimer des droits sur la manipulation d’une table

Une fois les droits attribués, il faut pouvoir les enlever si l’utilisateur quitte l’entreprise par exemple ou change de service. Pour ceci, nous utiliserons l’ordre REVOKE.

La syntaxe Oracle est la suivante

REVOKE <droit1>, <droit2>, ...
ON TABLE <nom table>
FROM <user1>, <user2> ...;

La syntaxe MySQL est la suivante

REVOKE <droit1>, <droit2>, ... 
ON [TABLE <nom table>],[*] 
FROM <user1>, <user2> ...;

Pour enlever les droits de lecture de la table UTILISATEURS à Mr SMITH par exemple :

REVOKE SELECT ON UTILISATEURS FROM ASMITH;

Pour enlever tous les droits à Mr Smith :

REVOKE ALL PRIVILEGES ON UTILISATEURS FROM ASMITH;

De la même façon que le GRANT, si on ajoute le mot PUBLIC, on supprime les droits sur cette table pour tous les utilisateurs de la base de données.

REVOKE ALL PRIVILEGES ON UTILISATEURS FROM PUBLIC;

2. Supprimer des droits sur les objets de la base

Comme pour la manipulation d’une table, on peut supprimer des droits que l’on a attribués sur la création de table ou la création d’index par exemple.

Exemple Oracle

REVOKE CREATE TABLE FROM ASMITH;

Exemple MySQL

REVOKE CREATE ON * ON ’ASMITH’;

Pour supprimer les droits de modification, de suppression et de création de tables en une seule commande, la syntaxe est :

Exemple Oracle

REVOKE CREATE TABLE, ALTER ANY TABLE, DROP ANY TABLE FROM ...