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...
Pour consulter la suite, découvrez le livre suivant :
couv_RI3SQL.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Interdire l’accès (DENY)
Suivant
Utilisation des rôles