Das Audit-Log protokolliert sicherheitsrelevante Aktionen in Ihrer Organisation: Anmeldungen und fehlgeschlagene Anmeldungen, Änderungen an Mitgliedern und Rollen, Änderungen an Zugangsdaten und Schlüsseln, Befehle mit hoher Auswirkung, Firmware-Aktionen, Löschungen, Einstellungsänderungen und mehr. Zeilen werden von der Anwendung nie bearbeitet. Verwenden Sie das Log, um Fragen wie „Wer hat das wann geändert?“ zu beantworten, zur Unterstützung einer Untersuchung und als Nachweis für ein Audit. Die Liste der protokollierten Aktionen finden Sie unter What is audited.
Log öffnen
Öffnen Sie Audit Logs unter der Adresse /admin/audit-logs Ihrer Organisation. Dort steht „Tamper-evident record of actions taken in this organization“. Sie benötigen die Rolle Admin oder höher.
Die neuesten Ereignisse stehen oben. Wählen Sie eine Zeile aus, um Audit Log Detail zu öffnen.
Inhalt einer Zeile
| Spalte oder Feld | Bedeutung |
|---|---|
| Time | Zeitpunkt des Ereignisses. |
| Actor | Wer die Aktion ausgeführt hat: ein Mitglied, das System, ein API-Schlüssel oder ein Dienst. Das Detail ergänzt Actor type und Actor ID. |
| On behalf of | Wenn jemand im Auftrag einer anderen Person gehandelt hat, die Person, in deren Auftrag gehandelt wurde. Der Actor bleibt der tatsächlich handelnde Akteur. |
| Action | Was ausgeführt wurde, zum Beispiel iot_device.credential.rotated oder auth.login_failed. |
| Severity | Low, Medium, High oder Critical. |
| Resource | Resource type und Resource ID des geänderten Objekts, zum Beispiel iot_device und die Geräte-ID. |
| Metadata | Zusätzliche Angaben, etwa die Namen der geänderten Felder. Geheimnisse, Passwörter, Tokens und Schlüssel werden nie geschrieben. |
| IP und User agent | Herkunft der Anfrage. |
| Integrity (hash chain) | Prev hash und Row hash der Zeile (siehe unten). |
Ereignisse mit hohem und kritischem Risiko lösen zusätzlich den Webhook audit.high_risk aus, sodass Sie sie an Ihre eigenen Sicherheitswerkzeuge weiterleiten können. Siehe Webhooks.
Ereignisse finden
Verwenden Sie die Filter über der Tabelle:
| Filter | Verwendung |
|---|---|
| Actor | Search by email… |
| Action | Teil des Aktionsnamens, zum Beispiel auth.login oder iot_rpc |
| Severity | Eine Schweregradstufe |
| Date range | From und To |
Clear filters setzt sie zurück. Über die API können Sie außerdem nach Ressourcentyp und Ressourcen-ID filtern:
GET /tenant/{tenantId}/api/audit-logs?resourceType=iot_device&resourceId=<deviceId>&fromDate=2026-11-01&toDate=2026-11-08&page=1&pageSize=100
pageSize beträgt standardmäßig höchstens 100; Max Page Size in den Audit-Log-Einstellungen kann den Wert auf bis zu 500 erhöhen.
Export
Export CSV lädt das Log für den Datumsbereich des Filters herunter. Über die API können Sie CSV oder NDJSON wählen und den Export auf einen Actor beschränken, zum Beispiel um die Anfrage einer Person auf Einsicht in ihre Daten zu beantworten:
GET /tenant/{tenantId}/api/audit-logs/export?format=ndjson&actorId=<userId>&fromDate=2026-01-01&toDate=2026-11-08
Manipulationssicherheit
Jede Zeile ist über eine Hash-Kette mit der vorherigen Zeile Ihrer Organisation verknüpft: Der Hash einer Zeile umfasst ihren Inhalt und den Hash der Zeile davor. Jede Änderung oder Löschung einer erhaltenen Zeile unterbricht die Kette. Zur Prüfung der Kette rufen Sie auf:
GET /tenant/{tenantId}/api/audit-logs/verify
Die Antwort lautet { "ok": true, "checked": <rows> } bei einer intakten Kette, oder "ok": false mit brokenAt, das die erste Zeile nennt, die nicht passt. Nachdem alte Zeilen durch die Aufbewahrungsfrist entfernt wurden, verweist die erste erhaltene Zeile auf eine Zeile, die nicht mehr existiert; die Prüfung akzeptiert diesen Startpunkt.
Aufbewahrung
Öffnen Sie Audit Logs > Einstellungen (Audit Log Settings):
| Einstellung | Standard | Bedeutung |
|---|---|---|
| Retention Period (days) | 0 | Wie lange Zeilen aufbewahrt werden, bevor die nächtliche Bereinigung sie löscht. 0 behält sie dauerhaft. Legen Sie den Wert nach Ihren Compliance-Anforderungen fest, zum Beispiel 2.555 Tage für eine siebenjährige Aufbewahrungspflicht. |
| Max Page Size | 100 | Die größte Seite, die ein API-Aufrufer anfordern darf, höchstens 500. |
Das Audit-Log wird in jedem Tarif aufgezeichnet. Umfasst ein Tarif das Lesen des Logs nicht, werden Liste und Export abgelehnt, bis der Tarif es wieder umfasst; dazwischen geht nichts verloren.
Datenschutz
Ein Owner kann eine Person im Log anonymisieren: Die Verknüpfung zwischen den Zeilen und der Person wird aufgehoben, die Aktionen selbst bleiben erhalten und die Kette bleibt prüfbar. Dies ist Teil der Beantwortung einer Löschanfrage; siehe Privacy and data erasure.
POST /tenant/{tenantId}/api/audit-logs/anonymize
Content-Type: application/json
{ "actorId": "<userId>" }
Berechtigungen
| Aktion | Standardrolle |
|---|---|
| Log lesen | Admin |
| Exportieren | Admin |
| Kette prüfen | Admin |
| Person anonymisieren | Owner |
| Abgelaufene Zeilen jetzt bereinigen | Owner |
Die eigenen Ereignisse eines Mitglieds erscheinen auch auf seiner Mitgliederseite im Tab Activity. Siehe Users and roles.

