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 dieses Auditing auf Serverebene mit der AUDITTRAIL-Konfigurationseinstellung SECURITY Essbase.

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 dem Essbase-Server-Rechner auf <Essbase Config Path> 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-SICHERHEIT

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

    Weitere Informationen 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 in dem Pfad, den Sie während der Konfigurationsphase des Deployments zum Speichern der Essbase-Konfiguration angegeben haben (das <Essbase Config Path>, in dem sich auch essbase.cfg befindet).

    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 sind.
    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, lesen Sie 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. Weitere Informationen 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 Parameters <db_connection_name> muss der genaue Name der Verbindung sein, die in Unterschritt a oben erstellt wurde.
    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 sind.

      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 EssbaseSecurityAuditLogPolicy.xml beim Neustart von Essbase, nachdem Sie die Sicherheitsauditingfunktion aktiviert haben. Sie können die Datei dann nach Bedarf bearbeiten, um die Auditing-Policy zu verfeinern. Die Datei befindet sich in dem Pfad, den Sie während der Konfigurationsphase des Deployments zum Speichern der Essbase-Konfiguration angegeben haben (das <Essbase Config Path>, in dem sich auch essbase.cfg befindet). Wenn Sie nicht wissen, wo sich dies in Ihrer Umgebung befindet, finden Sie eine Erläuterung unter Umgebungsspeicherorte in der Essbase-Plattform.

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 einen Audit-Sink-Typ DATABASE angegeben haben, fügen Sie in der folgenden Zeile <db_connection_name>ConnectionName</db_connection_name> mit dem Namen der Datenbankverbindung hinzu, die Sie im Workflow zum Aktivieren von Sicherheitsauditing für Essbase-Server definiert haben.

    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 von zu speichernden CSV-Dateien für das Sicherheitsauditprotokoll 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

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

Anweisungen zum Öffnen des Sicherheitsauditlogs oder der Audittabelle im externen Datenbankschema finden Sie unter Workflow zum Aktivieren von Sicherheitsauditing 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