II.4.1.2. Création d'un
utilisateur
Pour pouvoir créer un utilisateur vous devez
posséder le privilège CREATE USER.
La syntaxe SQL de création d'un utilisateur est la
suivante :
CREATE USER utilisateur IDENTIFIED
{ BY motdePasse | EXTERNALLY | GLOBALLY AS 'nomExterne' }
[ DEFAULT TABLESPACE nomTablespace
[QUOTA { entier [ K | M ] | UNLIMITED } ON nomTablespace ]
]
[TEMPORARY TABLESPACE nomTablespace
[QUOTA { entier [ K | M ] | UNLIMITED } ON nomTablespace
].]
[PROFILE nomProfil ] [PASSWORD EXPIRE ] [ ACCOUNT { LOCK
|UNLOCK } ] ;
II.4.1.3. Suppression d'un
utilisateur
Pour pouvoir supprimer un utilisateur vous devez
posséder le privilège DROP USER. La syntaxe SQL pour supprimer un
utilisateur est la suivante :
DROP USER utilisateur [CASCADE];
II.4.2. Profil
Un profil regroupe des caractéristiques système
(ressources) qu'il est possible d'affecter à un ou plusieurs
utilisateurs. Un profil est identifié par son nom. Un profil est
créé par CREATE PROFILE, modifié par ALTER PROFILE et
supprimé par DROP PROFILE.
II.4.3. Privilège
Un privilège (sous-entendu utilisateur) est un droit
d'exécuter une certaine instruction SQL ou un droit d'accéder
à un certain objet d'un autre schéma.
Les privilèges sont de deux types :
· Les privilèges de niveau système :
Qui permettent la création, modification, suppression, exécution
de groupes d'objets, les privilèges CREATE TABLE, CREATE VIEW, CREATE
SEQUENCE par exemple permettent à l'utilisateur qui a reçu de
créer des tables, des vues et des séquences
· Les privilèges de niveau objet : Qui
permettent les manipulations sur des objets spécifiques, les
privilèges SELECT, INSERT, UPDATE, DELETE sur la table SCOTT.EMP par
exemple permettent à l'utilisateur qui les a reçu de
sélectionner, ajouter, modifier et supprimer des lignes dans la table
EMP appartenant à l'utilisateur SCOTT.
Lorsqu'un utilisateur est créé avec
l'instruction CREATE USER, il ne dispose encore d'aucun droit car aucun
privilège ne lui a encore été assigné, Il ne peut
même pas se connecter à la base, il faut donc lui assigner les
privilèges nécessaires, Il doit pouvoir se connecter,
créer des tables, des vues, des séquences. Pour lui assigner ces
privilèges de niveau système il faut utiliser l'instruction
GRANT.
II.4.4. Rôle
L'instruction GRANT permet d'assigner un ou plusieurs
privilèges système ou objet. Cependant, lorsque la liste des
privilèges est importante, il est souhaitable de pouvoir regrouper des
privilèges identiques dans un même ensemble. Cet ensemble
s'appelle un rôle et se créé avec l'instruction CREATE
ROLE. Une fois le rôle créé, il peut être
assigné à un utilisateur ou à un autre rôle.
La liste des rôles assignés à un
utilisateur s'obtient via les vues DBA_ROLE_PRIVS et USER_ROLE_PRIVS ;
La liste des privilèges objet assignés à
un utilisateur s'obtient en interrogeant les vues DBA_TAB_PRIVS, ALL_TAB_PRIVS
et USER_TAB_PRIVS ;
La liste des privilèges objet sur les colonnes de
tables assignés à un utilisateur s'obtient en interrogeant les
vues DBA_COL_PRIVS, ALL_COL_PRIVS et USER_COL_PRIVS ;
La liste des rôles assignés à
l'utilisateur au cours de sa session est visible via la vue
SESSION_ROLES ;
La liste des privilèges assignés à
l'utilisateur au cours de sa session est visible via la vue SESSION_PRIVS.
Un rôle peut être supprimé en utilisant
l'instruction DROP ROLE.
Les privilèges système qui ont été
assignés à des utilisateurs ou à des rôles peuvent
être retirés avec l'instruction REVOKE.
|