Sottoporre a audit la sicurezza, le modifiche degli artifact e gli eventi LCM

Gli amministratori dei servizi possono abilitare la funzione di audit della sicurezza per tenere traccia delle modifiche apportate al server Essbase.

In base ai parametri specificati in un file dei criteri di audit, Essbase raccoglie le informazioni relative alle modifiche apportate alla sicurezza, agli artifact, agli eventi LCM e alle istruzioni MaxL eseguite (comprese le importazioni) a livello di sistema. Essbase consolida le informazioni registrate in un file di log di audit oppure le trasmette a un database esterno. Per ogni evento, le informazioni registrate includono l'ora, il client, l'utente, gli artifact interessati, la durata, l'ID, il nome dell'applicazione e del database, lo stato e una descrizione.

Per abilitare l'audit a livello di server di questi eventi si utilizza l'impostazione di configurazione AUDITTRAIL SECURITY di Essbase.

Workflow per l'abilitazione dell'audit della sicurezza per il server Essbase

In questo flusso di lavoro viene illustrato come abilitare l'audit della sicurezza nel server Essbase utilizzando AUDITTRAIL SECURITY. Dopo aver abilitato l'audit, definire EssbaseSecurityAuditLogPolicy. È possibile impostare Essbase per la scrittura dei record di audit in un file CSV o per farli fluire in un database esterno.

In questo workflow, il database Oracle viene utilizzato come database esterno, ma è possibile utilizzare anche SQL Server, MySQL o DB2.

Per completare il workflow è necessario essere un amministratore di sistema e accedere al <percorso di configurazione Essbase> sul computer server Essbase.

In questo percorso sono presenti i file che sarà necessario modificare:
  • file di configurazione essbase.cfg;
  • file predefinito dei criteri di audit della sicurezza.
  1. Abilitare l'audit degli eventi del server aggiungendo la configurazione seguente al file essbase.cfg sul computer server Essbase:

    AUDITTRAIL SECURITY

    Dopo aver aggiornato la configurazione, riavviare Essbase.

    Vedere Impostare le proprietà di configurazione a livello di server e Avviare, arrestare e controllare i server.

  2. Sul server Essbase viene creato un file di criteri predefinito (XML). Questo file, EssbaseSecurityAuditLogPolicy.xml, si trova nel percorso specificato durante la fase di configurazione della distribuzione per la memorizzazione della configurazione Essbase (il <percorso di configurazione Essbase>, che è anche la posizione di essbase.cfg).

    Il file di criteri predefinito creato contiene quanto riportato di seguito.
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>CSV</audit_sink_type>
             <max-file-size>50000000</max-file-size>
             <roll-nos>100</roll-nos>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
    
    CSV è il tipo di destinazione dei dati di audit predefinito. Se si utilizza il tipo di destinazione dei dati di audit predefinito (CSV) e si desidera verificare che i dettagli dell'audit vengano scritti nel file CSV del log di audit della sicurezza, effettuare le operazioni riportate di seguito.
    1. Eseguire un'azione che sia un evento sottoposto a audit, ad esempio la creazione di un'applicazione. È possibile selezionare qualsiasi azione elencata nella sezione <audit_events_to_capture> del criterio.
    2. Collegarsi tramite SSH al server Essbase.
    3. Andare a <DOMAIN_HOME>/servers/serverName/logs/essbase/. Se non si sa dove si trova <DOMAIN_HOME>, vedere Posizioni degli ambienti nella piattaforma Essbase.
    4. Aprire ed esaminare il file SecurityAuditLog_n.csv.

      Esempio di file CSV di log di audit della sicurezza.
      Immagine di un file csv di audit della sicurezza.

  3. Se si desidera che i dati dell'audit trail della sicurezza siano trasmessi a un database esterno, effettuare le operazioni riportate di seguito.

    1. Creare una connessione all'origine esterna. Vedere Creare una connessione e un'origine dati a livello globale o Creare una connessione e un'origine dati a livello di applicazione.
    2. Modificare il file di criteri per cambiare e impostare su DATABASE la destinazione dei dati di audit.
    3. Aggiungere un parametro <db_connection_name> all'interno del parametro <audit_sink>. Il valore del parametro <db_connection_name> deve essere il nome esatto della connessione creata nel passo secondario a precedente.
    Esempio di criterio di audit modificato per trasmettere l'audit trail della sicurezza al database Oracle.
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>DATABASE</audit_sink_type>
               <db_connection_name>OraclePDB</db_connection_name>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
  4. Verificare che i dettagli dell'audit siano stati trasmessi al database.

    1. Eseguire un'azione che sia un evento sottoposto a audit, ad esempio la creazione di un'applicazione. È possibile selezionare qualsiasi azione elencata nella sezione <audit_events_to_capture> del criterio.

      Essbase creerà una tabella di audit denominata ESSBASE_SECURITY_AUDIT_EVENT_LOG nello schema di database esterno.

    2. Eseguire il login all'RDBMS esterno ed eseguire una query per verificare la presenza della tabella. Ad esempio, eseguire il login a SQL Developer ed eseguire l'istruzione seguente:
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Utilizzare uno strumento di visualizzazione dati per visualizzare e analizzare i record dell'audit della sicurezza. È possibile utilizzare Smart View, Oracle Data Desktop (disponibile con una licenza Oracle Technology Network), strumenti di visualizzazione open source o del fornitore di database non Oracle.

