Integra Oracle Data Safe e OCI Logging Analytics con OCI IAM e Microsoft Entra ID

Introduzione

La protezione dei database Oracle in ambienti ibridi e multicloud richiede una visibilità completa sull'attività degli utenti, soprattutto quando l'autenticazione viene gestita esternamente da Microsoft Azure Entra ID e Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Questa esercitazione descrive un'integrazione critica che unifica i log di audit di Oracle Data Safe con metadati IAM OCI avanzati provenienti da questi provider di identità centralizzati. Il risultato è un'impronta utente completa, che offre una tracciabilità end-to-end senza precedenti per tutte le interazioni del database, indipendentemente dall'origine di autenticazione, migliorando così la sicurezza e semplificando la gestione degli accessi.

Perché abbiamo bisogno di questo?

I log di audit del database tradizionali spesso non dispongono del contesto di identità cruciale necessario per tracciare le azioni a utenti cloud specifici, in particolare quando l'autenticazione avviene tramite provider di identità esterni. Questa integrazione affronta direttamente questa lacuna. Collegando Oracle Data Safe e OCI Logging Analytics con i metadati IAM OCI di Microsoft Azure Entra ID e OCI IAM, le organizzazioni ottengono una maggiore trasparenza degli audit, una migliore tracciabilità degli utenti nei sistemi ibridi e un monitoraggio centralizzato delle attività di accesso. Questa registrazione unificata e basata sull'identità è fondamentale per rafforzare la postura della sicurezza, semplificare le indagini di audit e soddisfare rigorosi requisiti di conformità negli ambienti aziendali moderni.

Audience

Obiettivi

Prerequisiti

Task 1: creare un report di audit Oracle Data Safe personalizzato per gli utenti autenticati esternamente in tutti i database

  1. Eseguire il login a OCI Console, andare a Oracle Databases, Data Safe - Audit attività e fare clic su Report di audit - Tutte le attività in Risorse correlate.

    Autonomous Database

  2. Fare clic su Gestisci colonne e selezionare le colonne necessarie.

    Autonomous Database

  3. In Crea report personalizzato, immettere i dettagli relativi a Nome visualizzato, Descrizione e Compartimento.

    Autonomous Database

  4. In Gestisci schedulazione report selezionare Giornaliero nell'elenco a discesa Frequenza schedulazione e fare clic su Salva schedulazione.

    Autonomous Database

Task 2: Impostare l'istanza di OCI Compute per la raccolta e la correlazione dei dati

In questo task, imposteremo l'istanza di OCI Compute per recuperare i dettagli dell'identità utente da Microsoft Entra ID e OCI IAM e per elaborare i report di audit di Oracle Data Safe. L'obiettivo finale è correlare gli ID utente esterni nei log di audit con metadati di identità integrati, fornendo un footprint utente completo.

