Professional Documents
Culture Documents
www.supinfo.com
2 / 40
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
3 / 40
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
4 / 40
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
5 / 40
Pour amliorer le contrle de la scurit de la base de donnes, la gestion de mot de passe d'Oracle est
contrle par des administrateurs de base de donnes avec des profils.
Les dispositifs de gestion de mots de passe sont :
- Le blocage de compte : Active automatique le blocage dun compte quand lutilisateur choue
sa connexion un certain nombre de fois.
- Lexpiration de mot de passe : dtermine le temps dutilisation du mot de passe avant quil
expire.
- Lhistorique de mot de passe : vrifie si le nouveau mot de passe nest pas rutilis avant une
priode donne.
- La vrification de la complexit du mot de passe : vrifie la complexit dun mot de passe,
contre les intrus qui pourraient essayer de pntrer dans le systme en devinant le mot de
passe.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
6 / 40
Le compte de base de donnes peut tre bloqu explicitement avec la commande ALTER USER, mais
ce compte ne pourra pas tre automatique dbloqu.
userid_parameter
password_parameter
old_password_parameter
IN VARCHAR2(30),
IN VARCHAR2(30),
IN VARCHAR2(30))
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
7 / 40
La valeur de retour de la fonction est TRUE pour un succs et FALSE pour un chec.
Si la fonction de mot de passe lve une exception, une erreur est retourne et la commande
ALTER USER ou CREATE USER se termine.
SYS doit tre le propritaire de la fonction de mot de passe
Si la fonction de mot de passe est invalide, un message derreur est retourn et la commande
ALTER USER ou CREATE USER se termine.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
8 / 40
{function|NULL|
Avec:
profil
FAILED_LOGIN_ATTEMPS
PASSWORD_LIFE_TIME
PASSWORD_REUSE_TIME
PASSWORD_REUSE_MAX
PASSWORD_LOCK_TIME
PASSWORD_GRACE_TIME
PASSWORD_VERIFY_FUNCTION
Exemple:
CREATE PROFIL
grace_5 LIMIT
FAILED_LOGIN_ATTEMPTS
3
PASSWORD_LOCK_TIME
UNLIMITED
PASSWORD_LIFE_TIME
30
PASSWORD_REUSE_TIME
30
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_GRACE_TIME
5;
Cration du profil grace_5 avec la possibilit de se tromper 3 fois de mot de passe sans quil ne
soit dbloqu avant. Son mot de passe expire sous 35 jours (temps de grce compris) si il nest pas
modifi avant et il est vrifi par la fonction de scurit fournit par Oracle.
Lancez la Console
%oemapp console
Choisissez Launch standalone
Vous pouvez aussi lancer la Console du menu dmarrer de Windows NT
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
9 / 40
1.3.2.Modifier un profil
La commande ALTER PROFIL est utilise pour changer les limites de mot de passe attribues un
profil.
Syntaxe :
ALTER PROFIL profil LIMIT
[FAILED_LOGIN_ATTEMPTS
max_value]
[PASSWORD_LIFE_TIME
max_value]
[ {PASSWORD_REUSE_TIME
|PASSWORD_REUSE_MAX}
max_value]
[PASSWORD_LOCK_TIME
max_value]
[PASSWORD_GRACE_TIME
max_value]
[PASSWORD_VERIFY_FUNCTION
{function|NULL|DEFAULT} ]
Si vous voulez configurer les paramtres de mot de passe moins dun jour :
1 heure => PASSWORD_LOCK_TIME = 1/24
10 minutes => PASSWORD_LOCK_TIME = 10/1400
5 minutes => PASSWORD_LOCK_TIME = 5/1440
Les changements naffectent pas les sessions courantes, ils ne sont employs que sur les prochaines
sessions.
1.3.3.Supprimer un profil
Supprimer un profil en utilisant la commande DROP PROFIL :
DROP PROFIL profil [CASCADE];
profil
CASCADE
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
10 / 40
Description
Temps de CPU total en centaine de secondes
Nombre de sessions pour chaque utilisateur
Temps de connexion coul en minutes
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
LOGICAL_READS_PER_SESSION
PRIVATE_SGA
11 / 40
Les limites au niveau de lappel sont imposes chaque appel fait tout en excutant un ordre SQL.
Quand une limite au niveau de lappel est dpasse :
- lexcution de lordre est arrte
- lordre est annul
- Tous les ordres prcdents demeurent intacts
- La session dutilisateur reste connecte
Ressource
Description
CPU_PER_CALL
LOGICAL_READS_PER_CALL
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
12 / 40
Limite le cot total de ressource pour une session
exprimer en unit de service.
Oracle calcule le cot des ressources avec la somme des paramtres suivants :
- CPU_PER_SESSION
- CONNECT_TIME
- LOGICAL_READS_PER_SESSION
- PRIVATE_SGA
La vue du dictionnaire de donnes RESOURCE_COST renseigne sur la limite de chaque ressource.
Plan de ressource (Resource plan): Contient des directives qui indiquent comment les
ressources sont alloues aux groupes de consommateurs de ressource.
Directive de plan de ressource (resource plan directive): Utilis par les administrateurs pour
associer des groupes de consommateurs de ressource avec des plans particuliers et pour
allouer des ressources parmi des groupes de consommateurs de ressource.
Pour administrer Database Resource Manager, vous devez avoir le privilge systme
ADMINISTER_RESOURCE_MANAGER pour administrer le Database Resource Manager
(DBMS_RESOURCE_MANAGER). Typiquement, les DBAs auront ce privilge avec loption
ADMIN entant qulment du rle DBA.
La mthode CPU (CPU Method) : permet de dfinir comment les ressources CPU sont
allouer aux groupes de consommateur.
Le pool de session active en file dattente (Active session pool with Queuing) : vous pouvez
contrler un nombre maximum de sessions actives avec un groupe de consommateur. Une
session est mise en file dattente quand le pool de sessions est plein. Si une session active se
termine, la 1re session dans la file est programme pour une excution. Une priode darrt
peut aussi tre dfinit comme un travail en file dattente qui sarrte avec une erreur.
Le degr de limite de paralllisme (Degree of Parallelism Limit): spcifie une limite de degr
parallle pour toutes les oprations se trouvant dans un groupe de consommateur.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
13 / 40
Le temps maximum dexcution estim (Maximum estimate execution time) : estime le temps
dexcution pour une opration proactive. Un DBA peut dfinir le temps dexcution
maximum estim sur n'importe quelle opration en configurant le paramtre
MAX_ESTIMATED_EXEC_TIME. Si le temps destimation de lopration est plus
important que celui dfinit dans MAX_ESTIMATED_EXEC_TIME, lopration ne dbutera
pas, donc il y aura une limination des grands travaux qui utilisent trop de ressources.
Le pool Undo : Un pool Undo pour chaque groupe de consommateur peut tre dfinit pour
contrler le nombre total dUndo qui peut tre gnr par un groupe de consommation. Quand
un groupe de consommateur dpasse ses limites, lordre DML courant gnrant le redo se
terminera. Le pool Undo est dfinit par le paramtre UNDO_POOL.
PASSWORD
ACCOUNT_STATUS
---------------- -------------8A8F025737A9097A OPEN
D4DF7931AB130E37 OPEN
4A3BA55E08595C81 OPEN
E066D214D5421CCC OPEN
BB69FBB77CFA6B9A OPEN
957C7EF29CC223FC LOCKED
Pour afficher les informations sur le profil de mot de passe, il faut interroger la vue DBA_PROFILS :
Exemple:
SQL> SELECT
2
FROM
3
WHERE
4 AND
*
dba_profils
resource_type='PASSWORD'
profil=GRACE_5;
PROFIL RESOURCE_NAM
--------------------------
RESOURCE
--------
LIMIT
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
14 / 40
PASSWORD
PASSWORD
PASSWORD
PASSWORD
3
30
30
PASSWORD
PASSWORD
PASSWORD
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
15 / 40
Ladministrateur de base de donnes dfinit les logins des utilisateurs leur permettant daccder la
base. Un domaine de scurit dfinit les configurations qui sappliquent lutilisateur.
Avec le mcanisme dauthentification, un utilisateur qui a besoin de se connecter la base de donne
peut tre authentifi par :
- Le dictionnaire de donnes
- Le systme dexploitation
- Le rseau
Les moyens dauthentification sont spcifis quand lutilisateur est dfinit dans la base et ils peuvent
tre modifis ultrieurement.
Les quotas de Tablespaces contrle le nombre despace de stockage physique allou un utilisateur
dans le tablespace de la base de donnes.
Le tablespace par dfaut dfinit le lieu o sont stock les segments crs par un utilisateur, si le
tablespace nest pas dfinit explicitement.
Le tablespace temporaire dfinit o les extents seront allous par le serveur Oracle, si lutilisateur
ralise une opration avec dune criture de donnes sur le disque.
Des comptes peuvent tre bloqus pour empcher un utilisateur de se connecter la base. Cela peut se
faire automatiquent ou manuellement par ladministrateur.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
16 / 40
Des limites peuvent tre appliques sur lutilisation des ressources comme le temps de CPU, le
nombre dentre/sortie et le nombre de session ouverte par utilisateur.
Les privilges directs sont utiliss pour contrler les actions dun utilisateur sur la base de donnes.
Un utilisateur peut indirectement attribuer des privilges aux utilisateurs avec les privilges incluent
dans les rles.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
PASSWORD EXPIRE
ACCOUNT LOCK/UNLOCK
PROFIL
17 / 40
Dfinit lespace maximum permit pour les objets
de lutilisateur dans le tablespace tablespace (sa
valeur peut tre en un entier de bits, kilobits,
mgabits ou UNLIMITED. Par dfaut
lutilisateur na pas de quota sur les tablespaces)
Force lutilisateur redfinir sont mot de passe
lors de sa connexion la base en utilisant SQL
Plus (cette option nest valable que si lutilisateur
est authentifi par la base de donnes)
Pour bloquer ou dbloquer explicitement un
compte dutilisateur (UNLOCK est par dfaut)
Est utilis pour contrler les ressources dusage
et pour dfinir le mcanisme de contrle de mot
de passe pour lutilisateur
La mthode dauthentification par mot de passe est obligatoire. Si un mot de passe est spcifi, il est
conserv par le serveur Oracle dans le dictionnaire de donnes. Les mcanismes de contrle de mot de
passe fournit par le serveur Oracle sont disponibles lorsque les utilisateurs sauthentifient sur le
serveur.
Une fois que lexpiration de mot de passe est programme, quand lutilisateur se connecte sur SQL
Plus, il reoit le message suivant louverture et est invit entrer un nouveau mot de passe :
ERROR:
ORA-28001: the account has expired
Changing password for PETER
Old password:
New password:
Retype new password:
Password changed
Vous pouvez aussi slectionner un utilisateur et slectionnez ObjectCreate Like dans la barre
de menu pour crer un utilisateur avec les mme quotas et privilges que utilisateur existant dans
la base.
Oracle Security Manager attribut automatiquement le rle CONNECT tous les utilisateurs qui
sont crs partir de cet outil.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
18 / 40
2.2.3.Supprimer un utilisateur
La syntaxe de suppression dun utilisateur est :
DROP USER user [CASCADE];
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
19 / 40
Loption CASCADE supprime tous les objets dans le schma avant de supprimer lutilisateur. Cela
doit tre spcifi si le schma contient des objets.
Un utilisateur qui est connect la base ne peut pas tre supprim.
USERNAME
----------SYS
SYSTEM
OUTLN
DBSNMP
HR
OE
username, default_tablespace
dba_users;
DEFAULT_TABLESPACE
-----------------SYSTEM
SYSTEM
SYSTEM
SYSTEM
EXAMPLE
EXAMPLE
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
20 / 40
3.2.Privilges systme
3.2.1.Privilges systme
Les privilges peuvent tre classs de la manire suivante :
- Des privilges permettant de oprations systme ; par exemple, CREATE SESSION,
CREATE TABLESPACE.
- Des privilges permettant la gestion des objets dans in le schma dutilisateur ; par exemple,
CREATE TABLE.
- Des privilges permettant la gestion des objets dans tous les schmas ; par exemple, CREATE
ANY TABLE.
Les privilges peuvent tre contrls avec les commandes GRANT et REVOKE, qui ajoute et
supprime des privilges un utilisateur ou un rle.
3.2.2.Exemples de privilges
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
21 / 40
Exemple
CREATE ANY INDEX
ALTER ANY INDEX
DROP ANY INDEX
TABLE
CREATE TABLE
CREATE ANY TABLE
ALTER ANY TABLE
DROP ANY TABLE
SELECT ANY TABLE
UPDATE ANY TABLE
DELETE ANY TABLE
SESSION
CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
TABLESPACE
CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE
UNLIMITED TABLESPACE
22 / 40
Aprs un clic droit sur votre base de donnes, cliquez sur Connect.
Indiquez le login, le mot de passe et le nom pour votre base de donnes et cliquez sur OK.
Drouler le dossier Security
Droulez le dossier Users et slectionnez lutilisateur de votre choix
Cliquez sur System Privileges dans la partie dtail de la console.
Slectionner le privilge systme que vous voulez accorder. Eventuellement, vrifi la box
Admin Option et cliquez sur Apply.
SYSDBA
exemple
ALTER DATABASE ARCHIVELOG
RECOVER DATABASE
ALTER DATABASE BACKUP CONTROLFILE TO
ALTER DATABASE OPEN | MOUNT
SHUTDOWN
STARTUP
SYSOPER PRIVILEGES WITH ADMIN OPTION
CREATE DATABASE
ALTER DATABASE BEGIN/END BACKUP
RESTRICTED SESSION
RECOVER DATABASE UNTIL
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
23 / 40
CREATE TABLE
emi;
Supprime le privilge CREATE TABLE de lutilisateur Emi
Il ny a pas deffets en cascade lors de la suppression dun privilge systme, mme si il a t donn
avec WITH ADMIN OPTION.
Le scnario suivant explique le schma ci-dessus :
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
24 / 40
le DBA accorde le privilge systme CREATE TABLE Jeff avec ADMIN OPTION
Jeff cr une table
Jeff attribue le privilge systme CREATE TABLE Emi
Emi cr un table
Le DBA supprime le privilge systme CREATE TABLE Jeff.
Il en rsulte que :
- La table de Jeff existe toujours, mais aucune table ne peut tre cre
- La table dEmi existe encor et elle a toujours le privilge systme CREATE TABLE.
Un privilge objet est un privilge ou un droit pour excuter une action particulire sur une table, une
vue, une squence, une procdure, une fonction ou un package spcifique.
Chaque objet a une configuration particulire dattribution de privilge. La table a des listes de
privilges pour des objets varis.
Notez que les seuls privilges qui sappliquent un ordre sont SELECT et ALTER.
UPDATE, REFERENCES et INSERT peuvent tre limits en indiquant un sous-ensemble de
colonnes trait. Un SELECT peut tre limit par la cration dune vue avec un sous-ensemble de
colonnes et une attribution du privilge SELECT sur cette vue. Une attribution de privilge sur un
synonyme est convertie une attribution de privilge sur la table de base rfrence par le synonyme.
25 / 40
GRANT
{ object_privilege [(column_list)]
[, object_privilege [(column_list)] ]...
|ALL [PRIVILEGES]}
ON
[schema.]object
TO
{user|role|PUBLIC}
[, {user|role|PUBLIC} ]...
[WITH GRANT OPTION]
Avec:
object_privilege
column_list
ALL
: Accorde tous les privilges pour lobjet qui a t accord avec WITH
ADMIN OPTION
ON object
WITH GRANT OPTION : donne la possibilit dattribu des privilges objets dautre utilisateurs ou
rle.
{ object_privilege [(column_list)]
[, object_privilege [(column_list)] ]...
|ALL [PRIVILEGES]}
[schema.]object
{user|role|PUBLIC}
[, {user|role|PUBLIC} ]...
[CASCADE CONSTRAINTS]
Avec :
ALL
ON
FROM
: Identifie des utilisateurs ou des rle qui ont leurs privilges objets
supprims
CASCADE CONSTRAINTS
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
26 / 40
Des effets en cascade peuvent tre observ lors de la suppression dun privilge systme reli une
opration de DML. Par exemple, si SELECT ANY TABLE est attribu un utilisateur et que ce
dernier a cr des procdures utilisant la table, toutes les procdures se trouvant dans le schma de
lutilisateur doivent tre recompiles avant quelles ne puissent tre rutilises.
La suppression dobjet privilge aura aussi un effet en cascade quand WITH GRANT OPTION est
donn.
Le scnario suivant explique le schma ci-dessus :
- Jeff a le privilge objet SELECT sur la table EMPLOYEES avec GRANT OPTION.
- Jeff donne le privilge SELECT sur la table EMPLOYEES Emi.
- Plus tard, Jeff perd le privilge SELECT. Cette suppression de privilge un effet en cascade
sur Emi.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
27 / 40
Oracle fournit une facilit de contrle avec la gestion des privilges par des rles.
Les rles sont des groupes de privilges qui sont accord des utilisateurs ou dautres rles. Ils sont
conus pour faciliter ladministration des privilges dans la base de donnes.
Un rle est attribu ou supprim des utilisateurs avec les mme commandes utilises pour accorder
ou enlever des privilges systmes.
Il peut tre attribu nimporte quel utilisateur ou rle. Cependant, un rle ne peut pas tre attribu ni
lui-mme et ni circulairement.
Il peut se composer de privilge systme et objet.
Il peut tre activ ou dsactiv pour chaque utilisateur qui ont ce rle.
Il peut demander un mot de passe pour tre activ.
Son nom doit tre unique parmi les logins et les autres noms de rle.
Il nappartient personne et ne se trouve dans aucun schma.
La description du rle se trouve dans le dictionnaire de donnes.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
28 / 40
On peut assigner des rles aux utilisateurs de la base de donnes en utilisant les commandes ou les
outils du systme dexploitation.
Lutilisation de rle rduit les nombre daccords de privilges dans le dictionnaire de donnes.
NOT IDENTIFIED
INDENTIFIED
BY password
: fournit le mot de passe que lutilisateur doit spcifier quand il active le rle.
USING package
: cr un rle dapplication, cest est un rle qui peut tre activ uniquement
par des applications utilisant un package autoris.
ESTERNALLY
: indique quun utilisateur doit tre autoris par un service externe (tel que le
systme dexploitation ou le service 3-tiers) avant dactiver le rle.
GLOBALLY
: indique qu'un utilisateur doit tre autoris employer le rle par le service
d'annuaire d'entreprise avant que le rle soit activ avec lordre de SET
ROLE, ou l'ouverture.
4.2.2.Rles prdfinis
Nom du rle
CONNECT,
RESOURCE, DBA
EXP_FULL_DATABASE
IMP_FULL_DATABASE
DELETE_CATALOG_ROLE
Description
Ces rles sont fournient pour une compatibilit
avec les anciennes versions
Des Privilges pour exporter la base de donnes
Des privilges pour importer la base de donnes
Database
Le privilge DELETE sur les tables du
dictionnaire de donnes
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
29 / 40
Le privilge EXECUTE sur les packages du
dictionnaire de donnes
Le privilge SELECT sur les tables du
dictionnaire de donnes
Les rles lists sont dfinit automatiquement par les bases de donnes quand vous excutez les scripts
de cration de base de donnes.
Les rles CONNECT, RESSOURCE et DBA sont fournis pour assurer la compatibilit avec les
anciennes versions dOracle.
Les rles EXP_FULL_DATABASE et IMP_FULL_DATABASE sont fournis pour utiliser les utilits
dimport et dexport.
Les rles DELETE_ CATALOG_ROLE DELETE, EXECUTE_CATALOG_ROLE EXECUTE et
SELECT_CATALOG_ROLE SELECT sont fournis pour accder aux vues et packages du
dictionnaire de donnes. Ces rles peuvent tre accords aux utilisateurs qui nont pas le rle DBA
mais qui ont besoin daccder aux vues et aux packages du dictionnaire de donnes.
Le serveur Oracle cre aussi dautres rles qui vous autorisent administrer la base de donnes. Sur
beaucoup de systmes dexploitation, ces rles sont appels OSOPER et OSDBA, cela dpend du
systme dexploitation que vous avez.
Dautres rles sont dfinis par des scripts SQL fournis avec la base de donnes.
Par exemple, AQ_ADMINISTRATOR_ROLE donne des privilges pour administrer Advanced
Queuing. AQ_USER_ROLE est obsolte mais il est conserv pour tre compatible avec la version 8.0.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
30 / 40
Avec:
role
user
PUBLIC
WITH ADMIN OPTION
Lutilisateur qui cre un rle est implicitement assign ce rle avec ADMIN OPTION. Un utilisateur
qui na pas assign de rle avec ADMIN OPTION doit avoir le privilge systme GRANT ANY
ROLE pour attribu ou retir un rle un utilisateur.
Le nombre maximum de rles de base de donnes que des utilisateurs peuvent avoir est configur par
le paramtre dinitialisation MAX_ENABLED_ROLES.
user
{role [,role]...
| ALL [EXCEPT role [,role]... ] | NONE}
Avec:
user
role
: est le rle qui doit tre le rle par dfaut pour lutilisateur
ALL
: tous les rles sont attribus comme rle par dfaut sauf ceux qui sont dans la
liste de EXCEPT
EXCEPT
: indique que les rles suivants ne sont pas inclut dans les rles par dfaut.
NONE
Vous ne pouvez pas dfinir les rles par dfaut avec la commande CREATE USER.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
31 / 40
admin_role
hr.employee;
Dans cet exemple, admin_role est un rle dapplication et le rle peut tre activ seulement par des
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
32 / 40
Syntaxe:
SET ROLE
Avec:
Role
: le nom du rle.
IDENTIFIED BY password
ALL
: active tous les rles attribus lutilisateur actuel, sauf ceux lister
aprs la clause EXCEPT (vous ne pouvez pas utilis cette option pour
activer des rles avec mot de passe).
EXCEPT role
NONE
Loption ALL sans la clause EXCEPT fonctionne seulement si tous les rles, qui sont activs, nont
pas de mot de passe.
Avec:
role
: est le rle qui doit tre enlev ou le rle partir duquel sera enlev le rle.
user
PUBLIC
Exemple:
REVOKE
FROM
oe_clerk
scott;
enlve Scott le rle oe_clerck
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
33 / 40
Parce quun rle contient des privilges ncessaires lexcution dune tache, le nom du rle est
habituellement composer du nom de la tache dapplication ou de lemploi. Lexemple suivant utilise
le nom de la tache de lapplication et lemploi concern pour construire le nom du rle.
1. Crez un rle pour chaque tache dapplication. Le nom du rle dapplication correspond une
tche dans lapplication, cest--dire PAYROLL.
2. Assignez les privilges ncessaires pour excuter la tache du rle dapplication.
3. Crez un rle pour chaque type dutilisateur. Le nom du rle de lutilisateur correspond son
emploi, cest--dire PAY_CLERCK.
4. Assignez les rles dapplication aux rles de lutilisateur.
5. Attribuez les rles dutilisateurs aux utilisateurs.
Si une modification de lapplication demande que de nouveaux privilges doivent excuter la tache
payroll, alors le DBA simplement besoin dassigner les nouveaux privilges au rle dapplication,
PAYROLL. Ainsi, tous les utilisateurs qui utilisent cette tache, recevront ces nouveaux privilges.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
34 / 40
Les mots de passe fournissent un niveau de scurit supplmentaire lors de lactivation du rle. Par
exemple, lapplication pourrait demander lutilisateur dentrer un mot de passe pour activer le rle
PAY_CLERK, parce que ce rle peut tre utilis pour publier des informations confidentielles.
Le mot de passe permet dactiver un rle uniquement par une application. Cette mthode est illustre
par les points suivants :
1. Le DBA a attribu lutilisateur deux rles, PAY_CLERK et PAY_CLERK_RO.
2. PAY_CLERK a tous les privilges ncessaires pour excuter la fonction payroll_clerk.
3. PAY_CLERK_RO (RO pour Read Only) a seulement le privilge SELECT sur les tables qui
sont demands lexcution de la fonction payroll_clerk.
4. Lutilisateur peut se connecter SQL*Plus pour excuter des requtes, mais il ne peut pas
modifier les donnes, car PAY_CLERK nest pas un rle par dfaut et lutilisateur ne connat
pas son mot de passe.
5. Quand lutilisateur se connecte lapplication de payroll, cela active PAY_CLERK en
fournissant le mot de passe. Il est cod dans le programme et illisible par lutilisateur.
Description
Tous les rles qui existent dans la base de
donnes
Les rles assigns aux utilisateurs et aux rles
Les rles qui sont attribus aux rles
Les privilges systmes attribus aux rles et aux
utilisateurs
Les privilges systmes assigns aux rles
Les privilges objets donns aux rles
Les rles que lutilisateur actuel a activs
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
35 / 40
Exemple :
SQL> SELECT
2 FROM
role, password_required
dba_roles;
ROLE
--------------------CONNECT
RESOURCE
DBA
.
.
.
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
IMP_FULL_DATABASE
EXP_FULL_DATABASE
SALES_CLERK HR_CLERK
PASSWORD
----------NO
NO
NO
NO
NO
NO
NO
YES
EXTERNAL
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
36 / 40
5.Audit
5.1.Catgories daudit
5.1.1.Audit
Si un utilisateur non autoris supprime des donnes, le DBA pourrait dcider dauditer toutes les
connexions la base de donnes et toutes les suppressions russite ou non dans les tables de la base
de donnes. Le DBA peut, par exemple, avoir des statistiques sur la mise jour des tables, lexcution
des entre/sortie logiques ou le nombre dutilisateur connects aux heures de pointes.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
37 / 40
vous pouvez supprimer ou tronquer ses donnes car elles ne sont l que pour information et
ninfluencent pas le bon fonctionnement de linstance Oracle.
Puisque la table AUD$ a une volution alatoire (elle grossit, puis rtrcit), elle devrait tre stocke
hors du tablespace du systme.
Pour dplacer la table AUD$ dans le tablespace AUDIT_TAB, il faut :
- sassurer que laudit est dsactiv
- excuter la commande suivante :
ALTER TABLE
MOVE TABLESPACE
-
aud$
AUDIT_TAB;
i_aud1
aud$(sessionid, ses$tid)
AUDIT_IDX;
5.1.3.Catgories daudit
Indpendamment de laudit de la base de donnes, Oracle enregistre toujours quelques oprations de
base de donnes dans le fichier daudit du systme dexploitation, qui sont :
-
Laudit de la base de donnes surveille et enregistre une slection daction des utilisateurs de la base.
Les informations sur les vnements sont stockes dans la table daudit.
La table daudit peut tre employe pour tudier des activits suspectes. Par exemple, si un utilisateur
non autoris supprime les donnes dune table, ladministrateur de la base peut dcider de faire un
audit sur toutes les connexions la base de donnes en rapport avec un succs ou un chec de
suppression de ligne dans la table de la base.
Laudit peut galement tre employ pour surveiller ou recueillir des donnes sur des activits
spcifiques de la base de donnes. Par exemple, ladministrateur de la base peut rcuprer des
statistiques sur des tables qui ont t mises jour, le nombre dentres/sorties logiques qui ont t
excut et le nombre dutilisateur qui se sont connects lheure de pointe.
Laudit de base de donnes ne peut pas enregistr les valeurs des colonnes. Si les changements des
colonnes de la base de donnes ont besoins dtre surveills et que les valeurs de colonnes doivent
tre stockes chaque modification, il faut utiliser une application daudit.
Lapplication daudit peut tre faite par un code client, des procdures stockes ou des trigger de base
de donnes.
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
38 / 40
Une fois que vous avez dcidez dauditer, il faut configurer le paramtre dinitialisation
AUDIT_TRAIL pour activer laudit de linstance. Ce paramtre indique si les informations daudit
sont crites dans une table de la base de donne ou dans le fichier daudit du systme dexploitation.
AUDIT_TRAIL = value
O value peut prendre une des valeurs suivante :
DB
active laudit et dirige tous les enregistrement daudit dans la table daudit de la base de
donnes (SYS.AUD$)
OS
active laudit et dirige tous les enregistrements daudit dans le fichier daudit du systme
dexploitation (si cela est possible sur le systme dexploitation)
NONE dsactive laudit (cest la valeur par dfaut)
Les enregistrements daudit ne sont pas crits dans le fichier daudit si le DBA configure le paramtre
AUDIT_TRAIL DB ou OS. Bien que les ordres SQL, AUDIT et NOAUDIT peuvent tre employ
tout moment, les informations daudit ne seront crites dans le fichier daudit que si le DBA configure
le paramtre AUDIT_TRAIL dans le fichier dinitialisation.
Ensuite, il faut configurer les options daudit avec la commande AUDIT. Avec la commande AUDIT,
on dfinit quelles commandes, utilisateurs, objets ou privilges auditer. Vous pouvez aussi dfinir si
un enregistrement daudit peut tre gnr chaque occurrence ou seulement un fois par session. Si
une option daudit nest pas ncessaire, vous pouvez interrompre loption avec la commande
NOAUDIT.
Quand les utilisateurs excutent des requtes PL/SQL ou SQL, le processus serveur examine les
options audit pour dterminer si la requte excute gnre un enregistrement daudit. Si ncessaire,
les ordres SQL dans des units de programme PL/SQL sont individuellement audits, quand le
programme est excut. Comme les vues et les procdures peuvent rfrencer dautres objets de base
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs
39 / 40
de donnes, quelques enregistrements daudit peuvent tre gnrs comme le rsultat dune excution
dordre simple.
La gnration et linsertion des informations dans les tables daudit sont indpendantes de la
transaction de lutilisateur ; donc, si une transaction de lutilisateur est annule, la table daudit reste
intacte. Puisque lenregistrement daudit est gnr pendant la phase dexcution, une erreur de
syntaxe qui se produit pendant la phase de parse, ne gnrera pas un enregistrement daudit.
Pour examiner les informations gnrer pendant laudition, il faut interroger les vues du dictionnaire
de donnes de la table daudit ou utiliser les outils du systme dexploitation pour voir son fichier
daudit. Ces informations sont employes pour dceler des activits suspectes ou pour monitorer les
activits de la base de donnes.
5.2.2.Options daudit
Nous avons quelques options daudit :
Laudit des requtes : Cest un audit slectif sur les ordres SQL et non sur les objets de schma sur
lesquels ils fonctionnent. Vous pouvez configurer laudit des requtes pour auditer des utilisateurs
spcifiques ou tous les utilisateur de la base de donnes.
Exemple :
AUDIT TABLE ;
Traque les ordres DDL indpendamment de la table sur laquelle ils sont publis.
Laudit sur les privilges : Cest un audit slectif sur les privilges systmes pour excuter des actions
correspondantes. Il est possible dutiliser cet audit sur un ou plusieurs utilisateur.
Exemple :
AUDIT CREATE ANY TRIGGER;
Traque le privilge CREATE ANY TRIGGER
Laudit sur les objets du schma: Cest un audit slectif dordre spcifique sur des objets particulier
dun schma. Laudit sapplique toujours tous les utilisateurs de la base de donnes.
Exemple :
AUDIT SELECT ON emi.orders;
Traque tous les ordres SELECT fait sur la table ORDERS du schma Emi
Vous pouvez dfinir nimporte quelle option daudit et spcifier les conditions suivantes :
40 / 40
cr une police daudit sur la table cible. Si une des lignes retournes par la requte correspond aux
conditions daudit, un vnement daudit est gnr, incluant le nom de lutilisateur, le texte SQL, la
variable demand, le nom de police, lid de session, le timestamp et dautres attributs sont insrs
dans la table daudit.
Lordre NOAUDIT est employ pour arrter un audit dfinit par la commande AUDIT.
Lordre NOAUDIT inverse les effets de lordre AUDIT, mais il a la mme syntaxe. Par consquent, si
un ordre AUDIT (lordre A) active un audit sur un utilisateur spcifique, et quun deuxime ordre
(lordre B) active un audit sur tous les utilisateurs, puis un ordre NOAUDIT, pour dsactiver laudit
sur tous les utilisateurs, inverse lordre B mais laisse ordre A actif auditer de lutilisateur que lordre
A dfinit.
ALL_DEF_AUDIT_OPTS
Description
Les options daudit par dfaut
DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_OBJ_AUDIT_OPTS
DBA_AUDIT_TRAIL
DBA_AUDIT_EXISTS
Description
Toutes les listes daudit rentr
Les
enregistrements
pour
AUDIT
EXISTS/NOT EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT
http://www.labo-oracle.com
Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs