Wir setzen Keycloak mittlerweile seit über zehn Jahren ein. Damals fiel die Wahl auf eine Open-Source-Lösung mit erweiterbarer Architektur. Daraus sind über die Jahre unser Keycloak Competence Center und Uniport IAM gewachsen.
Eine erweiterbare Architektur heisst, dass wir nicht auf einen Hersteller warten müssen.
Warum die Wahl auf Keycloak fiel
Keycloak ist eine Open-Source-Lösung für Identity & Access Management, ursprünglich bei Red Hat entwickelt. Viele Funktionen wie Single Sign-On, Zwei-Faktor-Authentifizierung, Benutzerverwaltung und Federation mit bestehenden Verzeichnisdiensten bringt Keycloak von Haus aus mit.
Praktisch jede zentrale Komponente lässt sich erweitern oder ersetzen, von den Login-Flows über die Authentifizierungsmechanismen und die Anbindung an bestehende Benutzerverzeichnisse bis zur Integration externer Identity Provider. Wenn ein Kunde eine spezielle Anforderung hat, bauen wir die Erweiterung selber. Eine erweiterbare Architektur heisst, dass wir nicht auf einen Hersteller warten müssen.
Ein zweiter Grund war die Integration in bestehende Systeme. Wer schon ein Benutzerverzeichnis im Unternehmen betreibt, kann Keycloak daran anbinden. Über Standard-Protokolle wie OpenID Connect, SAML und OAuth 2 und die einfache Erweiterbarkeit fügt sich Keycloak in fast jede bestehende Landschaft ein.
Erweiterungen, die aus echten Bedürfnissen wuchsen
Mit jedem Projekt zeigten sich neue Anforderungen, für die es keinen vorgefertigten Baustein gab. So haben wir nach und nach das gebaut, was gefehlt hat.
Ein Finanzdienstleister brauchte Zwei-Faktor-Authentifizierung per SMS. So entstand unser SMS-Authenticator. Ein anderer Kunde wollte Bestellungen kryptographisch signieren lassen, mit Keycloak als vertrauenswürdiger Instanz, woraus die Signature Extension wurde. Für die automatisierte und reproduzierbare Konfiguration grosser Keycloak-Installationen haben wir später das Keycloak Config CLI von Adorsys in das Container Image eingebaut.
Diese und noch mehr Erweiterungen nutzen wir in unseren eigenen Projekten weiter. Da andere Keycloak-Teams vor denselben Anforderungen stehen, haben wir sie als Open Source auf GitHub veröffentlicht.
Aus den Erfahrungen wurde das Keycloak Competence Center
Mit den Jahren ist Keycloak eine Konstante in unserer Arbeit geworden. Wir haben Setups eingeführt, Migrationen begleitet, Erweiterungen gebaut, Systeme über Jahre betrieben.
2020 haben wir daraus das Keycloak Competence Center gemacht. Heute betreuen wir damit Kunden in ganz verschiedenen Situationen, von ersten Einführungen über Code Reviews bis zu langjährigen Begleitungen. Auf keycloak.ch gibt es Tutorials, Schulungen und Beratung.
Uniport IAM: aus wiederkehrenden Erweiterungen ein Produkt
Einige Erweiterungen verlangten unsere Kunden immer wieder: ein benutzerfreundlicheres Administrations-UI als das, was Keycloak mitbringt, eine delegierte Benutzerverwaltung für B2B-Szenarien, volle Mandantenfähigkeit für Plattformbetreiber.
Daraus entstand Uniport IAM. Unter der Haube steckt Keycloak, ergänzt um eine vereinfachte, aber mächtige Administrationsoberfläche, ein Organisationsmodell für B2B-Kunden und durchgängige Mandantenfähigkeit. Ein institutioneller Kunde verwaltet seine Benutzer selber, vergibt Rollen, onboardet Mitarbeitende, ohne den Helpdesk anrufen zu müssen.
Mehrere Kunden setzen Uniport IAM produktiv ein. Die einen betreiben damit mandantenfähige Plattformen, andere Kundenportale, über die sich Kunden anmelden und auf ihre eigenen Daten zugreifen. Wieder andere lassen Uniport IAM als Portal as a Service von uns hosten und betreiben. Weitere Setups zeigen wir auf uniport.ch.
Was aus zehn Jahren Keycloak entstanden ist
Aus dem ersten Projekt mit Keycloak ist mit der Zeit einiges gewachsen. Dazu gehören das Keycloak Competence Center und Uniport IAM. Beide sind aus konkreten Kundenanforderungen entstanden und aus dem Wissen, das sich über die Jahre angesammelt hat.


