Intégration d'Oracle Data Safe et d'OCI Logging Analytics avec OCI IAM et Microsoft Entra ID

Introduction

La sécurisation des bases de données Oracle dans des environnements hybrides et multiclouds exige une visibilité complète sur l'activité des utilisateurs, en particulier lorsque l'authentification est gérée en externe par Microsoft Azure Entra ID et Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Ce tutoriel décrit une intégration critique qui unifie les journaux d'audit Oracle Data Safe avec des métadonnées OCI IAM enrichies provenant de ces fournisseurs d'identités centralisés. Le résultat est une empreinte utilisateur complète, offrant une traçabilité de bout en bout inégalée pour toutes les interactions de base de données, quelle que soit la source d'authentification, améliorant ainsi la sécurité et simplifiant la gestion des accès.

Pourquoi en avons-nous besoin ?

Les journaux d'audit de base de données traditionnels ne disposent souvent pas du contexte d'identité essentiel nécessaire pour retracer les actions vers des utilisateurs cloud spécifiques, en particulier lorsque l'authentification se produit via des fournisseurs d'identités externes. Cette intégration répond directement à cette lacune. En corrélant Oracle Data Safe et OCI Logging Analytics avec les métadonnées OCI IAM de Microsoft Azure Entra ID et OCI IAM, les entreprises bénéficient d'une transparence d'audit améliorée, d'une meilleure traçabilité des utilisateurs sur les systèmes hybrides et d'une surveillance centralisée des activités d'accès. Cette journalisation unifiée et tenant compte des identités est essentielle pour renforcer la posture de sécurité, rationaliser les enquêtes d'audit et répondre aux exigences de conformité strictes des environnements d'entreprise modernes.

Public

Objectifs

Prérequis

Tâche 1 : création d'un rapport d'audit Oracle Data Safe personnalisé pour les utilisateurs authentifiés en externe dans toutes les bases de données

  1. Connectez-vous à la console OCI, accédez à Bases de données Oracle, à Data Safe – Audit d'activité et cliquez sur Rapports d'audit – Toutes les activités sous Ressources associées.

    Autonomous Database

  2. Cliquez sur Gérer les colonnes et sélectionnez les colonnes requises.

    Autonomous Database

  3. Dans Créer un rapport personnalisé, entrez le nom d'affichage, la description et les détails du compartiment.

    Autonomous Database

  4. Dans Gérer la programmation de rapport, dans la liste déroulante Fréquence de programmation, sélectionnez Tous les jours et cliquez sur Enregistrer la programmation.

    Autonomous Database

Tâche 2 : configuration de l'instance OCI Compute pour la collecte et la corrélation des données

Dans cette tâche, nous allons configurer votre instance OCI Compute pour extraire les détails d'identité utilisateur à partir de Microsoft Entra ID et d'OCI IAM, et pour traiter les rapports d'audit Oracle Data Safe. L'objectif ultime est de corréler les ID utilisateur externes dans les journaux d'audit avec les métadonnées d'identité enrichies, en fournissant une empreinte utilisateur complète.

