Logging der Audit-Events

Der CARA Server erlaubt das separate Logging der gespeicherten Audit-Events.

Das Audit-Event-Logging verwendet den Log4j Mapped Diagnostic Context, um eine frei konfigurierbare Auswahl der im Logfile ausgegebenen Daten zu unterstützen.

Vorgehensweise

  • Definieren Sie in der Datei log4j.xml für CARA-WS einen separaten Appender für das Logging der Audit-Events. Geben Sie diesem Appender einen eindeutigen Namen.

  • Achten Sie darauf, in der Appender-Definition eine separate Datei für die Audit-Event-Log-Ausgabe anzugeben (falls es sich um einen Datei-basierten Appender handelt).

  • Bei Verwendung von FileAppender besteht die Möglichkeit, das Logfile entweder bei jeder Initialisierung von Log4j zu überschreiben oder neue Einträge hinten anzuhängen. Hierzu dient ein XML-Element <param name="Append" value="true|false"/>.

  • Definieren Sie innerhalb des Appenders ein Layout der Klasse org.apache.log4j.PatternLayout. Dieses unterstützt einen Parameter mit name="ConversionPattern". Der Wert dieses Parameters ist ein Template für die auszugebenden Log-Messages.

  • Den Wert eines Platzhalters können Sie in der Form %X{Platzhaltername} an beliebiger Stelle in das ConversionPattern einfügen.

  • Definieren Sie einen neuen Logger mit name="AUDIT_EVENT_LOGGER". Sein Log-Level muss auf INFO gestellt sein, da alle Messages mit diesem Level ausgegeben werden. Der Logger muss mittels <appender-ref> auf den neuen Appender verweisen.

  • Um die Audit-Event Log-Ausgaben ausschließlich an den dedizierten Appender zu leiten, verwenden Sie im <logger>-Tag das XML-Attribut additivity="false".

Beispiel

Ein Beispiel für eine Log4j-Konfiguration befindet sich im Lieferumfang des CARA-Servers in der Datei log4j.default.xml.

  • Beispiel-Appender: AUDIT_EVENT_LOGGER_FILE

  • Beispiel-Logger: AUDIT_EVENT_LOGGER

Unterstützte MDC-Platzhalter

Je Audit-Event-Log-Message werden folgende Werte im MDC registriert:

Platzhaltername Beschreibung

auditEvent_id

Datenbank-ID des gespeicherten Audit-Events

auditEvent_event-Type_id

AuditEventType-ID (siehe ConstAuditEvent)

auditEvent_event-Type_name

AuditEventType Name (siehe ConstAuditEvent)

auditEvent_objectId

ID des Objektes (z.B. Request, Signer) in der CARA-Datenbank, für das ein Audit-Event gespeichert wurde

auditEvent_description

Beschreibung des Audit-Events

auditEvent_eventSubtype

Audit-Event Subtype

auditEvent_objectType_id

Typ-ID des Objektes, für das ein Audit-Event gespeichert wurde.

auditEvent_objectType_name

Typname des Objektes, für das ein Audit-Event gespeichert wurde (z.B. Request, Signer).

auditEvent_objectData

Daten des Objektes (z.B. VCA-Status für Requests) in der CARA-Datenbank, für das ein Audit-Event gespeichert wurde

auditEvent_raAuth_id

Authentisierungs-ID des angemeldeten Users in der CARA-Datenbank

auditEvent_raAuth_name

Namensinformation des angemeldeten Users.

Bei Anmeldung mit Zertifikat ist dies der SubjectDN, bei Anmeldung mit RA-User ist dies Vorname und Name.

auditEvent_raAuth_type

Art der Anmeldung („certificate“ oder „ra-user“)

auditEvent_raAuth_issuerDN

IssuerDN des Zertifikats mit dem sich der User angemeldet hat.

Nur bei Anmeldung mit Zertifikat

auditEvent_raAuth_serialNrHex

Seriennummer des Zertifikats in Hexadezimal- Format mit dem sich der User angemeldet hat.
Nur bei Anmeldung mit Zertifikat

auditEvent_raAuth_raUser_id

User-ID des RA-Users mit dem sich der Nutzer angemeldet hat.

Nur bei Anmeldung mit RA-User

auditEvent_workflow_id

ID des Workflows in der CARA-Datenbank

auditEvent_workflow_name

Name des Workflows

Viele Werte sind optional. Sind diese nicht gesetzt, wird dies durch folgenden Text angezeigt: (null)