Nota: scaricare gli script seguenti da qui: scripts.

  1. Recupera utenti Microsoft Entra ID.

    Eseguire i comandi riportati di seguito per recuperare le informazioni utente da Microsoft Entra ID utilizzando l'API Microsoft Graph (fetch_azure_ad_users.sh).

    ./fetch_azure_ad_users.sh
    

    Output:

    [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
    

    Output:

    [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. Recuperare gli utenti IAM OCI.

    Eseguire i comandi riportati di seguito per ottenere i dettagli utente da IAM OCI utilizzando l'interfaccia CLI OCI (oci_user_list_to_csv.sh).

    ./oci_user_list_to_csv.sh
    head -3 oci_iam_users.csv
    

    Output:

    [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. Unisci dati utente.

    Consolida i dati utente recuperati da entrambe le origini in un unico file CSV standardizzato (merge_users_csv.sh).

    ./merge_users_csv.sh
    head -3 merged_users.csv
    

    Output:

    [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. Elaborare il report di audit Data Safe.

    Scarica, converte, pulisce e standardizza il report di audit più recente da Oracle Data Safe (process_data_safe_report.sh).

    ./process_data_safe_report.sh
    head -3 cleaned_audit_records_final.csv
    

    Output:

    [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. Correla dati

    Arricchire i log di audit di Oracle Data Safe correlando gli ID utente esterni con i dati utente IAM OCI uniti (DataSafe_External_Users_Audit_Dashboard.sh).

    ./DataSafe_External_Users_Audit_Dashboard.sh
    head -3 DataSafe_External_Users_Audit_Dashboard.csv
    

    Output:

    [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:~]$
    

    Si utilizzerà un insieme di script della shell forniti per automatizzare questi processi. Assicurarsi che questi script vengano scaricati nell'istanza di OCI Compute. Per garantire aggiornamenti quotidiani dei dashboard, pianificare questi script da eseguire tramite un job cron nell'istanza di OCI Compute. L'esecuzione di questo job deve essere pianificata dopo l'ora di generazione del report Oracle Data Safe personalizzato.

Task 3: Configura OCI Logging Analytics

  1. Preparare l'host a trasmettere i log a OCI Logging Analytics.

    Eseguire il comando seguente per assicurarsi che i log possano essere letti da oracle-cloud-agent.

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

    Output previsto:

    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. Creare un parser delimitato per il file CSV di audit.

    Creeremo un parser che converte ogni riga CSV in campi di log strutturati, OCI Logging Analytics può filtrare, arricchire e visualizzare.

    1. Andare a OCI Console, andare a Observability & Management, Logging Analytics, Amministrazione, Parser, Crea parser e immettere le informazioni necessarie come mostrato nell'immagine seguente.

      Autonomous Database

    2. Fare clic su Campi e mappare la colonna intestazione al nome dei campi di OCI Logging Analytics.

      Per ogni colonna CSV, selezionare un campo esistente o creare un campo definito dall'utente (UDF) se non esiste alcun campo adatto. Utilizzare l'icona + per creare in base alle proprie esigenze.

      Autonomous Database

    3. Fare clic su Test parser e attenersi alla procedura riportata di seguito.

      1. Passare a Test parser.

      2. Assicurarsi che l'analisi delle linee campione sia riuscita. La griglia di anteprima deve mostrare ogni colonna mappata al campo selezionato.

      3. Verificare che la colonna Indicatore orario venga risolta correttamente (nessun errore di analisi; data/fuso orario corretti).

      4. Fare clic su Crea parser per salvare.

      Autonomous Database

  3. Creare un'origine file che utilizzi il parser.

    Un'origine indica a OCI Logging Analytics dove trovare i log (modelli di percorso, metodo di raccolta) e come interpretarli (parser e metadati).

    Andare a OCI Console, andare a Osservabilità e gestione, Logging Analytics, Amministrazione, Origini, Crea origine e immettere le informazioni necessarie come mostrato nell'immagine riportata di seguito, quindi fare clic su Crea origine.

    Autonomous Database

  4. Associa l'origine alle entità e al gruppo di log.

    Le associazioni attivano il processo di raccolta: l'origine è collegata a entità specifiche (ad esempio gli host) e i log raccolti vengono instradati a un gruppo di log designato.

    1. Andare a OCI Console, andare a Logging Analytics, Amministrazione e fare clic su Origini.

      Autonomous Database

    2. Nella pagina dei dettagli Origine, selezionare Compartimento contenente le entità che si desidera associare.

    3. Fare clic su Entità non associate per elencare le entità del tipo corretto disponibili o idonee per l'associazione.

      Autonomous Database

    4. Selezionare quella in Entità non associate e fare clic su Aggiungi associazione.

    5. Selezionare un gruppo di file di log esistente, se disponibile. In questa esercitazione verrà creato il nuovo gruppo di log facendo clic su Crea gruppo di log.

      Autonomous Database

      Autonomous Database

    6. Fare clic su Sottometti.

      Autonomous Database

  5. Una volta avviata l'inclusione, verificare che i record siano ricercabili e che i campi vengano popolati come previsto.

    Autonomous Database

    Visualizza Log Explorer:

    Autonomous Database

Task 4: Esplora i log e crea un dashboard con tre widget

Utilizza OCI Logging Analytics per visualizzare i log di audit di Oracle Data Safe arricchiti con metadati di identità esterni. Crea un dashboard con Microsoft Azure User Footprint Pie Chart, OCI User Footprint Pie Chart e una vista dettagliata della tabella di audit.

  1. Creazione del widget Grafico a torta impronte utente di Azure.

    Eseguire la query Log Explorer seguente:

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

    Autonomous Database

    Fare clic su Azioni e fare clic su Salva per eseguire la ricerca come mostrato nell'immagine seguente e aggiungerla al dashboard. Se il dashboard non esiste, creare un nuovo dashboard.

    Autonomous Database

  2. Crea widget Grafico a torta impronta utente OCI.

    Eseguire la query Log Explorer seguente:

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

    Autonomous Database

    Fare clic su Azioni, Salva la ricerca come mostrato nell'immagine seguente e aggiungerla al dashboard esistente.

    Autonomous Database

  3. Vista Crea tabella audit dettagliata.

    Eseguire la query Log Explorer seguente:

    '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

    Fare clic su Azioni, Salva la ricerca come mostrato nell'immagine seguente e aggiungerla al dashboard esistente.

    Autonomous Database

  4. Visualizza il dashboard salvato.

    Andare a OCI Console, andare a Logging Analytics, Amministrazione e Dashboard e fare clic sul dashboard creato (Demo_AZ_OCI_DS_DashBoard).

    Autonomous Database

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.