Files
florian.wildeandClaude Opus 5.5 e21ac97dbb chore(release): v0.5.0
Etappe 5: Verlauf mit Filtern, Wiederholen und Aufräumen; Benutzerverwaltung, Passwort, Audit-Log; OIDC.

Refs #014, #015, #016

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:58:38 +02:00

1.8 KiB
Raw Permalink Blame History

#015 Rollen, Benutzer, Tokens, Audit-Log

Status: erledigt Meilenstein: v0.5.0 Labels: feature, sicherheit Geschätzt: 6 h Tatsächlich: 0 h 10 min

Ziel

Admin/Operator serverseitig erzwungen, jede Aktion protokolliert.

Aufgaben

  • Rechte-Tabelle, strukturelle Prüfung aller Route Handler (Test) – seit #001, jetzt mit den neuen Routen
  • Benutzerverwaltung (anlegen, Rolle, sperren, Passwort setzen), eigenes Passwort ändern; CLI-Tokens seit v0.4.0
  • SSH-Keys über SchluesselQuelle – vorgezogen in v0.3.0: eigene und Team-Schlüssel, automatisch in jedem Gast, im Assistenten abwählbar
  • Audit-Log-Ansicht mit Filter (Benutzer, Quelle, Text, Zeitraum), auch GET /api/v1/protokoll

Akzeptanzkriterien

  • Operator kann keine Server/Katalog/Benutzer ändern (Tests in tests/benutzer.test.ts)

Abhängigkeiten

#001

Notizen / Entscheidungen

  • Sitzungen beenden ohne Sitzungstabelle: Benutzer.sitzungenAb; ältere JWTs gelten nicht mehr. Gesetzt bei Sperre, Passwort-Reset und eigenem Passwortwechsel (die eigene Sitzung bekommt ein neues Cookie). Auf volle Sekunden, weil iat Sekunden hat.
  • Schutzregeln serverseitig: der letzte aktive Admin bleibt Admin und aktiv (Zeilensperre gegen zwei gleichzeitige Herabstufungen), das eigene Konto lässt sich nicht sperren.
  • Benutzer werden nicht gelöscht, nur gesperrt – Aufträge und Audit-Log verweisen auf sie.
  • „Einstellungen“ fehlte seit v0.3.0 in der Navigation (ab: "#015") – jetzt sichtbar, dazu „Audit-Log“ für Admins.
  • SSH-Schlüssel auf Florians Frage nach Schlüsseln im Template vorgezogen (2026-10-12): Schlüssel gehören in die Verwaltung, nicht ins Template. SchluesselQuelle ist die Andockstelle für eine externe Verwaltung (z. B. sshkeyvault).