La commande REVOKE permet de révoquer des privilèges qui ont été attribués à un utilisateur ou à un rôle sur des instructions ou divers objets tels que des tables, des vues, des colonnes ou encore des procédures stockées.
Syntaxe sous SQL ServerREVOKE { { { ALL | instruction [ ,...n ] } FROM compte_sécurité [ ,...n ] } | { [ GRANT OPTION FOR ] { ALL [ PRIVILEGES ] | permission [ ,...n ] } { [ ( nom_colonne [ ,...n ] ) ] ON { nom_table | nom_vue } | ON { nom_table | nom_vue } [ ( nom_colonne [ ,...n ] ) ] | ON { procédure_stockée | procédure_étendue } | ON { fonction_utilisateur } } { TO | FROM } compte_sécurité [ ,...n ] [ CASCADE ] [ AS { groupe | rôle } ] } } |
La commande GRANT OPTION FOR indique la suppression des autorisations WITH GRANT OPTION provoquant la conservation des autorisations à un utilisateur tout en ne pouvant plus en accorder à d'autres.
La cause ALL indique la suppression de toutes les autorisations appliquées au compte de sécurité indiqué.
La clause PRIVILEGES est facultative. En fait elle n'est inclus que pour se conformer aux spécifications SQL-92.
Les clauses TO et FROM indiquent la liste des comptes de sécurité.
La clause CASCADE indique la suppression des autorisations pour le compte de sécurité et de toutes les autres qui auraient été accordées par le propriétaire de ce compte.
La clause AS {groupe | rôle} indique le nom facultatif d'un groupe ou d'un rôle pour lequel les autorisations seront supprimées.
Syntaxe sous OracleREVOKE { { { système_privilège | rôle | ALL PRIVILEGES } [, { système_privilège | rôle | ALL PRIVILEGES }] FROM { { utilisateur | rôle | PUBLIC } [, { utilisateurN | rôle | PUBLIC }] } } | { { objet_privilège | ALL [PRIVILEGES] } [( nom_colonne [, nom_colonne]... )] [, { objet_privilègeN | ALL [PRIVILEGES] } [( nom_colonne [, nom_colonneN]... )]] ON { { schéma . objet } | { { DIRECTORY nom_répertoire } | { JAVA { SOURCE | RESOURCE } [schéma .] objet } } } FROM { { utilisateur | rôle | PUBLIC } [, { utilisateurN | rôle | PUBLIC }] } [ CASCADE CONSTRAINTS ] [ FORCE ] } } [, ... ] ; |
La clause ALL PRIVILEGES indique la suppression de toutes les autorisations appliquées au compte de sécurité indiqué.
L'option PUBLIC indique la révocation des privilèges ou des rôles pour tous les utilisateurs.
La clause DIRECTORY indique l'objet DIRECTORY sur lequel les privilèges doivent être révoqués.
La clause JAVA { SOURCE | RESOURCE } permet de spécifier une source Java ou l'objet de schéma de ressource sur lequel les privilèges doivent être révoqués.
La clause FROM indique la liste des comptes de sécurité.
La clause CASCADE CONSTRAINTS annule les contraintes d'intégrité référentielle et est applicable uniquement à une révocation du privilège REFERENCES ou ALL PRIVILEGES.
La clause FORCE permet de révoquer les privilèges EXECUTE sur les objets définis par l'utilisateur avec des tables ou de types de dépendances.
ExempleREVOKE SELECT ON tbl_employee TO role_employee REVOKE UPDATE ON vue_personnel FROM PUBLIC; |