Exemple d’implémentation de Oracle Database Vault

Pour continuer notre série d’articles sur la sécurité des données, je vous propose de mettre en œuvre d’Oracle Database Vault. Database Vault est une nouvelle option d’Oracle Database 10g (11.1.0.6) Enterprise Edition qui a été « backportée » sur Oracle 10g et Oracle 9i. Dans cette article, je vous propose :

  • d’installer Oracle Database Vault
  • de visualiser un exemple de ségrégation des privilèges DBA sur les données applicatives

Installer Oracle Database Vault (11g, 11.1.0.6)

Pour configurer Database Vault sur une base de données existante, il faut que le logiciel soit installé avec l’option et de relancer dbca et sélectionner : « Configure Database Options » :
Sélectionnez le nom de la base de données à configurer :


Saisissez les informations de connexion du compte propriétaire de Database Vault. Vous pouvez aussi créer un compte administrateur DB Vault différent :

Sélectionnez le type de serveurs « Dedicated Server Mode » :

Sélectionnez OK, puis  OK encore ; la base de données va sera redémarrée et votre configuration prise en compte :


La configuration est terminée…

Exemple de mise en œuvre

Un exemple simple de mise en évidence de l’intérêt d’un tel outil Oracle Database Vault : restreindre l’accès au DBA en lui interdisant le droit de faire un SELECT sur les données sensibles de l’entreprise, comme par exemple les données RH (employés, salaires, etc ..)

Sans Oracle Database Vault,

Le DBA (ou toute personne disposant des privilèges suffisants) peut accéder à des  informations confidentielles comme le salaire des collaborateurs :

Select "EMPLOYEES"."FIRST_NAME" as "FIRST_NAME",
	 "EMPLOYEES"."LAST_NAME" as "LAST_NAME",
	 "EMPLOYEES"."SALARY" as "SALARY"
 from	 "EMPLOYEES" "EMPLOYEES" ;
FIRST_NAME LAST_NAME SALARY
---------- --------- ------
Steven     King       24000
Neena      Kochhar    17000
Lex        De Haan    17000
Alexander  Hunold      9000
Bruce      Ernst       6000
David      Austin      4800
...

Avec Oracle Database Vault, on peut restreindre les accès pour les DBAs

Connectez-vous sur la console d’administation Oracle Database Vault à partir d’une URL comme celle-ci: https://hostname:port/dva/login.jsp :
Créez un domaine sécurisé accessible uniquement aux utilisateurs des ressources humaines :
Définissez un périmètre d’objets (Tables, Vue..) à sécuriser :Ajoutez les règles pour définir le domaine (utilisateurs, localisation IP, horaires, etc ..) :
Maintenant l’accès n’est plus autorisé que pour les utilisateurs des ressources humaines :

Vérification

Je ré-exécute la requête initiale en tant que DBA :

Select "EMPLOYEES"."FIRST_NAME" as "FIRST_NAME",
	 "EMPLOYEES"."LAST_NAME" as "LAST_NAME",
	 "EMPLOYEES"."SALARY" as "SALARY"
 from	 "EMPLOYEES" "EMPLOYEES" ;

L’accès aux données sensibles est désormais sécurisé :

Si vous voulez en savoir plus, je vous invite à faire un tour sur les « Oracle By Exemple » qui concernent Database Vault et les options de sécurité.

Et voilà, je vous dis à bientôt pour continuer cette série en dans l’intervalle, je vous souhaite une très bonne année 2010 !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *