Vous êtes sur la page 1sur 15

Partie 4

Le langage SQL (suite)

Pr A.ABATAL 1
Contrôle des accès utilisateur
Dans un environnement multi-utilisateur, l'accès et
l'utilisation d’une base de données doit être sécurisé; une
telle sécurité peut être classée en deux catégories :
• La sécurité du système couvre l'accès à la base de
données et son utilisation au niveau du système (nom de
l'utilisateur et mot de passe, espace disque alloué aux
utilisateurs et opérations système autorisées par
l'utilisateur).
• La sécurité de la base de données couvre l'accès aux
objets de la base de données et leur utilisation, ainsi que
les actions exécutées sur ces objets par les utilisateurs.

2
Privilèges

Un privilège donne le droit d'exécuter certains opérations sur

la base de données:

ƒ Privilèges système : autorisent l'accès à la base de

données et son utilisation au niveau du système

ƒ Privilèges objet : autorisent la manipulation du contenu

des objets de la base de données

3
Privilèges systèmes de l’administrateur
L'administrateur de base de données est doté de privilèges
système de haut niveau.

Exemple de privilèges

Privilège système Opérations autorisées


CREATE USER Permet au bénéficiaire de créer d’autres utilisateurs.
DROP USER Supprime un utilisateur
DROP ANY TABLE Supprime une table d’un schéma

4
Création d'un compte utilisateur

L'ordre CREATE USER permet à l'administrateur de base de


données de créer de nouveau utilisateurs.
Syntaxe

CREATE
CREATE USER
USER login
login
IDENTIFIED
IDENTIFIED BY
BY motpasse;
motpasse;

5
Modification du mot de passe d’un utilisateur

L'ordre ALTER USER permet de modifier le mot de passe


d’un utilisateur.

Syntaxe

ALTER
ALTER USER
USER login
login
IDENTIFIED
IDENTIFIED BY
BY nouveau_motpasse;
nouveau_motpasse;

6
Création et Attribution d'un Rôle
ƒ Un rôle est un groupe d’utilisateur qu’ont les mêmes
privilèges (un utilisateur peut avoir accès à plusieurs rôles,
et le même rôle peut être attribué à plusieurs utilisateurs).
ƒ L'ordre CREATE ROLE permet à l'administrateur de la
base de données de créer de nouveau groupe d’utilisateurs.
ƒ L'ordre GRANT permet d’attribue un rôle à des utilisateurs
Syntaxe

CREATE
CREATE ROLE
ROLE NomRole;
NomRole;
GRANT
GRANT NomRole
NomRole to
to Login1[,
Login1[, Login2,
Login2, …];
…];

7
Retrait d'un Rôle

L'ordre REVOKE permet de retirer un rôle à un utilisateur


Syntaxe
REVOKE
REVOKE RoleX
RoleX
FROM
FROM utilisateur1[,
utilisateur1[, utilisateur2...];
utilisateur2...];

8
Privilèges systèmes de l’utilisateur
L'administrateur de base de données peut accorder certaines
privilèges à un utilisateur.
Exemple de privilèges
Privilège Système Opérations autorisées
CREATE SESSION Connexion à la base de données
CREATE TABLE Création de tables dans le schéma de l’utilisateur
CREATE VIEW Création d'une vue dans le schéma de l’utilisateur
Des rôles sont préfinis par Oracle: Exemple CONNECT
permet à un utilisateur de se connecter à la base de données.
9
Octroi de privilèges système

L'ordre GRANT permet à l'administrateur d’accorder à un


utilisateur certains privilèges systèmes.

Syntaxe
GRANT
GRANT Privilege1
Privilege1 [,[, Privilege2,
Privilege2, …]
…]
TO
TO {utilisateur1|Role1[,utilisateur2,…];
{utilisateur1|Role1[,utilisateur2,…];

10
Retrait des privilèges systèmes

L’administrateur peut retirer à un utilisateur ou à un rôle


certains privilèges systèmes qui il leurs a accordés.
Syntaxe
REVOKE
REVOKE {privilege1
{privilege1 [,[, privilege2...]}
privilege2...]}
FROM
FROM {utilisateur1[,
{utilisateur1[, utilisateur2...]|role}
utilisateur2...]|role}

11
Privilèges objets

Le propriétaire d’un objet d’une base de données peut

accorder certaines privilèges autorisant la manipulation du

contenu de cet objet.

Exemple de privilèges

SELECT, ALTER , DELETE , INSERT, EFERENCES,

UPDATE

12
Octroi de privilèges objets

L'ordre GRANT permet d’accorder à un utilisateur certains


privilèges objets.
Syntaxe
GRANT
GRANT {privilege_objet
{privilege_objet [(champs)]…|ALL}
[(champs)]…|ALL}
ON
ON nom_objet
nom_objet
TO
TO {utilisateur|nom_role|PUBLIC}
{utilisateur|nom_role|PUBLIC}
[WITH
[WITH GRANT
GRANT OPTION];
OPTION];

WITH GRANT OPTION autorise le bénéficiaire à accorder


les privilèges objet à d'autres utilisateurs et à des rôles

13
Vérification des privilèges accordés
La consultation de certaines tables du dictionnaire de
données permet de vérifier les privilèges accorder à un
utilisateur.
Exemple de tables

14
Retrait des privilèges objets
L'ordre REVOKE permet de retirer à un utilisateur ou à un
rôle certains privilèges objets qui leurs étaient accordés.
Syntaxe

REVOKE
REVOKE {privilege1
{privilege1 [,[, privilege2...]|ALL}
privilege2...]|ALL}
ON
ON Objet
Objet
FROM
FROM {utilisateur1[,
{utilisateur1[, utilisateur2...]|role|PUBLIC}
utilisateur2...]|role|PUBLIC}

Les privilèges accordés avec WITH GRANT OPTION seront


automatiquement retirés.

15

Vous aimerez peut-être aussi