Ein wichtiger Meilenstein der schrittweisen Migration auf Keycloak als Identity Provider in UCS ist erreicht: Im August 2022 haben wir Keycloak als App im UCS App Center zur Integration in UCS in einer ersten Version bereitgestellt und diese seitdem schrittweise weiterentwickelt. Mit dem letzten Release im Dezember ist die App nun auch Teil unseres offiziellen Produktsupports und damit bereit für den produktiven Einsatz.
In diesem Artikel möchte ich Ihnen einen Überblick über die Möglichkeiten, die Ihnen Keycloak bieten wird, den aktuellen Stand der Migration des Identity Providers von UCS auf Basis von Keycloak sowie einen Ausblick auf weitere in den nächsten Monaten kommende Funktionen geben.
Inhaltsverzeichnis
Welche Funktionen bietet der Identity Provider?
Der Identity Provider (IdP) übernimmt die Authentifikation und optional auch die Autorisation von Identitäten, wenn diese auf IT-Services zugreifen möchten. Für die Authentifikation prüft der Identity Provider dabei, ob korrekte Anmeldedaten – bei einem Benutzer beispielsweise die Nutzerkennung, das Passwort und ggf. weitere Faktoren – vorliegen, und kann dann entscheiden, auf welche Dienste die Person zugreifen darf (Autorisation).
Damit die Abfrage für die Nutzenden komfortabel bleibt, implementiert der Identity Provider Single Sign-on-Technologien wie SAML oder OpenID Connect, die eine einmalige Authentifikation mit denselben Credentials für den Zugriff auf viele Dienste ermöglichen.
Wie wird der Identity Provider von UCS momentan bereitgestellt?
Für das Single-Sign-on an Webanwendungen unterstützt UCS schon lange die Protokolle SAML (Security Assertion Markup Language) sowie OpenID Connect. Dazu haben wir die Softwarelösungen „simpleSAMLphp“ und „Kopano Connect“ in UCS integriert. Diese bieten eine gute und tiefe Integration mit der UCS-Benutzerverwaltung (Univention Directory Manager) und dem Identity Store (OpenLDAP). Im Vergleich zu anderen Implementierungen ist der konfigurierbare Funktionsumfang aber begrenzt.
Wir haben uns daher nach dem Vergleich verschiedener Open-Source-Implementierungen für Identity Provider, dafür entschieden, eine schrittweise Migration auf die Software Keycloak als neuen Identity Provider durchzuführen und als zukünftigen Standard in UCS zu setzen.
Keycloak ist deutlich umfangreicher konfigurierbar als der bisherige Identity Provider und bringt von Haus aus viele zusätzliche Funktionen mit, die wir schrittweise in UCS aktiviert haben und noch aktivieren werden. Keycloak wird von einer großen Zahl Organisationen weltweit eingesetzt und wird daher auch deutlich aktiver weiterentwickelt als die bisher integrierten Lösungen, die stagnieren oder sogar abgekündigt sind.
Welche Funktionen soll UCS mit Keycloak zukünftig bieten, und wo steht die aktuelle App?
Der Funktionsumfang von Keycloak ist sehr umfangreich und durch Plugins und APIs erweiterbar. Der aktuelle Funktionsumfang der im App Center bereitgestellten UCS Keycloak App geht bereits deutlich über den Umfang des alten IDP hinaus, für einen Ersatz in allen bisherigen Einsatzszenarien fehlen aber auch noch einige Funktionen. Wir planen daher, die App schrittweise weiterzuentwickeln, bevor sie schließlich als neuer Standard den bisherigen IDP komplett ersetzen wird.
In der folgenden Tabelle gebe ich einen ersten Überblick über die bestehenden und kommenden Funktionen der Keycloak App und stelle deren aktuellen Implementierungsstand zum Vergleich der Funktionalität des alten IDPs gegenüber.
Funktionalität | Implementierungsstand Keycloak App | Verfügbar für bisherigen IDP (SimpleSAMLPHP / Kopano Connect) |
Single Sign-on über SAML und OpenID Connect | Implementiert | Implementiert |
Redundanter Betrieb auf mehreren UCS Instanzen | Implementiert | Implementiert |
Integrierte 2-Faktor Authentifikation (OTP) | Implementiert, aber noch nicht im Supportumfang | Nicht verfügbar |
Erweiterte 2-Faktor Authentikation über PrivacyIdea | Implementiert, aber noch nicht im Supportumfang | Implementiert |
Identity Federation für externe IDPs und deren Service Provider | Implementiert, aber noch nicht im Supportumfang | Eingeschränkt verfügbar |
Identity Federation zur Bereitstellung von Service Providern auf UCS für externe IDPs | Implementiert, aber noch nicht im Supportumfang | Nicht verfügbar |
Single Sign-on mit Kerberos für Arbeitsplätze in UCS Kerberos/Samba Domänen | Noch nicht implementiert | Implementiert |
Brute Force Login prevention (Abweisen extrem häufiger Anmeldeversuche) | In Implementierung begriffen | Eingeschränkt verfügbar |
Konfigurierbare Login-Maske (Theme, Links) | In Implementierung begriffen | Implementiert |
Nutzerführung bei abgelaufenen Kennwörtern und für das Onboarding nach Registrierung im Self Service | In Planung | Implementiert |
Die genaue Beschreibung der Funktionen – insbesondere die Identity Federation – würden den Umfang dieses Blogartikels sprengen. Wir werden darauf in weiteren Artikeln genauer eingehen.
Generell bietet ein natives Keycloak noch mehr Möglichkeiten, als in der App für UCS aktuell nutzbar sind. Den genauen Stand der jeweils aktuellen Version der UCS Keycloak App finden Sie in der UCS Dokumentation beschrieben, ebenso wie die Information des von unserem Support abgedeckten Funktionsumfangs.
Wann wird die Keycloak App der neue Standard IDP?
Als „Standard IDP“ bezeichnen wir die Implementierung, die bei Neuinstallationen von UCS automatisch ausgerollt wird. Das wird für alle Releases von UCS 5.0-x weiterhin die bestehende Lösung mit SimpleSAMLPHP sein, zu der Sie wie bisher optional die Kopano Connect App für OpenID Connect installieren können.
Die Umstellung auf die Keycloak App als neue Standard IDP wollen wir mit dem nächsten Minor Release, also UCS 5.1, durchführen. Voraussichtlich wird es mit UCS 5.1 nicht mehr möglich sein, den bisherigen, auf den alten Technologien basierenden IDP weiterzuverwenden. Die Migration auf die UCS Keycloak App sollten Sie daher vorher vornehmen. Durch die jetzt erfolgte Veröffentlichung der ersten durch unseren Support abgedeckten Version können Sie damit jetzt schon beginnen und haben genügend Zeit, die Umstellung vorzunehmen. Ein genaues Release-Datum für UCS 5.1 steht noch nicht fest, sicher ist aber, dass wir für UCS 5.0 und damit auch für den bisherigen IDP für Inhaber einer Enterprise Subskription mindestens bis Ende 2023 Support und Sicherheitsupdates (Maintenance) bereitstellen werden.
Wir freuen uns, mit der Keycloak App eine deutliche Erweiterung der Möglichkeiten und Funktionen von UCS vorstellen zu können. Ich bin gespannt auf Ihr Feedback und Fragen dazu – hier im Blog, auf help.univention.com/ oder persönlich auf dem Univention Summit am 17. und 18. Januar 2023!