Allgemeine Informationen

Anwendungsereignisse und Berechtigungsereignisse können bei Bedarf über nlog in einer Datei protokolliert werden . Dazu werden die Logger AuditLog.* verwendet.

Protokolliert werden können:

  • Start und Beendigung der Anwendung
  • Erfolgreiche und fehlgeschlagene Anmeldungen von Benutzern sowie deren Abmeldung
  • Änderung von Mitgliedern von Berechtigungsrollen

Die Funktion ist standardmäßig inaktiv und kann durch die Zeile <add key="BA:AuditLog" value="true"/> in der Datei „Customer.config aktiviert werden.

Über die Parameter „BA:AuditLog.Application”, „BA:AuditLog.Login” und „BA:AuditLog.RoleMember” kann die Protokollierung auch feingranularer gesteuert werden. Die Werte überschreiben jeweils die allgemeine Einstellung für spezielle Ereignisarten.

Das Audit-Protokoll ist eine Tab-separierte CSV-Datei mit folgenden Spalten:

Kontext-Informationen:

  • timestamp = Zeitpunkt der Protokollierung
  • level = INFO, WARN oder ERROR
  • username = Login-Name des Benutzers, der das Ereignis ausgelöst hat (bei Anwendungsereignissen ggf. leer)

Ereignis-Quelle (Ereignisabhängig):

  • oid = ID des auslösenden Objekts
  • migrationid = MigrationId des auslösenden Objekts, falls verfügbar
  • ormtype = Typ des auslösenden Objekts (nicht bei Anwendungsereignissen)
  • title = Titel des auslösenden Objekts (nicht bei Anwendungsereignissen)

Ereignis:

  • action = Art des Ereignisses
  • message = Kurze, menschenlesbare Ereignisbeschreibung
  • data = Zusätzliche Ereignisdaten
  • effective = Bei Berechtigungsereignissen: alle betroffenen Benutzer und Rollen

Anwendungsereignisse

Allgemeine gefüllte Spalten

  • oid = Eindeutige ID dieses Anwendungslaufs

Ereignisarten (action):

  • APPLICATION_START = Die Anwendung wurde erfolgreich gestartet.
  • APPLICATION_END = Die Anwendung wird jetzt herunter gefahren.

Wenn dieses Ereignis zu einem Start-Ereignis fehlt, ist der Anwendungspool (oder der Server) unerwartet abgestürzt.

Login-Ereignisse

Allgemeine gefüllte Spalten:

  • oid = GUID des Benutzerprofils
  • migrationid = „MigrationID” des Benutzerprofils (falls vorhanden)
  • ormtype = „User Profile”
  • title = „EntityTitle” des Benutzerprofils
  • data = IP-Adresse, woher der Login/Logout kommt

Ereignisarten (action):

  • LOGIN = Ein Benutzer hat sich erfolgreich angemeldet.

effective = Alle Rollen, die der Benutzer bei dieser Anmeldung hat.
  • LOGIN_FAILURE = Ein Login-Versuch wer erfolglos. (Benutzername oder Passwort falsch)
    In dem Fall fehlen die Angaben zum Benutzerprofil.
  • LOGOUT = Ein Benutzer hat sich abgemeldet.

Rollenmitglieder geändert

Allgemeine gefüllte Spalten:

  • oid = GUID der geänderten Rolle
  • migrationid = „MigrationID” der geänderten Rolle (falls vorhanden)
  • ormtype = Typ der geänderten Rolle
    Hier können auch gebundene LDAP oder AD-Rollen oder sogar Benutzerprofile auftauchen.
  • title = „EntityTitle” der geänderten Rolle
  • data = Hinzugefügte oder entfernte Benutzer und Rollen
  • effective = Effektiv hinzugefügt oder entfernte Benutzer und Rollen.
    Bei geschachtelten Rollen werden hier die effektiven Mitglieder ausgegeben. Es kann sogar vorkommen, dass dieses Feld trotz einer Änderung leer ist, wenn alle betroffenen Benutzer die aktuelle Rolle noch über eine andere Rolle erhalten. Wenn die hinzugefügten oder entfernten Rollen oder Benutzer selbst wieder Berechtigungen erben, werden diese nicht mit ausgegeben.

Ereignisarten (action):

  • GRANT = Berechtigung wurde erteilt = Mitglieder hinzugefügt
  • REVOKE = Berechtigung wurde widerrufen = Mitglieder entfernt
    Falls in einem Vorgang sowohl Mitglieder hinzugefügt als auch entfernt wurden, werden zwei Zeilen geschrieben, eine mit GRANT und eine mit REVOKE.