Remarque : téléchargez les scripts suivants à partir d'ici : scripts.

  1. Extraire les utilisateurs Microsoft Entra ID.

    Exécutez les commandes suivantes pour extraire les informations utilisateur à partir de Microsoft Entra ID à l'aide de l'API Microsoft Graph (fetch_azure_ad_users.sh).

    ./fetch_azure_ad_users.sh
    

    Sortie :

    [oracle@linux-bastion:~]$ ./fetch_azure_ad_users.sh
    Fetching Access Token...
    Calling Graph API for users list...
    Parsing users and converting to CSV...
    Users list saved to: azure_ad_users.csv
    
    head -3 azure_ad_users.csv
    

    Sortie :

    [oracle@linux-bastion:~]$ head -3 azure_ad_users.csv
    "id","displayName","userPrincipalName","mail"
    "b41b0688-c07xxxxxxx3-e9b0db0c1107","Alex Kovuru","akovuruxxxxxxjtripaigmail.onmicrosoft.com","alex.xxxuru@gmail.com"
    "7eb35b90-dc0xxxxxxxxxx-bc0b-48789368e9cf","Anuj Tripathi","anujtxxxxxai_gmail.com#EXT#@anujtripaigmaixxmicrosoft.com","anujtrxxx@gmail.com"
    
  2. Extraire les utilisateurs OCI IAM.

    Exécutez les commandes suivantes pour obtenir des détails utilisateur à partir d'OCI IAM à l'aide de l'interface de ligne de commande OCI (oci_user_list_to_csv.sh).

    ./oci_user_list_to_csv.sh
    head -3 oci_iam_users.csv
    

    Sortie :

    [oracle@linux-bastion:~]$ ./oci_user_list_to_csv.sh
    CSV file generated: oci_iam_users.csv
    [oracle@linux-bastion:~]$ head -3 oci_iam_users.csv
    id,name,email
    "ocid1.user.oc1..aaaaaaaaqv3tai2mxxxxxxxxxxepkk5hrfinedvj67ieb7phkirwxfeupv3cbq","alexk",alex.kovuxxx@oracle.com
    "ocid1.user.oc1..aaaaaaaaoq7ypwb5xxxxxxxxx2l5i6yjlnsedvkcni3dxdjdkkw5lyf73lma","ag-admin","anujtripaxxxx2@gmail.com"
    [oracle@linux-bastion:~]$
    
  3. Fusionner les données utilisateur.

    Consolidez les données utilisateur extraites des deux sources dans un seul fichier CSV standardisé (merge_users_csv.sh).

    ./merge_users_csv.sh
    head -3 merged_users.csv
    

    Sortie :

    [oracle@linux-bastion:~]$ ./merge_users_csv.sh
    Merged CSV created: merged_users.csv
    [oracle@linux-bastion:~]$ head -3 merged_users.csv
    id,displayName,userPrincipalName,mail,source
    "7eb35b90-dc0d-4135-bc0b-48789368e9cf","Anuj Tripathi","anujtrip.ai_xxx.com#EXT#@anujtripaigmail.onmicrosoft.com","anujtrixxxx@gmail.com",AzureAD
    "ocid1.user.oc1..aaaaaaaaqv3tai2miu6vtgxxxxxxxxxxxfinedvj67ieb7phkirwxfeupv3cbq","alexk",null,"alex.kovxxxxu@oracle.com",OCI
    [oracle@linux-bastion:~]$
    
  4. Rapport d'audit de processus Data Safe.

    Téléchargez, convertissez, nettoyez et standardisez le dernier rapport d'audit à partir d'Oracle Data Safe (process_data_safe_report.sh).

    ./process_data_safe_report.sh
    head -3 cleaned_audit_records_final.csv
    

    Sortie :

    [oracle@linux-bastion:~]$ ./process_data_safe_report.sh
    Downloading report from OCI Data Safe...
    Converting XLS to CSV...
    convert /home/oracle/DS_AZ_OCI_Custom_External_User_Report_202507240745.xls -> /home/oracle/DS_AZ_OCI_Custom_External_User_Report_202507240745.csv using filter : Text - txt - csv (StarCalc)
    Cleaning the CSV file...
    Extracting specific columns...
    Post-processing the final CSV...
    Final post-processing complete.
    [oracle@linux-bastion:~]$ head -3 cleaned_audit_records_final.csv
    Target,DB user,OS user,Client host,Client ip,Event,Operation status,Operation time,External user
    DBS23AZPDB,ALLUSERS,oracle,linux-bastion,129.146.107.120,LOGOFF BY CLEANUP,SUCCESS,2025-07-10T21:07:37Z,b41b0688-c07e-416d-bf13-xxxxxxxxxc1107
    DBS23AZPDB,ALLUSERS,oracle,linux-bastion,129.146.107.120,CREATE TABLE,SUCCESS,2025-07-10T19:59:07Z,b41b0688-c07e-416d-bf13-xxxxxxxx0c1107
    [oracle@linux-bastion:~]$
    
  5. Corréler les données

    Enrichissez les journaux d'audit Oracle Data Safe en corrélant les ID utilisateur externes avec les données utilisateur OCI IAM fusionnées (DataSafe_External_Users_Audit_Dashboard.sh).

    ./DataSafe_External_Users_Audit_Dashboard.sh
    head -3 DataSafe_External_Users_Audit_Dashboard.csv
    

    Sortie :

    [oracle@linux-bastion:~]$ ./DataSafe_External_Users_Audit_Dashboard.sh
    Correlated Data : DataSafe_External_Users_Audit_Dashboard.csv
    [oracle@linux-bastion:~]$  head -3 DataSafe_External_Users_Audit_Dashboard.csv
    Target,DB user,OS user,Client host,Client ip,Event,Operation status,Operation time,External user,displayName,mail,source
    DBS23OCI,ANUJ,oracle,linux-bastion,10.0.0.124,LOGON,FAILURE,2025-07-02T17:38:58Z,ocid1.user.oc1..aaaaaaaaam4ulylhebm4zwtiaqsy4xxxxxxxwu6imevy3lihnkejs7h43nlknkywq,anuj.t.tripaxxxx@oracle.com,anuj.t.tripaxxxx@oracle.com,OCI
    DBS23AZPDB,ALLUSERS,oracle,linux-bastion,129.146.107.120,COMMIT,SUCCESS,2025-07-10T19:34:38Z,b41b0688-c07e-416d-bf13-e9b0dbxxx107,Alex Kovuru,alex.kovuruxx@gmail.com,AzureAD
    [oracle@linux-bastion:~]$
    

    Vous allez utiliser un ensemble de scripts shell fournis pour automatiser ces processus. Assurez-vous que ces scripts sont téléchargés vers l'instance OCI Compute. Pour garantir des mises à jour quotidiennes du tableau de bord, planifiez ces scripts afin qu'ils s'exécutent via un travail cron sur votre instance OCI Compute. L'exécution de ce travail doit être programmée après l'heure de génération du rapport Oracle Data Safe personnalisé.

