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
- Professionnels OCI IAM, administrateurs de base de données, analystes et auditeurs de sécurité.
Objectifs
- Intégrez les journaux d'audit Oracle Data Safe aux métadonnées OCI IAM et Microsoft Entra ID, puis visualisez ces données enrichies dans OCI Logging Analytics. Ce processus améliore en fin de compte la transparence des audits et permet une traçabilité utilisateur détaillée de bout en bout dans les environnements cloud et de base de données.
Prérequis
-
Emplacement OCI : accès et droits d'accès pour les services OCI Logging Analytics, Oracle Data Safe, OCI Compute et OCI IAM.
-
Locataire Microsoft Entra ID : accès administrateur.
-
Accès à OCI IAM : droits d'accès de configuration nécessaires.
-
Outils requis : CLI OCI, CLI Azure,
jq,csvkit,pandaset LibreOffice (ou similaire). -
Configuration de Logging Analytics : assurez-vous qu'OCI Logging Analytics est activé et que l'agent de gestion est installé et configuré. Pour plus d'informations, reportez-vous aux sections suivantes :
-
Instance de calcul OCI : module d'extension d'agent de gestion activé.
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
-
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.

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

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

-
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.

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.
-
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.shSortie :
[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.csvhead -3 azure_ad_users.csvSortie :
[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" -
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.csvSortie :
[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:~]$ -
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.csvSortie :
[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:~]$ -
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.csvSortie :
[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:~]$ -
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.csvSortie :
[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
-
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 -
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.
-
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.

-
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.

-
Cliquez sur Test d'analyseur et procédez comme suit :
-
Passez à Test d'analyseur.
-
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é.
-
Vérifiez que la colonne Timestamp est résolue correctement (aucune erreur d'analyse, date/fuseau horaire correct).
-
Cliquez sur Créer un analyseur pour enregistrer.

-
-
-
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.

-
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é.
-
Accédez à la console OCI, accédez à Logging Analytics, à Administration et cliquez sur Sources.

-
Sur la page de détails Source, sélectionnez le compartiment contenant les entités à associer.
-
Cliquez sur Entités non associées pour répertorier les entités du type correct qui sont disponibles/admissibles à l'association.

-
Sélectionnez une entité dans Entités non associées et cliquez sur Ajouter une association.
-
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.


-
Cliquez sur Soumettre.

-
-
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.

Afficher l'explorateur de journaux :

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.
-
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
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).

-
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
Cliquez sur Actions, enregistrez la recherche comme indiqué dans l'image suivante et ajoutez-la au tableau de bord existant.

-
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'
Cliquez sur Actions, enregistrez la recherche comme indiqué dans l'image suivante et ajoutez-la au tableau de bord existant.

-
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).
Liens connexes
Accusés de réception
-
Auteurs - Alex Kovuru (architecte cloud principal), Anuj Tripathi (architecte de solutions principal)
-
Contributeur - Indiradarshni Balasundaram (ingénieur cloud senior)
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.
Integrate Oracle Data Safe and OCI Logging Analytics with OCI IAM and Microsoft Entra ID
G39709-02
Copyright ©2025, Oracle and/or its affiliates.