Keycloak
Nova verwaltet in Keycloak Konten – dort „Benutzer“ genannt – und ihre Gruppenmitgliedschaften. Nova nutzt dafür die Admin-REST-API; ein Zielsystem entspricht einem Realm.
Verbindung
Nova meldet sich über einen vertraulichen Client mit Service-Account an (OAuth 2.0 Client Credentials). Die Felder: „Base URL“, „Realm“, „Client ID“ und „Client Secret“.
Der Service-Account braucht die Rollen manage-users, view-users, query-users und query-groups des Clients realm-management. Hinzu kommen je nach Nutzung:
view-events– um den letzten Login aus Login-Ereignissen zu lesenmanage-clientsundview-clients– um KI-Agenten als Clients anzulegen
„Status prüfen“ fordert ein Token an und zählt die Konten im Realm. Der Test prüft damit auch, ob der Service-Account Konten lesen darf.
Konten
- Anlegen: Benutzername, E-Mail-Adresse, Vor- und Nachname; das Konto ist aktiviert. Weitere Attribute aus dem „Mapping“ legt Nova als Keycloak-Attribute des Kontos ab.
- Ändern: Nova liest das Konto, ergänzt die geänderten Werte und schreibt es zurück. So bleiben andere Attribute des Kontos erhalten.
- Sperren und Entsperren über das Feld
enabled. - Löschen.
- Passwörter setzt Nova über die Admin-API.
Keycloak speichert Benutzernamen in Kleinbuchstaben; Nova schreibt und vergleicht sie deshalb ebenfalls klein. Konten findet Nova über Benutzername, E-Mail-Adresse oder Keycloak-ID.
Gruppen
Gruppen und Untergruppen übernimmt Nova mit einem Job vom Typ „Keycloak-Gruppen importieren“ als Berechtigungen. Nova zeigt sie mit ihrem Pfad an, etwa „Engineering/Backend“, und erkennt sie an ihrer Keycloak-ID. Realm- und Client-Rollen verwaltet Nova nicht.
Keycloak führt ein Konto nur in den Gruppen als Mitglied, denen es direkt angehört. Nova liest und schreibt ausschließlich diese direkten Mitgliedschaften, jeweils einzeln. Bei der Provisionierung liest Nova vorher die aktuellen Mitgliedschaften, damit das Änderungsjournal nur wirksame Änderungen enthält.
Letzter Login
Nova nimmt den jüngsten Zeitpunkt aus den Login-Ereignissen des Realms und aus den aktiven Sitzungen des Kontos. Login-Ereignisse gibt es nur, wenn der Realm sie speichert und der Service-Account view-events hat. Ohne sie kennt Nova nur den letzten Zugriff aus gerade aktiven Sitzungen.
KI-Agenten
Identitäten vom Typ „KI-Agent“ legt Nova in Keycloak nicht als Keycloak-Benutzer an, sondern als vertraulichen Client mit Service-Account. Ihre Gruppenmitgliedschaften liegen beim Service-Account dieses Clients. Das Client-Secret speichert Nova nicht; ein neues erzeugt „Secret rotieren“, und Nova zeigt es einmalig an. Mehr dazu unter KI-Agenten als Identitäten.