Worum es geht
In CodamAI gibt es zwei Protokolle, und sie beantworten verschiedene Fragen:
- Das CIAS-Audit hält fest, was mit Personen, Mandanten und Rechten passiert ist: Wer hat wem wann welche Rolle gegeben? Wann wurde der Mandant gesperrt?
- Die CDMS-Historie hält fest, wie Daten aussahen: Welchen Stand hatte dieser Auftrag gestern, und wer hat ihn geändert? Siehe Audit, Historie, Rollback.
Nebeneinander
- ein Eintrag je Ereignis, etwa
AuthorizationEvent.Granted - eine Tabelle
cias_audit_entryin der System-Datenbank, für die ganze Plattform - Handelnder:
subund Mandant aus dem Token - nur anhängen, kein Zurücksetzen
- liest nur ein Plattform-Administrator, über
AuditQueryUseCase
- eine Revision je Änderung, mit dem ganzen Stand des Objekts
- je Datenbank ein eigenes Revisionsprotokoll, also je Mandant
- Handelnder: Name, IP-Adresse, Browser; in der Datenbank zusätzlich die Benutzer-ID (
sub) - ein alter Stand lässt sich zurückholen (Rollback)
- liest, wer die Historienrolle des Modells hat, über
POST /{id}/history
Wo sieht man nach?
| Worum geht es? | Nachsehen in |
|---|---|
| Wer hat dieser Person die Rolle gegeben, und wann? | CIAS-Audit, AuthorizationEvent.Granted |
| Seit wann ist der Mandant gesperrt, und wer war es? | CIAS-Audit, TenantEvent.Suspended |
| Wann hat sich diese Person registriert? | CIAS-Audit, RegistrationEvent.Initiated und Completed |
| Wer hat den Preis dieses Auftrags geändert, und was stand vorher drin? | CDMS-Historie des Auftrags |
| Wie sah der Kunde vor einer Woche aus? | CDMS-Historie, eventuell Rollback |
| Durfte die Person, die den Auftrag geändert hat, das damals? | beides: Zeitpunkt und Name aus der CDMS-Historie, dann im CIAS-Audit die Rollenvergaben dieser Person bis zu diesem Zeitpunkt |
Beide verbinden
-
1Admin→CDMSliest die Historie des Auftrags: Revision 57 am 22.09. um 10:02,
usernameBen Beispiel -
2Admin→CIASsucht Bens Benutzerdatensatz und liest das Audit: Einträge
AuthorizationEvent.Granted,Revoked,Expiredmit BensuserIdbis 10:02 -
3Admin
order-editwurde am 20.09. vergeben und erst am 25.09. entzogenErgebnis: Ben hatte das Recht zum Zeitpunkt der Änderung
Achte auf die Namen und IDs: Die CDMS-Historie liefert den Namen aus dem Token (username); die Benutzer-ID (sub) steht nur in der Tabelle revinfo der Datenbank. Nach einem Benutzerwechsel ist username die Person, in deren Namen gehandelt wurde, und actingUsername die Person, die tatsächlich gehandelt hat. Als Handelnder im CIAS-Audit steht die Keycloak-ID (sub). In den Rollenereignissen steht als userId die ID des Benutzerdatensatzes in CIAS. Den Übergang findest du im Benutzerdatensatz, der Keycloak-ID, Name und CIAS-ID führt, siehe Der Benutzerdatensatz.