14.05.2018 von Jonatan Zint

SSO (Single-Sign-On) mit Keycloak

Selbst gehostetes Single-Sign-On via SAML2.0 ist nicht so kompliziert wie gedacht.

Gerade für kleine Unternehmen / Organisationen scheint das Integrieren einer Single-Sign-On Lösung für ihre eigesetzten IT-Services eine überwältigende Aufgabe, weshalb in vielen Umgebungen jede Applikation ihre eigene Nutzer_innendatenbank verwaltet.

Dabei liegen die Vorteile die Authentifizierung zu zentralisieren auf der Hand und bietet bestechende Argumente wie:

  • Eine leichtere Passwortverwaltung für Anwender_innen.
  • Option zum Festlegen von organisationsweiten Authentifizierungsrichtlinien (2FA, Passwortmindestanforderungen, E-Mail-Validierung).
  • Verminderter Administrationsaufwand durch eine zentrale Mitgliederverwaltung und automatisches Provisionieren und Deaktivieren von Accounts.

Ich war beim Einrichten so eines Systems bislang recht zurückhaltend, da sich übliche Systeme als komplex und aufwändig zu installieren entpuppten. Für die prominentesten Implementierungen zentraler Verzeichnis- und Authentifizierungsdiensten trifft das meines Erachtens auch zu. Der Aufwand einen OpenLDAP Server oder eine Windows Domäne, samt der notwendigen Authentifizierungsadapter zu pflegen, verlangt meines Erachtens nach unbedingt eine_n dedizierte_n Systemadministrator_in und lohnt sich für kleine Teams kaum.

Trotzdem war ich für unsere Genossenschaft motiviert, das Thema nochmal anzugehen und zu evaluieren ob es eine Single-Sign-On Lösung gibt, die vergleichsweise schnell und leicht aufsetzbar ist.

Den ganzen Prozess mit einer vollständigen Installations- und Integrationsanleitung für Keycloak, Redmine, GitLab und Nextcloud ist in Englisch hier dokumentiert.