Auditsicherheit, Artefaktänderungen und LCM-Ereignisse

Serviceadministratoren können das Sicherheitsauditing aktivieren, um Änderungen am Essbase-Server zu verfolgen.

Anhand von Parametern, die Sie in einer Auditing-Policy-Datei angeben, erfasst Essbase Informationen zu Änderungen an der Sicherheit auf Systemebene, an Artefakten, LCM-Ereignissen und ausgeführten MaxL-Anweisungen (einschließlich Importvorgängen). Essbase konsolidiert die verfolgten Informationen in einer Auditlogdatei oder streamt sie in eine externe Datenbank. Zu den zu jedem Ereignis verfolgten Informationen gehören Uhrzeit, Client, Benutzer, betroffene Artefakte, Dauer, ID, Anwendungs- und Datenbankname, Status und eine Beschreibung.

Sie aktivieren das Auditing dieser Ereignisse auf Serverebene mit der Essbase-Konfigurationseinstellung AUDITTRAIL SECURITY.

Workflow zum Aktivieren des Sicherheitsauditings für Essbase-Server

Dieser Workflow erläutert das Aktivieren des Sicherheitsauditings für den Essbase-Server mit AUDITTRAIL SECURITY. Nachdem Sie das Auditing aktiviert haben, definieren Sie EssbaseSecurityAuditLogPolicy. Sie können festlegen, dass Essbase Auditdatensätze in eine CSV-Datei schreibt oder in eine externe Datenbank streamt.

In diesem Workflow ist Oracle Database die externe Datenbank. Sie können aber auch SQL Server, MySQL oder DB2 verwenden.

Um den Workflow abzuschließen, müssen Sie Systemadministrator sein und auf den <Essbase-Konfigurationspfad> auf dem Essbase-Serverrechner zugreifen.

Dieser Pfad enthält Dateien, die Sie bearbeiten müssen:
  • Die Konfigurationsdatei essbase.cfg
  • Eine Standard-Policy-Datei für das Sicherheitsauditing
  1. Aktivieren Sie das Auditing von Serverereignissen, indem Sie die folgende Konfiguration zu essbase.cfg auf dem Essbase-Serverrechner hinzufügen:

    AUDITTRAIL SECURITY

    Nachdem Sie die Konfiguration aktualisiert haben, starten Sie Essbase neu.

    Informationen hierzu finden Sie unter Konfigurationseigenschaften auf Serverebene festlegen und Server starten, stoppen und prüfen.

  2. Eine Standard-Policy-Datei (XML) wird auf dem Essbase-Server erstellt. Diese Datei (EssbaseSecurityAuditLogPolicy.xml) befindet sich im Pfad, den Sie bei der Konfigurationsphase des Deployments zum Speichern der Essbase-Konfiguration angegeben haben (der <Essbase-Konfigurationspfad>, in dem auch essbase.cfg abgelegt ist).

    Die erstellte Standard-Policy-Datei enthält Folgendes:
    <?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>
    
    Der Standardtyp für die Auditsenke ist CSV. So testen Sie, ob die Auditdetails in die CSV-Sicherheitsauditlogdatei geschrieben werden, wenn Sie den Standard-Auditsenkentyp (CSV) verwenden:
    1. Führen Sie eine Aktion aus, die als auditierbares Ereignis gilt, wie das Erstellen einer Anwendung. Sie können jede Aktion auswählen, die im Abschnitt <audit_events_to_capture> der Policy enthalten ist.
    2. stellen Sie über SSH eine Verbindung zum Essbase-Server her.
    3. Navigieren Sie zu <DOMAIN_HOME>/servers/serverName/logs/essbase/. Wenn Sie nicht wissen, wo sich <DOMAIN_HOME> befindet, finden Sie entsprechende Informationen unter Umgebungsspeicherorte in der Essbase-Plattform.
    4. Öffnen und prüfen Sie die Datei SecurityAuditLog_n.csv.

      Beispiel für eine CSV-Sicherheitsauditlogdatei:
      Abbildung einer CSV-Sicherheitsauditdatei.

  3. Führen Sie folgende Schritte aus, wenn der Sicherheitsaudittrail in eine externe Datenbank gestreamt werden soll:

    1. Erstellen Sie eine Verbindung zur externen Quelle. Informationen hierzu finden Sie unter Globale Verbindung und Datenquelle erstellen oder Verbindung und Datenquelle auf Anwendungsebene erstellen.
    2. Bearbeiten Sie die Policy-Datei, und ändern Sie die Auditsenke in DATABASE.
    3. Fügen Sie einen <db_connection_name>-Parameter innerhalb des <audit_sink>-Parameters hinzu. Der Wert des <db_connection_name>-Parameters muss genau dem Namen der in Unterschritt "a" weiter oben erstellten Verbindung entsprechen.
    Beispiel für eine bearbeitete Audit-Policy zum Streamen des Sicherheitsaudittrails in Oracle Database:
    <?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. Testen Sie, ob die Auditdetails in die Datenbank gestreamt werden.

    1. Führen Sie eine Aktion aus, die als auditierbares Ereignis gilt, wie das Erstellen einer Anwendung. Sie können jede Aktion auswählen, die im Abschnitt <audit_events_to_capture> der Policy enthalten ist.

      Essbase sollte eine Audittabelle namens ESSBASE_SECURITY_AUDIT_EVENT_LOG im externen Datenbankschema erstellen.

    2. Melden Sie sich beim externen RDBMS an, und führen Sie eine Abfrage aus, um zu prüfen, ob die Tabelle vorhanden ist. Beispiel: Melden Sie sich bei SQL Developer an, und führen Sie den folgenden Befehl aus:
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Verwenden Sie ein Datenvisualisierungstool, um die Datensätze des Sicherheitsaudits anzuzeigen und zu analysieren. Dazu können Sie Smart View, Oracle Data Desktop (mit einer Oracle Technology Network-Lizenz verfügbar), Open-Source-Visualisierungstools oder Ihren Datenbankdrittanbieter verwenden.

