Gestion des privilèges






Définition d'un rôle



L'administrateur va devoir créer des rôles regroupant certains privilèges système et certains privilèges « objets ». La définition d'un rôle nécessite trois actions :

 

 

Pour créer un rôle, l'administrateur utilise la commande CREATE ROLE:

 

 

 

 

    Création des roles
 

 




L'ordre CREATE ROLE



 

 

 

 

Les paramètres correspondent à :

  • identified by : indique le mot de passe du rôle. Dans ce cas, le rôle est défini comme « interne » pour Oracle.


  • identified externally : le rôle correspond au groupe Unix.








Gestion des rôles



Il est possible de supprimer un rôle via l'ordre DROP ROLE, ou de modifier ses caractéristiques (cette fonctionnalité est essentiellement utilisée pour changer le mot de passe) via l'ordre ALTER ROLE.

 

 

 

 

    Modification d'un role
 

 

Comme dans le cas de l'utilisateur, l'ordre ALTER ROLE/USER permet de changer le mot de passe d'un utilisateur/rôle.

 




Pour les petits curieux



Il est possible de récupérer les rôles créés dans une instance :

 

 

 

 

    Vérification






Allouer des privilèges à un utilisateur ou à un rôle



Pour modifier les privilèges d'un utilisateur ou d'un rôle, l'administrateur dispose de deux ordres :

  • GRANT : pour ajouter un privilège,


  • REVOKE : pour supprimer un privilège.


 

Nous allons ajouter le privilège de connexion (create session) et la création de tables pour le rôle ROLE_DE_BASE :

 

 

 

 

    Gestion des privilèges
 

 

Il est possible d'assigner une liste de privilèges à un ou plusieurs utilisateurs, la syntaxe est alors : grant priv1, priv2, priv3 to user1, user2 ;







L'ordre GRANT



 

 

 

 

Les paramètres correspondent à :

  • to : indique le nom de l'utilisateur, du rôle ou du groupe PUBLIC. La modification du groupe PUBLIC permet une intervention sur tous les utilisateurs en une seule manipulation.


  • with admin option : indique que les privilèges système pourront être transmis (option impossible pour un rôle) par l'utilisateur venant de recevoir ce privilège.


  • on : indique le nom de l'objet sur lequel sera possible l'action définie par le privilège. L'administrateur peut donner, par exemple, le privilège de modifier une table quelconque (ANY TABLE) ou une table particulière. Dans ce dernier cas, le paramètre nom_objet permet de qualifier la table.


  • with grant option : indique que les privilèges objets pourront être transmis par l'utilisateur venant de recevoir ce privilège.


 

 




Retrouver les privilèges associés à un rôle



Pour visualiser les privilèges associés à un rôle, nous visualisons la table ROLE_SYS_PRIVS :

 

 

 

 

    Vérification
 




Supprimer des privilèges à un utilisateur ou à un rôle



Pour supprimer un privilège, l'administrateur utilise l'ordre REVOKE :

 

 

 

 

    Suppression des privilèges
 

 

L'ordre REVOKE peut être passé avec l'option CASCADE CONSTRAINTS, alors les privilèges hérités sont aussi supprimés (en fonction des remarques faites au début du chapitre, selon que les privilèges soient de type système ou de type objet).






Retour au sommaire   Page précédente   Début de page   Page suivante   Glossaire