SCIM
SCIM 2.0 ist ein offener Standard für die Verwaltung von Konten und Gruppen. Über SCIM verwaltet Nova Konten und Gruppenmitgliedschaften in Anwendungen, die eine SCIM-2.0-Schnittstelle anbieten.
Verbindung
- „Base URL“: Nova hängt die SCIM-Pfade selbst an, etwa
/scim/v2/Users. Liegen die Endpunkte unterhttps://app.example.com/api/scim/v2/, lautet die Base URLhttps://app.example.com/api. - „Auth-Typ“: „Bearer“ mit Token, „Basic“ mit „Benutzer“ und „Passwort“ oder „Keine“.
- „Last-Logon-Attribut (SCIM)“ unter „Erweitert“, siehe Letzter Login.
„Status prüfen“ ruft /scim/v2/ServiceProviderConfig ab, ersatzweise die Base URL selbst.
Konten
| Aktion | SCIM-Aufruf |
|---|---|
| Suchen | GET /Users mit Filter userName eq "…" |
| Anlegen | POST /Users |
| Ändern | PATCH /Users/{id}, Operation replace |
| Passwort setzen | PATCH auf das Attribut password |
| Sperren, Entsperren | PATCH auf das Attribut active |
| Löschen | DELETE /Users/{id} |
Beim Anlegen sendet Nova userName (die Kennung), displayName, name mit Vor- und Nachnamen aus dem Namen der Identität, active, die E-Mail-Adresse als primäre Adresse und, falls vorhanden, das Passwort. Weitere einfache Attribute folgen dem „Mapping“.
Gruppen
Den Gruppenkatalog übernimmt ein Job vom Typ „SCIM-Gruppen importieren“; er liest die Gruppen seitenweise.
Mitgliedschaften ändert Nova per PATCH auf die Gruppe (/Groups/{id}, Operation add oder remove auf members); die übrigen Mitglieder bleiben unberührt. Als Mitgliedswert übergibt Nova die Kontokennung, unter der das Konto in Nova verknüpft ist. Bei der Provisionierung sucht Nova die Gruppe über ihren Anzeigenamen (displayName eq "…"). Wird eine Gruppe im SCIM-Server umbenannt, muss ihr Name in Nova nachgezogen werden, etwa durch einen erneuten Import mit „Bestehende Roles überschreiben“. Vor dem Schreiben liest Nova die Mitglieder der Gruppe, damit das Änderungsjournal nur wirksame Änderungen enthält.
Letzter Login
SCIM kennt kein Standardattribut für den letzten Login. Nova liest das Attribut, das unter „Last-Logon-Attribut (SCIM)“ eingetragen ist – auch als Pfad mit Punkten. Ist keines eingetragen oder liefert es keinen Wert, prüft Nova lastLogin, lastLogon, lastLoginTime und loginTime.
Was sich zwischen SCIM-Servern unterscheidet
SCIM lässt Anbietern Spielraum. Vor dem Einsatz sollte geklärt sein:
- ob die Endpunkte unter einem Pfad liegen, der auf
/scim/v2/endet - welche Anmeldung der Server verlangt – Nova unterstützt Bearer-Token und Basic
- ob der Server die Kontokennung als Mitgliedswert einer Gruppe annimmt oder die interne SCIM-ID des Kontos verlangt
- ob der Server die Filter
eq(füruserNameunddisplayName) undco(Gruppensuche) unterstützt - ob
PATCHfür Konten (/Users) und Gruppen unterstützt wird und ob sichpasswordundactivedarüber schreiben lassen - ob und unter welchem Namen der letzte Login geliefert wird
Ein Durchlauf mit einem Testkonto – anlegen, Gruppe zuweisen und entziehen, sperren, löschen – zeigt, ob ein Server zu diesen Annahmen passt.