Partager l'article ! GRANT SYSTEM PRIVILEGES: GRANT SYSTEM PRIVILEGES. Comment attribuer des droits à un Utilisateur, un rôle. ? Comm ...
Comment attribuer des droits à un Utilisateur, un rôle. ?
Comment attribuer des privilèges systemes à un USER dans Oracle. ?
Comment accorder des privilèges systemes avec la commande GRANT dans Oracle. ?
La commande GRANT permet d’attribuer un ou plusieurs privilèges à un ou plusieurs bénéficiaires.
Lorsque vous voulez attribuer un ou plusieurs privilèges à un utilisateur ou à un rôle, on utilise la commande sql GRANT.
Lorsque les GRANT privilèges systèmes sont accordées, ils prennent effet immédiatement, il n'est pas nécessaire pour l'utilisateur de se déconnecter.
Les Privilèges Systèmes doivent être attribués avec une grande
attention, synonyme de Pouvoir et donc de Danger. Normalement, ce n'est jamais un utilisateur final qui contrôle et
attribue ces privilèges mais plutôt des administrateurs (DBA) et développeurs.
Sachez que pour attribuer un privilège système il faut soit :
- Avoir reçu le privilège en question avec la clause WITH ADMIN OPTION.
- Avoir reçu le privilège système GRANT ANY PRIVILEGE.
Pour pouvoir créer une Table dans votre schéma il vous faut par exemple le privilège système CREATE TABLE.
Par contre pour pouvoir créer une Table dans n'importe quel schéma il vous faut le privilège système CREATE ANY TABLE. Le mot clef ANY est utilisé pour chaque
objet appartenant à un schéma, par exemple le privilège CREATE ANY TABLESPACE n'existe pas car un TABLESPACE n'appartient pas à un schéma.
Nous voyons dans cette partie uniquement l'attribution de Privilèges Systèmes avec la commande GRANT.
GRANT { { system_privilege_name | role | ALL PRIVILEGES } TO { user [ IDENTIFIED BY password ] | role | PUBLIC } [ WITH ADMIN OPTION ] }; |
Vous devez avoir le privilège système GRANT ANY ROLE ou avoir reçu ce rôle en question avec la clause WITH ADMIN OPTION, ou alors avoir créer ce rôle.
SQL> GRANT CREATE SESSION TO r_role;
Autorisation de privilèges (GRANT) acceptée.
SQL> GRANT CREATE TABLE TO r_role;
Autorisation de privilèges (GRANT) acceptée.
SQL> GRANT INSERT ANY TABLE TO r_role;
Autorisation de privilèges (GRANT) acceptée.
SQL> GRANT create session, create table, insert any table TO r_role;
Autorisation de privilèges (GRANT) acceptée.
SQL>
|
SQL> GRANT grant any role TO scott;
Autorisation de privilèges (GRANT) acceptée.
SQL> GRANT create session TO scott;
Autorisation de privilèges (GRANT) acceptée.
SQL> GRANT drop any role, insert any table TO scott;
Autorisation de privilèges (GRANT) acceptée.
SQL> GRANT select any dictionary TO scott;
Autorisation de privilèges (GRANT) acceptée.
SQL>
|
| Liens en rapport avec l'article et qui sont susceptibles de vous intéresser |
|
•
Liste Privilèges Systèmes • Liste Privilèges Objets • Oracle SQL CREATE ROLE • Voir et Lister les Privilèges et Roles Oracle • Privileges des Roles CONNECT - RESOURCE et DBA |