Auditing-Policy-Datei

Die Auditing-Policy wird in einer XML-Datei definiert, die Sie an Ihre Anforderungen anpassen können. In dieser Datei können Sie angeben, welche Essbase -Serverereignisse verfolgt werden sollen und ob die Daten in ein Sicherheitsauditlog geschrieben oder in eine externe Datenbank gestreamt werden sollen. Wenn Sie Daten in ein Auditlog schreiben, können Sie angeben, wie groß die Dateien maximal sein dürfen und wie viele Sicherheitsauditlogdateien aufbewahrt werden sollen.

Essbase erstellt die Datei EssbaseSecurityAuditLogPolicy.xml beim Neustart von Essbase, nachdem Sie Sicherheitsauditing aktiviert haben. Sie können die Datei dann nach Bedarf bearbeiten, um die Auditing-Policy zu verfeinern. Diese Datei befindet sich im Pfad, den Sie bei der Konfigurationsphase des Deployments zum Speichern der Essbase-Konfiguration angegeben haben (der <Essbase-Konfigurationspfad>, in dem auch essbase.cfg abgelegt ist). Wenn Sie nicht wissen, wo sich dieses Verzeichnis in Ihrer Umgebung befindet, finden Sie unter Umgebungsspeicherorte in der Essbase-Plattform eine Erläuterung.

So bearbeiten Sie die Auditing-Policy-Datei:
  1. Navigieren Sie zu EssbaseSecurityAuditLogPolicy.xml. Die Datei befindet sich im Anwendungsverzeichnis, das während der Konfigurationsphase des Essbase-Deployments angegeben wurde.

  2. Öffnen Sie sie in einem Texteditor.

  3. Bearbeiten Sie die Auditsenke, die Loggingdetails und die zu verfolgenden Ereignisse.

    1. Fügen Sie optional <audit_sink_type>DATABASE</audit_sink_type> hinzu, wenn Sie Daten in eine externe Datenbank streamen möchten.

    2. Wenn Sie in Schritt "a" DATABASE als Auditsenkentyp angegeben haben, fügen Sie in der folgenden Zeile <db_connection_name>ConnectionName</db_connection_name> mit dem Namen der unter Workflow zum Aktivieren des Sicherheitsauditings für Essbase-Server definierten Datenbankverbindung hinzu.

    3. Wenn Sie Daten in eine Auditlogdatei schreiben, ändern Sie optional die maximale Dateigröße mit <max-file-size>n</max-file-size>, wobei n = die Anzahl der Byte. Der Standardwert beträgt 50000000 Byte.

    4. Wenn Sie Daten in eine Auditlogdatei schreiben, geben Sie die Anzahl der zu speichernden CSV-Dateien für das Sicherheitsauditlog mit <roll-nos>n</roll-nos> an, wobei n = die Anzahl der Dateien.

    5. Geben Sie die zu erfassenden Auditereignisse mit <audit_events_to_capture>events_list</audit_events_to_capture> an.

Die in der Auditing-Policy-Datei angegebenen Ereignisse werden in einer Sicherheitsauditlogdatei erfasst oder in eine externe Datenbank gestreamt.

Sie können folgende Ereignisse in der Auditing-Policy-Datei erfassen:

Ereignis Beschreibung
LOGIN Benutzer [x] hat sich erfolgreich angemeldet
LOGIN_AS Benutzer [x] hat sich als [y] angemeldet
LOGOUT Benutzer [x] hat sich abgemeldet
LOGIN_FAIL Anmeldung von Benutzer [x] nicht erfolgreich
SERVICE_ROLE_ASSIGN Essbase-Servicerolle [x] wurde [y] zugewiesen
SERVICE_ROLE_REVOKE Essbase-Servicerolle [x] wurde [y] entzogen
APPLICATION_ROLE_ASSIGN Dem Benutzer bzw. der Gruppe [x] wurde die Rolle [y] in der Anwendung [z] erteilt
APPLICATION_ROLE_REVOKE Dem Benutzer bzw. der Gruppe [x] wurde die Rolle [y] in der Anwendung [z] entzogen
ARTIFACT_CREATE Artefakt [x] vom Typ [y] erstellt
ARTIFACT_UPLOADED Anforderung für Artefaktupload für Anwendung [a], Datenbank [b], Objektname [c] und Objekttyp [d] aufgerufen
ARTIFACT_MODIFIED Artefakt [x] vom Typ [y] geändert
ARTIFACT_DELETED Artefakt [x] vom Typ [y] gelöscht
ARTIFACT_RENAMED Artefakt [x] vom Typ [y] umbenannt in [z]
APPLICATION_DELETED Anwendung [x] gelöscht
APPLICATION_CREATE Anwendung [x] erstellt
APPLICATION_RENAMED Anwendung [x] in [y] umbenannt
DATABASE_DELETED Datenbank [x] in Anwendung [y] gelöscht
DATABASE_CREATE Datenbank [x] in Anwendung [y] erstellt
DATABASE_RENAMED Datenbank [x] umbenannt in [y] in Anwendung [z]
LCM_EXPORT_START LCM-Exportjob mit Dateiname [x] gestartet
LCM_EXPORT_END LCM-Exportjob mit Dateiname [x] und Jobstatus [y] abgeschlossen
LCM_IMPORT_START LCM-Import für Anwendung [x] mit Dateiname [y] gestartet
LCM_IMPORT_END LCM-Import für Anwendung [x] mit Dateiname [y] abgeschlossen
LCM_IMPORT_FAIL LCM-Import für Anwendung [x] mit Dateiname [y] nicht erfolgreich
DATA_LOAD_MAXL MaxL-Anweisung zum Importieren von Daten für Anwendung [x] und Datenbank [y] von Benutzer [z] ausgeführt
EXECUTE_MAXL MaxL-Anweisung [x] von Benutzer [y] ausgeführt
LOAD_DATA_JOB_START Dataload-Job mithilfe von Datendatei [x] und Regeldatei [y] gestartet
LOAD_DATA_JOB_END Dataload-Job für Datendatei [x] und Regeldatei [y] mit Status [z] abgeschlossen
LOAD_DATA_JOB_FAILED Dataload-Job nicht erfolgreich wegen [x]
DELETE_SESSION Session [x] gelöscht

Sicherheitsauditingereignisse

Sicherheitsauditingereignisse werden entweder in einer Sicherheitsauditlogdatei verfolgt oder in eine externe Datenbank gestreamt, je nachdem, was Sie in der Auditing-Policy-Datei angeben.

Anweisungen zum Öffnen des Sicherheitsauditlogs oder der Audittabelle im externen Datenbankschema, finden Sie im Workflow zum Aktivieren des Sicherheitsauditings für Essbase-Server.

Das Sicherheitsauditlog und die Audittabelle enthalten die folgenden Informationen zu den einzelnen Ereignissen (falls zutreffend):
  • Zeit: Wann das Ereignis aufgetreten ist
  • Client: IP-Adresse oder Hostname des Clients
  • Benutzername: Benutzer, der die Aktion ausgelöst hat
  • Session-ID: Essbase-Session-ID
  • Ereignistyp: Typ des Ereignisses
  • Artefakttyp: Typ des am Ereignis beteiligten Artefakts
    Beispiele für Artefakttypen:
    • Artefakttyp "partition_file" für Ereignistyp ARTIFACT_UPLOADED
    • Artefakttyp "Application" für Ereignistyp LCM_EXPORT_START
    • Artefakttyp "User" für Ereignistyp APPLICATION_ROLE_ASSIGN
  • Artefaktname: Name des am Ereignis beteiligten Artefakts. Beispiel: Dateiname, Benutzername oder Anwendungsname
  • Zusätzliche Informationen: Zusätzliche Informationen zu dem Ereignis
  • Beschreibung: Beschreibung des Ereignisses

    Der Inhalt des Feldes "Beschreibung" wird lokalisiert.

  • ID: Eine 128-Bit-UUID, die das Ereignis beschreibt.

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

  • Dauer: Dauer des Ereignisses in Millisekunden
  • Anwendungsname: Name der Anwendung
  • Datenbankname: Name der Datenbank
  • Status: Erfolgreich oder Fehler