Vous êtes sur la page 1sur 3

MODULE : IMPLEMENTATION DES BASES DE DONNEES

Un système sécurisé garantit la confidentialité des données qu'il contient. La sécurité englobe plusieurs
aspects :
- Limiter l'accès aux données et aux services
- Authentifier les utilisateurs
- Surveiller les activités suspectes
Appliquer le principe du moindre privilège
 Protéger le dictionnaire de données
 Révoquer les privilèges non nécessaires de PUBLIC
 Limiter les répertoires accessibles par les utilisateurs
 Limiter les utilisateurs dotés de privilèges d'administration
 Limiter l'authentification à distance auprès de la base de données
Le dictionnaire de données oracle
- Organisé comme une base de données (ensemble de tables)
- La plupart de ses tables ne sont pas modifiables par les utilisateurs (seul l’administrateur de la base
système, a accès à ces dernières) .
Le contenu de ces tables est accessible par l’intermédiaire des vues. La vue DICTIONARY permet d’avoir une
liste complète des tables, vues et synonymes du dictionnaire

1. Protéger le dictionnaire de données


- Protégez le dictionnaire de données en prenant soin d'affecter la valeur FALSE au paramètre d'initialisation
suivant :

- Cette configuration empêche les utilisateurs dotés du privilège système ANY TABLE d'accéder aux tables
de base du dictionnaire de données.
- La valeur FALSE empêche également l'utilisateur SYS de se connecter sous un autre compte que SYSDBA.
- La valeur par défaut de ce paramètre est FALSE. S'il s'avère qu'il a la valeur TRU
- Révoquer les privilèges non nécessaires de PUBLIC
- Révoquez tous les privilèges et rôles non nécessaires du groupe d'utilisateurs PUBLIC du serveur de base
de données.
- De nombreux packages intégrés accordent le privilège EXECUTE à PUBLIC.
- Le privilège d'exécution sur les packages suivants doit toujours être révoqué de PUBLIC :
 UTL_SMTP
 UTL_TCP
 UTL_HTTP
 UTL_FILE
 DBMS_OBFUSCATION_TOOLKIT
Exemple : SQL> REVOKE execute ON utl_file FROM PUBLIC;
2. Privilèges d’accès
Oracle offre une multitude de privilèges d’accès aux données pour :
- augmenter la sécurité des données
- mieux gérer les ressources
- mieux gérer les utilisateurs
- regrouper les privilèges (rôles)
On distingue deux familles de privilèges :
 privilèges systèmes
 privilèges objets

Chapitre 4 La description de la sécurité oracle Leçon 2 1/3


MODULE : IMPLEMENTATION DES BASES DE DONNEES
2.1 Privilèges Systèmes
 Un privilège système permet d’exécuter certaines actions touchant à la structure de la base de données
table, trigger, profil,...).
GRANT {privilège_système | rôle},...
TO {utilisateur | rôle | PUBLIC},...
[WITH ADMIN OPTION]
 Un rôle regroupe plusieurs privilèges pour :
- faciliter la formulation de requête
- structurer les privilèges des bases et des applications

2.2 Privilèges Objets


 Un privilège objet donne le droit d’exécuter une action particulière sur :
- TABLE,
- VUE,
- FONCTION,
- PROCÉDURE,
- SÉQUENCE
- PACKAGE.
 ces droits peuvent être attribués à un ou plusieurs utilisateurs ou rôles dans la même commande .

Commande GRANT
La commande d’octroi de privilèges objets est la suivante :
GRANT privilège_objet [ (colonne ,...) ] ,...
ON [schéma.]objet
TO {utilisateur | rôle |PUBLIC},...
[WITH GRANT OPTION]

Suppression de privilèges
 Privilèges systèmes
REVOKE {privilège_système | rôle} , ...
FROM {utilisateur|rôle|PUBLIC},...
 Privilèges objets
REVOKE privilège_objet ,...
ON [schéma.]objet
FROM {utilisateur|rôle|PUBLIC} ,...
[CASCADE CONSTRAINTS]
 L’option CASCADE CONSTRAINTS supprime toutes les contraintes d’intégrité référentielles définies