Informazioni sul file dei criteri di audit

I criteri di audit sono definiti in un file XML che può essere modificato per soddisfare esigenze specifiche. In questo file è possibile specificare gli eventi del server Essbase di cui tenere traccia e se scrivere i dati in un log di audit della sicurezza o trasmetterli a un database esterno. Quando si sceglie di scrivere i dati in un log di audit, è possibile indicare la dimensione massima del file e il numero di file di log di audit della sicurezza da conservare.

Essbase crea il file EssbaseSecurityAuditLogPolicy.xml quando si riavvia Essbase dopo aver abilitato l'audit della sicurezza. È possibile modificare il file in base alle esigenze per perfezionare i criteri di audit. Il file si trova nel percorso specificato durante la fase di configurazione della distribuzione per la memorizzazione della configurazione Essbase (il <percorso di configurazione Essbase>, che è anche la posizione di essbase.cfg). Se non si conosce dove si trova questa posizione nell'ambiente in uso, vedere Posizioni degli ambienti nella piattaforma Essbase per la spiegazione.

Per modificare il file dei criteri di audit, effettuare le operazioni riportate di seguito.
  1. Andare al file EssbaseSecurityAuditLogPolicy.xml. Il file si trova nella directory di applicazione specificata durante la fase di configurazione della distribuzione Essbase.

  2. Aprire il file in un editor di testo.

  3. Modificare la destinazione dei dati di audit, i dettagli del log e gli eventi da registrare.

    1. Se necessario, aggiungere <audit_sink_type>DATABASE</audit_sink_type> se si desidera trasmettere i dati a un database esterno.

    2. Se nel passo a è stato indicato DATABASE per il tipo di destinazione dei dati di audit, nella riga successiva aggiungere <db_connection_name>ConnectionName</db_connection_name> con il nome della connessione al database definita nel Workflow per l'abilitazione dell'audit della sicurezza per il server Essbase.

    3. Quando si sceglie di scrivere i dati in un file di log di audit, se necessario modificare la dimensione massima del file utilizzando <max-file-size>n</max-file-size>, dove n indica il numero di byte. Il valore predefinito è di 50000000 byte.

    4. Quando si sceglie di scrivere i dati in un file di log di audit, indicare il numero dei file CSV di log di audit della sicurezza da salvare utilizzando <roll-nos>n</roll-nos>, dove n indica il numero dei file.

    5. Indicare gli eventi di audit che si desidera acquisire utilizzando <audit_events_to_capture>events_list</audit_events_to_capture>.

Gli eventi indicati nel file dei criteri di audit vengono registrati in un file di log di audit della sicurezza oppure vengono trasmessi a un database esterno.

Nel file dei criteri di audit è possibile indicare gli eventi da acquisire riportati di seguito.

