Definition: Keycloak ist eine Open-Source-Software für Identity and Access Management (IAM). Sie bietet Single Sign-on über OpenID Connect, OAuth 2.0 und SAML 2.0, bindet Verzeichnisse wie LDAP und Active Directory an und unterstützt Multi-Faktor-Authentifizierung. Anwendungen geben die Anmeldung an Keycloak ab, statt sie selbst zu bauen.
Was ist Keycloak?
Ohne zentrale Anmeldung hat jede Anwendung ihre eigene Benutzerverwaltung. Nutzer brauchen viele Passwörter, und beim Austritt einer Person muss die IT jedes Konto einzeln sperren. Keycloak löst das. Es übernimmt die Anmeldung für alle angebundenen Anwendungen an einer Stelle.
Ein Bild: Keycloak ist der Empfang in einem Bürogebäude. Dort zeigen Sie einmal Ihren Ausweis und bekommen eine Besucherkarte. Mit dieser Karte öffnen Sie alle Türen, für die Sie berechtigt sind, ohne sich jedes Mal neu auszuweisen.
Das Projekt startete 2014 bei Red Hat. Seit 2023 ist es ein Projekt der Cloud Native Computing Foundation (CNCF). Seit Version 17 läuft Keycloak auf dem Java-Framework Quarkus. Es steht unter der Lizenz Apache 2.0.
Die wichtigsten Funktionen
- Single Sign-on: einmal anmelden, alle Anwendungen nutzen. Auch die Abmeldung gilt für alle.
- Standardprotokolle: OpenID Connect, OAuth 2.0 und SAML 2.0.
- User Federation: Anbindung an LDAP und Active Directory, auch Kerberos.
- Identity Brokering: Anmeldung über andere Identitätsanbieter, etwa das Konto einer Partnerfirma oder einen Social Login.
- Multi-Faktor-Authentifizierung: Einmalcodes per App, Hardware-Schlüssel und Passkeys über WebAuthn.
- Selbstbedienung: Nutzer ändern Passwort, Profil und zweiten Faktor selbst in der Kontoverwaltung.
- Verwaltungsoberfläche: Nutzer, Rollen, Anwendungen und Richtlinien in einer Weboberfläche pflegen.
- Erweiterbar: Eigene Anmeldeschritte, Designs und Anbindungen lassen sich über Schnittstellen ergänzen.
Wichtige Begriffe
Realm
Ein abgeschlossener Bereich mit eigenen Nutzern, Anwendungen und Einstellungen. Der Realm „master“ dient nur der Verwaltung von Keycloak selbst. Für Ihre Nutzer legen Sie eigene Realms an, etwa einen pro Mandant.
Client
Eine Anwendung, die Keycloak für die Anmeldung nutzt, zum Beispiel ein Wiki, ein Chat oder eine eigene Web-App.
Rollen und Gruppen
Rollen beschreiben Rechte, etwa „Admin“ oder „Leser“. Gruppen bündeln Nutzer, zum Beispiel nach Abteilung. Weisen Sie Rollen am besten Gruppen zu statt einzelnen Personen.
Token
Nach der Anmeldung stellt Keycloak der Anwendung ein signiertes Token aus. Darin steht, wer der Nutzer ist und welche Rollen er hat. Die Anwendung prüft die Signatur und vertraut dann dem Inhalt.
So funktioniert die Anmeldung mit Keycloak
- Ein Nutzer öffnet eine Anwendung.
- Die Anwendung leitet ihn zu Keycloak weiter.
- Keycloak prüft Passwort und, falls nötig, den zweiten Faktor.
- Keycloak schickt den Nutzer mit einem Token zurück zur Anwendung.
- Öffnet der Nutzer eine weitere Anwendung, erkennt Keycloak die laufende Sitzung. Eine neue Anmeldung ist nicht nötig.
Keycloak sicher betreiben
- Aktuell halten: Updates zeitnah einspielen, denn Keycloak ist das Tor zu allen Anwendungen.
- Verwaltung schützen: Die Verwaltungsoberfläche nicht offen ins Internet stellen und für Admins MFA verlangen.
- Passwortregeln: Mindestlänge festlegen und bekannte, unsichere Passwörter sperren.
- Brute-Force-Schutz: Den eingebauten Schutz gegen viele Fehlversuche einschalten.
- Verschlüsselung: Nur über HTTPS erreichbar machen und Verzeichnisse über LDAPS anbinden.
- Protokolle auswerten: Anmeldeereignisse und Änderungen an Admins in ein SIEM schicken.
Keycloak und Alternativen
Neben Keycloak gibt es weitere Open-Source-Lösungen wie Authentik oder Zitadel und Cloud-Dienste großer Anbieter. Für Keycloak sprechen die große Gemeinschaft, die vielen Funktionen und der Betrieb im eigenen Rechenzentrum. Ihre Nutzerdaten bleiben so unter Ihrer Kontrolle. Dafür braucht es Wissen für Einrichtung und Betrieb.
Keycloak in SecTepe.Comm
Die Anmeldung in SecTepe.Comm beruht auf Keycloak (auf Quarkus) mit PostgreSQL als Datenbank. Jeder Mandant bekommt einen eigenen Realm. Für MFA stehen Einmalcodes (TOTP), FIDO2-Hardware-Schlüssel und Passkeys bereit. Ihr Active Directory wird über LDAPS angebunden, und Konten lassen sich über SCIM 2.0 automatisch anlegen. Neue Passwörter brauchen mindestens 14 Zeichen. Wie Keycloak mit einem AD-Connector zusammenspielt, zeigt unser Beitrag Identity & Access Management mit Keycloak und AD-Connector.
Fazit
Keycloak ist eine bewährte Open-Source-Lösung für Single Sign-on und Identity & Access Management. Es unterstützt die gängigen Protokolle, bindet Active Directory an und bietet MFA mit Passkeys. Weil es das Tor zu allen Anwendungen ist, verdient es besonders sorgfältige Pflege und Absicherung.
Häufige Fragen zu Keycloak
Was ist Keycloak einfach erklärt?
Keycloak ist eine kostenlose Open-Source-Software für Anmeldung und Zugriffsverwaltung. Nutzer melden sich einmal bei Keycloak an und kommen dann ohne neue Passwortabfrage in alle angebundenen Anwendungen. Keycloak prüft die Identität, fragt bei Bedarf einen zweiten Faktor ab und sagt den Anwendungen, wer der Nutzer ist und welche Rechte er hat.
Ist Keycloak kostenlos?
Ja. Keycloak steht unter der Open-Source-Lizenz Apache 2.0 und darf auch kommerziell kostenlos genutzt werden. Kosten entstehen für Server, Betrieb, Updates und gegebenenfalls für Support durch einen Dienstleister.
Welche Protokolle unterstützt Keycloak?
Keycloak unterstützt OpenID Connect, OAuth 2.0 und SAML 2.0. Damit lassen sich die meisten modernen Web-Anwendungen, mobile Apps und viele Unternehmensprogramme anbinden.
Kann Keycloak mit Active Directory und LDAP arbeiten?
Ja. Über die User Federation bindet Keycloak ein vorhandenes LDAP-Verzeichnis oder Active Directory an. Nutzer melden sich dann mit ihren bekannten Zugangsdaten an. Die Verbindung sollte verschlüsselt sein, zum Beispiel über LDAPS.
Was ist ein Realm in Keycloak?
Ein Realm ist ein abgeschlossener Bereich mit eigenen Nutzern, Rollen, Anwendungen und Einstellungen. Nutzer eines Realms sehen andere Realms nicht. So lassen sich zum Beispiel verschiedene Mandanten oder Umgebungen sauber trennen.
Unterstützt Keycloak Multi-Faktor-Authentifizierung und Passkeys?
Ja. Keycloak unterstützt Einmalcodes aus einer App (OTP) sowie WebAuthn. Mit WebAuthn sind Hardware-Schlüssel und Passkeys möglich. Über Anmeldeabläufe lässt sich festlegen, wann welcher Faktor nötig ist.
Weitere Begriffe in „Identity & Access“
- Authentifizierung
- Biometrische Authentifizierung
- BYOD
- Identity & Access Management (IAM)
- Least Privilege (Prinzip der geringsten Rechte)
- Mobile Device Management (MDM)
- Multi-Faktor-Authentifizierung (MFA)
- Need-to-know-Prinzip
- Privilegieneskalation
- Security Assertion Markup Language (SAML)
- Shadow IT
- Single Sign-On (SSO)