sur les objets pour lesquels on retire les privilèges.

3. Les Rôles
- Un rôle est une agrégation de droits d’accès aux données et de privilèges système.
- Un rôle renforce la sécurité de données et réduit significativement la difficulté et le coût de son
administration.
- Un rôle peut être :
 créé
 modifié
 supprimé
 activé ou désactivé
- Oracle crée automatiquement des rôles qu’il attribue à SYS et SYSTEM.
- Ces rôles sont des privilèges système des anciennes versions :
 CONNECT,
 RESOURCE
 DBA.
- L’importation et l’exportation de données ont été mises dans les rôles respectifs :
 IMP_FULL_DATABASE
 EXP_FULL_DATABASE

Chapitre 4 La description de la sécurité oracle Leçon 2 2/3


MODULE : IMPLEMENTATION DES BASES DE DONNEES

1. La connexion a une instance :


SQL> CONNECT / AS SYSDBA
o RESULAT : connected
2. L’affichage de l’utilisateur en cours :
SQL>SHOW USER
o RESULAT : user est nom utilisateur
3. La création d’un utilisateur :
SQL> CREATE USER BDDG13S3 IDENTIFIED BY BD111 ;
o RESULAT : user créé
4. Changer le mot de passe d’un utilisateur :
SQL>alterUSER BDDG13S3 IDENTIFIED BY BD222 ;
o RESULAT : utilisateur modifié
5. La connexion à l’instance :
SQL> CONNECT / AS SYSDBA
o RESULAT : connected
6. La création d’une session a un utilisateur :
SQL>GRANT CREATE SESSION TO BDDG13S3 ;
o RESULAT : AUTORISATION DE PRIVILEGES <GRANT> ACCEPTEE
7. Le retraitd’une session a un utilisateur :
SQL>REVOKE CREATE SESSION FROM BDDG13S3 ;
o RESULAT : SUPPRESSIONDE PRIVILEGES <REVOKE> ACCEPTEE
8. La création des privilèges ‫الصالحيات‬à un utilisateur :
SQL> GRANT CONNECT, DBA TO BDDG13S3 ;
o RESULAT : AUTORISATION DE PRIVILEGES <GRANT> ACCEPTEE
9. La confirmation des changements :
SQL>COMMIT ;
o RESULAT : VALIDATION EFFECTUEE
10. Affecter un quota a un utilisateur non déterminé
SQL> ALTER USER BDDG13S3 QUOTA UNLIMITEDON USERS ;‫المساحة المخصصة للمستخدم‬
‫لتخزينالبيانات في الفضاء‬TABLESPACE ‫او المساحة المخصصة للمستخدم إلنشاءالكائنات على‬TABLESPACE
11. Affecter un quota a un utilisateur
SQL>ALTER USER BDDG13S3 QUOTA 0m ON USERS ;
12. Modifier un quota a un utilisateur
SQL>ALTER USER BDDG13S3 QUOTA 50m ON USERS ;
13. L’utilisateur est capable de créer une table
SQL>GRANT CREATE TABLE TO BDD ;
14. L’utilisateur est capable de sélectionner et mettre a jour une table dans la base de données
SQL>GRANT SELECT ANY TABLE,UPDATE ANY TABLE TO BDD ;
15. L’utilisateur affecte des privilèges a d’autres utilisateurs
SQL>GRANT CREATE TABLE TO BDD WHIT ADMIN OPTION ;
16. L’utilisateur affecte le privilège de création des tables àl’utilisateur arwa
17. SQL>GRANT CREATE TABLE TO ARWA ;
18. SQL>GRANT DELETE ANY TABLE TO BDD WITH ADMIN OPTION ;
19. SQL>GRANT DELETE ANY TABLE TO ARWA ;
20. SQL>GRANT DROP ANY TABLE TO ARWA ;
21. SQL>REVOKE DELETE ANY TABLE FROM BDD ;
22. SQL>SELECT DISTINCT PRIVILEGE FROM DBA_SYS_PRIVS ;

Chapitre 4 La description de la sécurité oracle Leçon 2 3/3

Vous aimerez peut-être aussi