Evento Descrizione
LOGIN Login dell'utente [x] riuscito
LOGIN_AS Utente [x] collegato come [y]
LOGOUT Logout dell'utente [x]
LOGIN_FAIL Login dell'utente [x] non riuscito
SERVICE_ROLE_ASSIGN Ruolo del servizio Essbase [x] assegnato a [y]
SERVICE_ROLE_REVOKE Ruolo del servizio Essbase [x] revocato a [y]
APPLICATION_ROLE_ASSIGN Ruolo [y] per l'applicazione [z] assegnato all'utente o al gruppo [x]
APPLICATION_ROLE_REVOKE Ruolo [y] per l'applicazione [z] revocato all'utente o al gruppo [x]
ARTIFACT_CREATE Artifact [x] di tipo [y] creato
ARTIFACT_UPLOADED Richiesta di caricamento artifact chiamata per l'applicazione [a], database [b], nome oggetto [c] e tipo di oggetto [d]
ARTIFACT_MODIFIED Artifact [x] di tipo [y] modificato
ARTIFACT_DELETED Artifact [x] di tipo [y] eliminato
ARTIFACT_RENAMED Artifact [x] di tipo [y] rinominato in [z]
APPLICATION_DELETED Applicazione [x] eliminata
APPLICATION_CREATE Applicazione [x] creata
APPLICATION_RENAMED Applicazione [x] rinominata in [y]
DATABASE_DELETED Database [x] eliminato nell'applicazione [y]
DATABASE_CREATE Database [x] creato nell'applicazione [y]
DATABASE_RENAMED Database [x] rinominato in [y] nell'applicazione [z]
LCM_EXPORT_START Job di esportazione LCM avviato con il nome file [x]
LCM_EXPORT_END Job di esportazione LCM completato con il nome file [x] e lo stato job [y]
LCM_IMPORT_START Importazione LCM avviata per l'applicazione [x] con il nome file [y]
LCM_IMPORT_END Importazione LCM completata per l'applicazione [x] con il nome file [y]
LCM_IMPORT_FAIL Importazione LCM non riuscita per l'applicazione [x] con il nome file [y]
DATA_LOAD_MAXL Istruzione di importazione dati MaxL eseguita per l'applicazione [x] e il database [y] dall'utente [z]
EXECUTE_MAXL Istruzione MaxL [x] eseguita dall'utente [y]
LOAD_DATA_JOB_START Job di caricamento dati avviato utilizzando il file di dati [x] e il file di regole [y]
LOAD_DATA_JOB_END Job di caricamento dati per il file di dati [x] e il file di regole [y] completato con lo stato [z]
LOAD_DATA_JOB_FAILED Job di caricamento dati non riuscito con la causa [x]
DELETE_SESSION Sessione [x] eliminata

Eventi di audit della sicurezza

Gli eventi di audit della sicurezza vengono registrati in un file di log di audit della sicurezza o trasmessi a un database esterno, a seconda della modalità specificata nel file dei criteri di audit.

Per istruzioni sull'apertura del log di audit della sicurezza o della tabella di audit nello schema di database esterno, vedere Workflow per l'abilitazione dell'audit della sicurezza per il server Essbase.

Il log di audit della sicurezza e la tabella di audit includono le informazioni riportate di seguito (quando applicabile) su ciascun evento.
  • Time: indica quando si è verificato l'evento
  • Client: l'indirizzo IP o il nome host del client
  • Username: l'utente che ha avviato l'azione
  • Session ID: l'ID della sessione Essbase
  • Event Type: il tipo di evento
  • Artifact Type: il tipo di artifact coinvolto nell'evento
    Esempi di tipo di artifact:
    • partition_file del tipo di artifact per il tipo di evento ARTIFACT_UPLOADED
    • applicazione del tipo di artifact per il tipo di evento LCM_EXPORT_START
    • utente del tipo di artifact per il tipo di evento APPLICATION_ROLE_ASSIGN
  • Artifact Name: il nome dell'artifact coinvolto nell'evento, ad esempio un nome file, un nome utente o un nome applicazione
  • Additional Info: informazioni aggiuntive associate all'evento
  • Descrizione: la descrizione dell'evento

    Il contenuto del campo Descrizione è localizzato.

  • ID: identificativo univoco universale a 128 bit che descrive l'evento.

    Esempio: 123e4567-e89b-12d3-a456-426614174000

  • Durata: la durata dell'evento in millisecondi
  • Nome applicazione: il nome dell'applicazione
  • Nome database: il nome del database
  • Stato: operazione riuscita o non riuscita