Tâche 3 : configurer OCI Logging Analytics

  1. Préparez l'hôte à transmettre des journaux à OCI Logging Analytics.

    Exécutez la commande suivante pour vous assurer que les journaux peuvent être lus par oracle-cloud-agent.

    sudo -u oracle-cloud-agent /bin/bash -c "head -3 /home/oracle/DataSafe_External_Users_Audit_Dashboard.csv"
    

    Sortie attendue :

    Target,DB user,OS user,Client host,Client ip,Event,Operation status,Operation time,External user,displayName,mail,source
    DBS23OCI,GLOBAL_USER,labuser,clienthost,49.37.181.25,LOGOFF BY CLEANUP,SUCCESS,2025-07-17T15:26:10Z,ocid1.user.oc1..aaaa...,alexk,alexxxx@example.com,OCI
    DBS23OCI,GLOBAL_USER,labuser,clienthost,49.37.181.25,COMMIT,SUCCESS,2025-07-17T15:15:02Z,ocid1.user.oc1..aaaa...,alexk,alexxxxxx@example.com,OCI
    
  2. Créez un parseur délimité pour le fichier CSV d'audit.

    Nous allons créer un parseur qui convertit chaque ligne CSV en champs de journal structurés. OCI Logging Analytics peut filtrer, enrichir et visualiser.

    1. Accédez à la console OCI, accédez à Observabilité et gestion, Logging Analytics, Administration, Analyseurs, Créer un analyseur et entrez les informations requises comme indiqué dans l'image suivante.

      Autonomous Database

    2. Cliquez sur Champs et mettez en correspondance la colonne d'en-tête avec le nom des champs d'OCI Logging Analytics.

      Pour chaque colonne CSV, sélectionnez un champ existant ou créez un champ défini par l'utilisateur s'il n'existe aucun champ approprié. Utilisez l'icône + pour créer le cas échéant.

      Autonomous Database

    3. Cliquez sur Test d'analyseur et procédez comme suit :

      1. Passez à Test d'analyseur.

      2. Vérifiez que l'analyse des lignes d'échantillon a réussi. La grille d'aperçu doit afficher chaque colonne mappée au champ sélectionné.

      3. Vérifiez que la colonne Timestamp est résolue correctement (aucune erreur d'analyse, date/fuseau horaire correct).

      4. Cliquez sur Créer un analyseur pour enregistrer.

      Autonomous Database

  3. Créez une source de fichier qui utilise l'analyseur.

    Une source indique à OCI Logging Analytics où trouver les journaux (modèles de chemin, méthode de collecte) et comment les interpréter (analyseur et métadonnées).

    Accédez à la console OCI, accédez à Observabilité et gestion, Logging Analytics, Administration, Sources, Créer une source, entrez les informations requises comme indiqué dans l'image suivante et cliquez sur Créer une source.

    Autonomous Database

  4. Associez la source aux entités et au groupe de journaux.

    Les associations activent le processus de collecte : la source est liée à des entités spécifiques (telles que des hôtes) et les journaux collectés sont acheminés vers un groupe de journaux désigné.

    1. Accédez à la console OCI, accédez à Logging Analytics, à Administration et cliquez sur Sources.

      Autonomous Database

    2. Sur la page de détails Source, sélectionnez le compartiment contenant les entités à associer.

    3. Cliquez sur Entités non associées pour répertorier les entités du type correct qui sont disponibles/admissibles à l'association.

      Autonomous Database

    4. Sélectionnez une entité dans Entités non associées et cliquez sur Ajouter une association.

    5. Sélectionnez un groupe d'écritures existant, si disponible. Dans ce tutoriel, nous allons créer le groupe de journaux en cliquant sur Créer un groupe de journaux.

      Autonomous Database

      Autonomous Database

    6. Cliquez sur Soumettre.

      Autonomous Database

  5. Une fois l'ingestion démarrée, vérifiez que les enregistrements peuvent faire l'objet d'une recherche et que les champs sont renseignés comme prévu.

    Autonomous Database

    Afficher l'explorateur de journaux :

    Autonomous Database

Tâche 4 : Explorer les journaux et créer un tableau de bord avec trois widgets

Utilisez OCI Logging Analytics pour visualiser les journaux d'audit Oracle Data Safe enrichis avec des métadonnées d'identité externes. Créez un tableau de bord avec le graphique à secteurs d'empreinte utilisateur Microsoft Azure, le graphique à secteurs d'empreinte utilisateur OCI et une vue détaillée de la table d'audit.

  1. Créer un widget de graphique à secteurs d'empreinte utilisateur Azure.

    Exécutez la requête suivante de l'explorateur de journaux :

    'Log Source' = Demo_AZ_OCI_DS_Source  | where Source = AzureAD | stats count as Azure_Events by 'External User' | sort -Azure_Events
    

    Autonomous Database

    Cliquez sur Actions et Enregistrer la recherche comme indiqué dans l'image suivante et ajoutez-la au tableau de bord (si le tableau de bord n'existe pas, créez un nouveau tableau de bord).

    Autonomous Database

  2. Créer un widget de graphique à secteurs d'empreinte utilisateur OCI.

    Exécutez la requête suivante de l'explorateur de journaux :

    'Log Source' = Demo_AZ_OCI_DS_Source  | where Source = OCI | stats count as OCI_Events by 'External User' | sort -OCI_Events
    

    Autonomous Database

    Cliquez sur Actions, enregistrez la recherche comme indiqué dans l'image suivante et ajoutez-la au tableau de bord existant.

    Autonomous Database

  3. Créer une vue de table d'audit détaillée.

    Exécutez la requête suivante de l'explorateur de journaux :

    'Log Source' = Demo_AZ_OCI_DS_Source | fields 'Target Name', db_user, OS_user, Client, 'Host IP Address (Client)', Event, Operation_status, externalId, 'External User', mail, Source, -Entity, -'Entity Type', -'Host Name (Server)', -'Problem Priority', -Label, -'Log Source'
    

    Autonomous Database

    Cliquez sur Actions, enregistrez la recherche comme indiqué dans l'image suivante et ajoutez-la au tableau de bord existant.

    Autonomous Database

  4. Afficher le tableau de bord enregistré.

    Accédez à la console OCI, accédez à Logging Analytics, à Administration, à Tableaux de bord et cliquez sur le tableau de bord créé (Demo_AZ_OCI_DS_DashBoard).

    Autonomous Database

Accusés de réception

Ressources de formation supplémentaires

Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.