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>
1.8 KiB
1.8 KiB
#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, weiliatSekunden 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.
SchluesselQuelleist die Andockstelle für eine externe Verwaltung (z. B. sshkeyvault).