In der Welt des Identitätsmanagements spielt die Automatisierung der Benutzerverwaltung eine immer größere Rolle. Ein wichtiger Standard, der in diesem Zusammenhang häufig genannt wird, ist SCIM (System for Cross-domain Identity Management). Doch was ist SCIM genau, warum ist es so einfach, und was bedeutet es, dass Keycloak diesen Standard nicht nativ unterstützt? Das erfahren Sie in diesem Artikel.
Was ist SCIM?
SCIM ist ein offenes Standardprotokoll, das entwickelt wurde, um die Verwaltung von Benutzeridentitäten und Gruppen über verschiedene Systeme hinweg zu vereinfachen. Es basiert auf Web-Technologien wie REST und JSON, was es besonders leicht zu integrieren macht.
Man kann sich SCIM ein wenig wie LDAP vorstellen, allerdings speziell für das Web. Während LDAP (Lightweight Directory Access Protocol) häufig für die Kommunikation mit Verzeichnisdiensten innerhalb von Unternehmensnetzwerken verwendet wird, wurde SCIM entwickelt, um diese Funktionalität auf moderne, cloudbasierte Anwendungen auszuweiten. Es ist praktisch eine „webfreundliche“ Alternative.
SCIM ist einfach
Der große Vorteil von SCIM liegt in seiner Einfachheit. Dank seiner Nutzung von REST-APIs und JSON können Entwickler leicht Schnittstellen erstellen, die SCIM-kompatibel sind. Hier ein einfaches Beispiel für eine SCIM-Anfrage zur Erstellung einer neuen Identität
Beispiel: Anlage einer Identität mit SCIM
POST /scim/v2/Users HTTP/1.1
Content-Type: application/json
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
}
Diese Anfrage erstellt einen Benutzer mit dem Namen „John Doe“ und der E-Mail-Adresse „jdoe@example.com“. Die SCIM-Spezifikation definiert standardisierte Endpunkte und Felder, was die Interoperabilität zwischen Systemen deutlich erleichtert.
Keycloak und SCIM: Ein fehlendes Puzzlestück
Keycloak ist ein mächtiges Tool für Identitäts- und Zugriffsmanagement, unterstützt jedoch nativ kein SCIM. Dies kann in einigen Szenarien ein Nachteil sein, insbesondere wenn andere Systeme, die SCIM nutzen, angebunden werden sollen. Ohne SCIM-Unterstützung müssen Benutzer- und Gruppendaten über alternative Wege wie Keycloaks REST-API oder benutzerdefinierte Middleware synchronisiert werden. Dies erhöht den Entwicklungsaufwand und die Komplexität.
Allerdings könnte sich dies in der Zukunft ändern. Die Keycloak-Community entwickelt die Plattform kontinuierlich weiter, und SCIM ist ein häufig angefragtes Feature. Es ist durchaus denkbar, dass SCIM-Unterstützung in einer zukünftigen Version implementiert wird. Unternehmen, die auf Keycloak setzen, sollten daher die Entwicklungen im Auge behalten.
Anwendungsfälle für SCIM
SCIM wird von vielen modernen Identitätsdiensten und Anwendungen unterstützt. Hier sind einige Beispiele für Anwendungsfälle und Systeme, die mit SCIM arbeiten:
- Identitätssynchronisation mit Entra ID (ehemals Azure AD)
- SCIM kann verwendet werden, um Benutzeridentitäten zwischen Keycloak und Entra ID zu synchronisieren
- Unternehmen nutzen dies, um ihre Benutzer in der Cloud und vor Ort konsistent zu halten
- Integration mit SaaS-Anwendungen
- Viele SaaS-Dienste wie Google Workspace, Slack, ServiceNow und Zendesk unterstützen SCIM. Mit SCIM lassen sich Benutzerkonten automatisch erstellen oder löschen, wenn sich der Status eines Benutzers im zentralen Identitätssystem ändert
- Synchronisation mit HR-Systemen
- Plattformen wie Okta, OneLogin und Ping Identity bieten SCIM-Unterstützung für die nahtlose Benutzerverwaltung über mehrere Systeme hinweg
Fazit
SCIM ist ein moderner, einfacher Standard, der die Benutzer- und Gruppenverwaltung enorm erleichtert. Die fehlende SCIM-Unterstützung in Keycloak ist ein Nachteil, da viele Unternehmen von der einfachen Integration und Automatisierung profitieren könnten. Dennoch gibt es Workarounds, wie die Nutzung von Keycloaks REST-APIs oder Drittanbieter-Plugins.
Die Zukunft bleibt spannend: Mit der zunehmenden Verbreitung von SCIM und der aktiven Weiterentwicklung von Keycloak könnte eine native SCIM-Unterstützung bald Realität werden. Dies würde die Plattform noch attraktiver für Unternehmen machen, die auf moderne Identity-Management-Standards setzen.
Wenn Sie planen, Keycloak in ein größeres System mit SCIM-Unterstützung zu integrieren, können Middleware-Lösungen oder Eigenentwicklungen helfen, diese Lücke zu schließen. Der Aufwand lohnt sich besonders, wenn Sie mit SaaS-Anwendungen, HR-Systemen oder Cloud-Identitätsdiensten wie Entra ID arbeiten.
