Vous êtes sur la page 1sur 22

13

Contrler les accs utilisateur

Copyright Oracle Corporation, 2001. Tous droits rservs.


Objectifs

A la fin de ce chapitre, vous pourrez :


crer des utilisateurs
crer des rles afin de faciliter la configuration et
la maintenance du modle de scurit
accorder et retirer des privilges objet l'aide des
instructions GRANT et REVOKE
crer des liens de base de donnes et y accder

13-2 Copyright Oracle Corporation, 2001. Tous droits rservs.


Contrler
Contrler les
les accs
accs utilisateur
utilisateur

Administrateur de
base de donnes

Nom utilisateur et mot de passe


Privilges

Utilisateurs

13-3 Copyright Oracle Corporation, 2001. Tous droits rservs.


Privilges

Scurit de la base de donnes :


Scurit systme
Scurit des donnes
Privilges systme : accder la base de donnes
Privilges objet : manipuler le contenu des objets
de base de donnes
Schmas : ensembles d'objets tels que des tables,
des vues et des squences

13-4 Copyright Oracle Corporation, 2001. Tous droits rservs.


Privilges systme

Il existe plus de 100 privilges.


L'administrateur de base de donnes dispose de
privilges de haut niveau qui lui permettent
d'effectuer les tches suivantes :
Cration d'utilisateurs
Suppression d'utilisateurs
Suppression de tables
Sauvegarde de tables

13-5 Copyright Oracle Corporation, 2001. Tous droits rservs.


Crer des utilisateurs

L'instruction CREATE USER permet l'administrateur


de base de donnes de crer des utilisateurs.

CREATE USER user


IDENTIFIED BY password;

CREATE
CREATE USER
USER scott
scott
IDENTIFIED
IDENTIFIED BY
BY tiger;
tiger;
User
User created.
created.

13-6 Copyright Oracle Corporation, 2001. Tous droits rservs.


Privilges systme d'un utilisateur

Une fois qu'il a cr un utilisateur, l'administrateur


de base de donnes peut lui accorder des
privilges systme spcifiques
GRANT
GRANT privilege
privilege [,
[, privilege...]
privilege...]
TO
TO user
user [,
[, user|
user| role,
role, PUBLIC...];
PUBLIC...];

Par exemple, un dveloppeur d'applications peut


disposer des privilges systmes suivants :
CREATE SESSION
CREATE TABLE
CREATE SEQUENCE
CREATE VIEW
CREATE PROCEDURE

13-7 Copyright Oracle Corporation, 2001. Tous droits rservs.


Accorder des privilges systme

L'administrateur de base de donnes peut accorder


un utilisateur des privilges systme spcifiques.
GRANT
GRANT create
create session,
session, create
create table,
table,
create
create sequence,
sequence, create
create view
view
TO
TO scott;
scott;
Grant
Grant succeeded.
succeeded.

13-8 Copyright Oracle Corporation, 2001. Tous droits rservs.


Dfinition
Dfinition d'un
d'un rle
rle

Utilisateurs

Manager

Privilges

Accorder des Accorder des


privilges sans rle privilges avec un rle

13-9 Copyright Oracle Corporation, 2001. Tous droits rservs.


Crer
Crer des
des privilges
privilges et
et les
les accorder
accorder
un
un rle
rle

Crez un rle
CREATE
CREATE ROLE
ROLE manager;
manager;
Role
Role created.
created.

Accordez des privilges ce rle


GRANT
GRANT create
create table,
table, create
create view
view
TO
TO manager;
manager;
Grant
Grant succeeded.
succeeded.
Accordez ce rle des utilisateurs
GRANT
GRANT manager
manager TO
TO DEHAAN,
DEHAAN, KOCHHAR;
KOCHHAR;
Grant
Grant succeeded.
succeeded.

13-10 Copyright Oracle Corporation, 2001. Tous droits rservs.


Changer de mot de passe

L'administrateur de base de donnes cre votre


compte utilisateur et initialise votre mot de passe.
Vous pouvez changer ce mot de passe l'aide de
l'instruction ALTER USER.

ALTER USER scott


IDENTIFIED BY lion;
User altered.

13-11 Copyright Oracle Corporation, 2001. Tous droits rservs.


Privilges
Privilges objet
objet

Privilge
objet Table Vue Squence Procdure
ALTER
DELETE
EXECUTE
INDEX
INSERT
REFERENCES
SELECT
UPDATE

13-12 Copyright Oracle Corporation, 2001. Tous droits rservs.


Privilges objet

Les privilges objet varient d'un objet l'autre.


Le propritaire d'un objet dispose de tous les
privilges sur cet objet.
Le propritaire d'un objet peut accorder des
privilges spcifiques sur cet objet.
GRANT
GRANT object_priv
object_priv [(columns)]
[(columns)]
ON
ON object
object
TO
TO {user|role|PUBLIC}
{user|role|PUBLIC}
[WITH
[WITH GRANT
GRANT OPTION];
OPTION];

13-13 Copyright Oracle Corporation, 2001. Tous droits rservs.


Accorder des privilges objet

Accordez des privilges d'interrogation sur la table


