Worum es geht
Nicht jedes Konto entsteht über die Registrierung von CIAS. Manche gab es schon, bevor CIAS eingeführt wurde, andere hat ein Betreiber in der Keycloak-Konsole angelegt. Solche Konten kennt CIAS nicht: Es gibt keinen Benutzerdatensatz, also tauchen sie in keiner Liste auf und lassen sich nicht sperren.
Die Übernahme legt für diese Konten Datensätze an.
Das Mengenbild
flowchart LR
subgraph K["Konten in Keycloak"]
direction TB
A["schon in CIAS bekannt"]
B["unbekannt, aktiv"]
C["unbekannt, nicht aktiv"]
D["unbekannt, aber nicht übernehmbar"]
end
A -- "bleibt unverändert" --> R1["alreadyKnown"]
B -- "Datensatz, ACTIVE" --> R2["activated"]
C -- "Datensatz, PENDING" --> R3["recorded"]
D -- "mit Grund" --> R4["skipped"]
Der Ablauf
-
1Admin→CIASstartet die Übernahme, ohne Inhalt
-
2CIASPlattform-Administrator?sonst 403
-
3CIAS→Keycloakliest alle Konten, seitenweise zu je 200
-
4CIASFür jedes Konto: schon bekannt? Dann weiter
-
5CIASHeimatmandant bestimmen, Datensatz anlegen, bei aktivem Konto auf
ACTIVEsetzen -
6CIAS→AdminBericht
Die Übernahme läuft nur auf Knopfdruck, nie von selbst. Die Verwaltungsoberfläche des Hubs bietet dafür einen Knopf in der Benutzerliste.
Was aus jedem Konto wird
Wann: Das Konto ist in Keycloak aktiviert und die Adresse bestätigt.
CIAS legt einen Datensatz an und setzt ihn auf ACTIVE. Der Anzeigename kommt aus Vor- und Nachname.
Ergebnis: Zählt als recorded und activated.
Wann: Das Konto ist deaktiviert oder die Adresse nicht bestätigt.
CIAS legt einen Datensatz an, lässt ihn aber auf PENDING.
Ergebnis: Zählt als recorded.
Wann: Zu dem Konto gibt es schon einen Datensatz.
Nichts passiert. Die Übernahme überschreibt keinen bestehenden Datensatz.
Ergebnis: Zählt als alreadyKnown.
Wann: Das Konto lässt sich nicht eindeutig zuordnen.
Zwei Gründe: Das Konto ist Mitglied in mehreren Organisationen, sodass kein eindeutiger Heimatmandant feststeht. Oder die Adresse gehört in CIAS schon zu einem anderen Konto.
Ergebnis: Steht mit Adresse und Grund in skipped.
Der Heimatmandant
Den Heimatmandanten liest CIAS aus der Mitgliedschaft in einer Organisation: Ist das Konto Mitglied in genau einer Organisation, wird deren Alias zum Heimatmandanten. Ohne Organisation bekommt die Person keinen Heimatmandanten.
Der Bericht
POST /cias/admin/users/import{
"found": 120,
"recorded": 14,
"activated": 12,
"alreadyKnown": 104,
"skipped": [
{ "email": "ben@example.org", "reason": "belongs to several organizations (nordbau, suedlogistik)" },
{ "email": "cara@example.org", "reason": "…" }
]
}| Feld | Bedeutung |
|---|---|
found | Konten in Keycloak |
recorded | neu angelegte Datensätze, einschließlich der aktivierten |
activated | davon gleich auf ACTIVE gesetzt |
alreadyKnown | schon vorher bekannt |
skipped | nicht übernommen, mit Grund |
Jedes Konto wird für sich gespeichert. Bricht ein Lauf ab, startet man ihn einfach noch einmal; bereits übernommene Konten zählen dann als alreadyKnown.