Audit Logging: Wer hat wann was gemacht tracken #42

Open
opened 2026-03-30 19:55:03 +00:00 by David · 0 comments
Collaborator

Beschreibung

Ein Audit-Log einführen, das alle sicherheits- und betriebsrelevanten Aktionen protokolliert: Logins, Enrichments, Pipeline-Starts, Settings-Änderungen, User-Verwaltung.

Hintergrund

Aktuell gibt es kein Tracking darüber welcher User welche Aktion ausgeführt hat. Für Compliance, Debugging und Nachvollziehbarkeit ist ein Audit-Log essenziell — besonders wenn mehrere Operator das System nutzen.

Akzeptanzkriterien

  • Neues DB-Model AuditLog mit: user_id, action, resource_type, resource_id, details (JSON), timestamp, ip_address
  • Geloggte Aktionen: Login/Logout, Ticket-Enrichment, Pipeline-Start/Stop, Settings-Änderung, User-CRUD, Repo-CRUD
  • API-Endpoint GET /api/audit-log (nur Admin) mit Filter nach User, Action, Zeitraum
  • Dashboard-Seite oder -Tab für Audit-Log-Ansicht
  • Audit-Log ist append-only (kein Update/Delete über API)
  • Automatische Rotation/Archivierung nach konfigurierbarer Aufbewahrungsfrist

Technische Hinweise

  • Neues Model: backend/models/audit_log.py
  • Neuer Utility: backend/services/audit.pylog_action(user, action, resource, details)
  • Erweitern: Alle API-Endpoints die Zustandsänderungen machen
  • Neue API: backend/api/audit.py
  • Optional: Frontend-Seite AuditLog.tsx
  • Migration nötig: ja (neue Tabelle audit_logs)

Aufwand: M

## Beschreibung Ein Audit-Log einführen, das alle sicherheits- und betriebsrelevanten Aktionen protokolliert: Logins, Enrichments, Pipeline-Starts, Settings-Änderungen, User-Verwaltung. ## Hintergrund Aktuell gibt es kein Tracking darüber welcher User welche Aktion ausgeführt hat. Für Compliance, Debugging und Nachvollziehbarkeit ist ein Audit-Log essenziell — besonders wenn mehrere Operator das System nutzen. ## Akzeptanzkriterien - [ ] Neues DB-Model `AuditLog` mit: user_id, action, resource_type, resource_id, details (JSON), timestamp, ip_address - [ ] Geloggte Aktionen: Login/Logout, Ticket-Enrichment, Pipeline-Start/Stop, Settings-Änderung, User-CRUD, Repo-CRUD - [ ] API-Endpoint `GET /api/audit-log` (nur Admin) mit Filter nach User, Action, Zeitraum - [ ] Dashboard-Seite oder -Tab für Audit-Log-Ansicht - [ ] Audit-Log ist append-only (kein Update/Delete über API) - [ ] Automatische Rotation/Archivierung nach konfigurierbarer Aufbewahrungsfrist ## Technische Hinweise - Neues Model: `backend/models/audit_log.py` - Neuer Utility: `backend/services/audit.py` — `log_action(user, action, resource, details)` - Erweitern: Alle API-Endpoints die Zustandsänderungen machen - Neue API: `backend/api/audit.py` - Optional: Frontend-Seite `AuditLog.tsx` - Migration nötig: ja (neue Tabelle `audit_logs`) ## Aufwand: M
Sign in to join this conversation.
No description provided.