EMPLOYEES.
GRANT
GRANT select
select
ON
ON employees
employees
TO
TO sue,
sue, rich;
rich;
Grant
Grant succeeded.
succeeded.

Accordez des utilisateurs et des rles des


privilges de mise jour sur des colonnes
spcifiques.
GRANT
GRANT update
update (department_name,
(department_name, location_id)
location_id)
ON
ON departments
departments
TO
TO scott,
scott, manager;
manager;
Grant
Grant succeeded.
succeeded.

13-14 Copyright Oracle Corporation, 2001. Tous droits rservs.


Utiliser les mots-cls WITH GRANT OPTION
et PUBLIC
Autorisez un utilisateur transmettre des
privilges.
GRANT
GRANT select,
select, insert
insert
ON
ON departments
departments
TO
TO scott
scott
WITH
WITH GRANT
GRANT OPTION;
OPTION;
Grant
Grant succeeded.
succeeded.
Autorisez tous les utilisateurs du systme
interroger la table DEPARTMENTS d'Alice.
GRANT
GRANT select
select
ON
ON alice.departments
alice.departments
TO
TO PUBLIC;
PUBLIC;
Grant
Grant succeeded.
succeeded.

13-15 Copyright Oracle Corporation, 2001. Tous droits rservs.


Vrifier
Vrifier les
les privilges
privilges accords
accords
Vue du dictionnaire
de donnes Description
ROLE_SYS_PRIVS Privilges systme accords aux rles
ROLE_TAB_PRIVS Privilges sur des tables accords aux
rles
USER_ROLE_PRIVS Rles accessibles l'utilisateur
USER_TAB_PRIVS_MADE Privilges objet accords sur les objets
de l'utilisateur
USER_TAB_PRIVS_RECD Privilges objet accords l'utilisateur
USER_COL_PRIVS_MADE Privilges objet accords sur les
colonnes des objets de l'utilisateur
USER_COL_PRIVS_RECD Privilges objet accords l'utilisateur
sur des colonnes spcifiques
USER_SYS_PRIVS Liste des privilges systme accords
l'utilisateur

13-16 Copyright Oracle Corporation, 2001. Tous droits rservs.


Retirer des privilges objet

L'instruction REVOKE permet de retirer des


privilges accords d'autres utilisateurs.
Cette instruction retire galement les privilges
accords via la clause WITH GRANT OPTION.

REVOKE
REVOKE {privilege
{privilege [,
[, privilege...]|ALL}
privilege...]|ALL}
ON
ON object
object
FROM
FROM {user[,
{user[, user...]|role|PUBLIC}
user...]|role|PUBLIC}
[CASCADE
[CASCADE CONSTRAINTS];
CONSTRAINTS];

13-17 Copyright Oracle Corporation, 2001. Tous droits rservs.


Retirer des privilges objet

Sous le nom de connexion Alice, retirez les privilges


SELECT et INSERT accords l'utilisateur Scott sur la
table DEPARTMENTS.

REVOKE
REVOKE select,
select, insert
insert
ON
ON departments
departments
FROM
FROM scott;
scott;
Revoke
Revoke succeeded.
succeeded.

13-18 Copyright Oracle Corporation, 2001. Tous droits rservs.


Liens de base de donnes

La connexion un lien de base de donnes permet


aux utilisateurs locaux d'accder aux donnes d'une
base de donnes distante.

Locale Distante

Table EMP

SELECT * FROM Base de


emp@HQ_ACME.COM; donnes
HQ_ACME.COM

13-19 Copyright Oracle Corporation, 2001. Tous droits rservs.


Liens de base de donnes

Crez le lien de base de donnes.


CREATE
CREATE PUBLIC
PUBLIC DATABASE
DATABASE LINK
LINK hq.acme.com
hq.acme.com
USING
USING 'sales';
'sales';
Database
Database link
link created.
created.

Ecrivez des instructions SQL qui utilisent le lien de


base de donnes.
SELECT
SELECT **
FROM
FROM emp@HQ.ACME.COM;
emp@HQ.ACME.COM;

13-20 Copyright Oracle Corporation, 2001. Tous droits rservs.


Synthse
Synthse
Ce chapitre vous a prsent les instructions LCD qui
contrlent l'accs la base de donnes et ses objets.
Instruction Action
CREATE USER Cre un utilisateur (opration gnralement
effectue par un administrateur de base de
donnes)
GRANT Accorde aux autres utilisateurs des privilges
d'accs vos objets
CREATE ROLE Cre un ensemble de privilges (opration
gnralement effectue par un administrateur de
base de donnes)
ALTER USER Modifie le mot de passe d'un utilisateur
REVOKE Retire aux utilisateurs des privilges sur un objet

13-21 Copyright Oracle Corporation, 2001. Tous droits rservs.


Prsentation de l'exercice 13

Dans cet exercice, vous allez :


accorder d'autres utilisateurs des privilges sur
votre table
modifier la table d'un autre utilisateur en utilisant
les privilges que vous avez reus
crer un synonyme
interroger les vues du dictionnaire de donnes
relatives aux privilges

13-22 Copyright Oracle Corporation, 2001. Tous droits rservs.