L'anonymisation des données avec Oracle Data Masking

Dernièrement pour externaliser une base de production dans un autre environnement j’ai pu me confronter à une fonctionnalité d’Oracle que je n’avais pas eu l’occasion jusqu’à lors d’utiliser : Oracle Data Masking.

Pour faciliter ces opérations, Oracle a développé un module spécifique dans la console d’administration OEM qui permet de masquer les informations sensibles de la base de données. Dans notre exemple le format d’anonymisation de la colonne respecte la règle suivante :

  1. Format fixe : DESC_
  2. Valeur numérique aléatoire comprise entre 100000000 et 200000000

Toutes les opérations s’effectueront à partir de la console OEM Cloud Control 12c sous le compte utilisateur ‘sysman’ selon le séquencement suivant :

  1. Définition du modèle de données de l’application
  2. Définition du format de la colonne à masquer
  3. Ajout des colonnes à masquer
  4. Création du format d’anonymisation des colonnes
  5. Génération du script d’anonymisation
  6. Lancement du script d’anonymisation

Définition du modèle de données de l’application

Sous OEM Cloud Control pour la base de données à traiter ‘EASYPRD’ sélectionner au niveau de l’Onglet Security le menu Application DataModels.
Dans la fenêtre, il faut alors dérouler le menu Actions et cliquer sur ‘Add’, une fenêtre s’affiche pour renseigner les informations de l’application : EASYTEAM_MASKING
Ano_1Puis vous devez renseigner les informations de l’utilisateur de connexion à la base ainsi que le schéma à traiter
Ano_2La dernière fenêtre vous propose le lancement du job de collecte des informations sur les tables du schéma en actionnant le bouton ‘Submit’
Ano_3

Définition du format de la colonne à masquer

Au niveau de la fenêtre ‘Application Data Models’ il faut dérouler le menu Actions et sélectionner ‘Sensitive Column Type’ , une fenêtre s’affiche pour renseigner les informations du format de la colonne.
Sélectionner le bouton « create »
Ano_4Renseigner le nom ainsi que le format de la colonne puis valider par OK répéter cette même opération pour les autre colonnes par exemple DESCRIPTION & ENTITY_DESC

 Ajout des colonnes à masquer

Dans la fenêtre du modèle d’application ‘Sensitive Columns’ sélectionner l’onglet Actions puis ‘Add Sensitive Columns’
Ano_5Se positionner sur la colonne concernée et ne pas oublier de préciser de type de colonne : DESCRIPTION, CONTRACT_DESC, ENTITY_DESC puis valider par OK
A ce stade il faudra renseigner les colonnes à masquer pour toutes les tables.
Ano_6A la fin de la déclaration des colonnes à masquer il faut enregistrer les données par le bouton « Save and Return »

 Création du format du Data Masking

Sous OEM pour la base de données à traiter EASYPRD sélectionner au niveau de l’Onglet Security le menu Data Masking
Sélectionner le bouton Create
Ano_7Puis compléter le nom de l’anonymisation avec le nom de la colonne à masquer ENTITY_DESC et renseigner le nom du modèle de données de l’application B3LPRD_MASKING pour ensuite cliquer sur le bouton ADD
Ano_8Renseigner le schéma PRD_J15 et le type de la colonne à masquer ENTITY_DESC pour ensuite cliquer sur Search
Ano_9Cliquer alors sur Select All puis Define Format and Add
Ano_10Sélectionner le format ‘Fixed String’ puis cliquer sur Add : Format fixe = ‘DESC_’
Ano_11Sélectionner le format ‘Random Numbers’ puis cliquer sur Add :
Renseigner les valeurs entre 100000000 200000000 puis cliquer sur OK
Ano_12Puis cliquer sur OK

Ano_13Génération du script d’anonymisation

Sélectionner le bouton Generate Script
Ano_14Cocher la case In Place Masking et Named puis soumettre le Job

Ano_15 Lancement du script d’anonymisation

Maintenant il faut ordonnancer l’anonymisation de la colonne en sélectionnant le bouton Schedule Job
Ano_16Cocher les cases In-Place Masking et les mots de passe Named, Selected Target puis soumettre le job par Submit
Ano_17Répéter ces mêmes opérations pour CONTRACT_DESC et DESCRIPTION