Jeder kennt das Problem: Dutzende Anwendungen, dutzende Passwörter. Mitarbeiter vergessen Zugangsdaten, IT-Admins setzen ständig Passwörter zurück, und bei jedem Offboarding müssen manuell alle Zugänge gesperrt werden. Die Lösung heißt Single Sign-On (SSO) - und mit Keycloak lässt sich das komplett auf eigenen Servern realisieren.
Was ist Keycloak?
Keycloak ist eine Open-Source-Lösung für Identity und Access Management (IAM), ursprünglich von Red Hat entwickelt und mittlerweile ein CNCF-Projekt. Es bietet alle Funktionen, die man von kommerziellen Lösungen wie Okta, Auth0 oder Azure AD kennt - ohne Lizenzkosten und mit voller Datenkontrolle.
Single Sign-On
Ein Login für alle Anwendungen. Unterstützt OIDC, SAML 2.0 und OAuth 2.0 - kompatibel mit praktisch jeder modernen Anwendung.
User Federation
Anbindung an LDAP, Active Directory oder externe Identity Provider. Bestehende Benutzerverzeichnisse bleiben erhalten.
Multi-Faktor-Auth
TOTP, WebAuthn, SMS oder E-Mail als zweiter Faktor. Konfigurierbar pro Anwendung oder Benutzergruppe.
Feingranulare Rechte
Rollen, Gruppen und Berechtigungen zentral verwalten. Role-Based Access Control (RBAC) für alle angebundenen Anwendungen.
Warum Keycloak selbst hosten?
Cloud-basierte Identity-Lösungen wie Auth0 oder Okta sind bequem, aber sie haben ihren Preis - nicht nur finanziell. Hier sind die wichtigsten Gründe für Self-Hosting:
- Datensouveraenität: Alle Benutzerdaten bleiben in Ihrem Rechenzentrum. Keine Abhängigkeit von US-Anbietern, volle DSGVO-Konformität
- Keine Lizenzkosten: Keycloak ist komplett Open Source. Bei 500 Usern sparen Sie gegenüber kommerziellen Lösungen schnell 20.000 EUR pro Jahr
- Keine Vendor Lock-in: Standard-Protokolle (OIDC, SAML) bedeuten: Sie können jederzeit wechseln
- Unbegrenzte Anpassung: Eigene Themes, Custom Flows, Erweiterungen - alles ist möglich
- Offline-Fähigkeit: Funktioniert auch ohne Internet-Verbindung im internen Netz
Wichtig: Self-Hosting bedeutet auch Verantwortung. Sie benötigen Know-how für Installation, Updates, Backup und Monitoring. Ohne entsprechende Ressourcen kann ein Managed Service die bessere Wahl sein.
Keycloak installieren
Keycloak lässt sich auf verschiedene Arten betreiben. Die gängigste und empfohlene Methode ist der Betrieb mit Docker oder Kubernetes.
Voraussetzungen
- Linux-Server mit mindestens 2 GB RAM (4 GB empfohlen)
- Docker und Docker Compose installiert
- PostgreSQL oder MySQL als Datenbank (SQLite nur für Tests)
- Reverse Proxy mit SSL-Terminierung (nginx, Traefik)
- Gültige Domain mit SSL-Zertifikat
Docker Compose Setup
Eine minimale Produktions-Konfiguration mit Docker Compose:
# docker-compose.yml
version: '3.8'
services:
keycloak:
image: quay.io/keycloak/keycloak:latest
command: start
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: ${DB_PASSWORD}
KC_HOSTNAME: auth.ihre-domain.de
KC_PROXY: edge
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
depends_on:
- postgres
ports:
- "8080:8080"
postgres:
image: postgres:15
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
Tipp: Verwenden Sie in Produktion immer eine .env-Datei für Passwörter und setzen Sie KC_PROXY=edge, wenn Keycloak hinter einem Reverse Proxy läuft.
Grundkonfiguration
Nach der Installation erreichen Sie die Admin-Konsole unter https://auth.ihre-domain.de/admin. Die wichtigsten Konfigurationsschritte:
Realm erstellen
Ein Realm ist ein isolierter Bereich für Ihre Benutzer und Anwendungen. Erstellen Sie einen neuen Realm für Ihre Organisation.
Client anlegen
Für jede Anwendung, die SSO nutzen soll, wird ein Client angelegt. Hier definieren Sie Redirect-URLs und Protokoll-Einstellungen.
User Federation
Verbinden Sie Keycloak mit Ihrem Active Directory oder LDAP, um bestehende Benutzer zu importieren.
Realm-Einstellungen
Wichtige Einstellungen für einen produktiven Realm:
- Login-Theme: Passen Sie das Erscheinungsbild an Ihr Corporate Design an
- Password Policy: Definieren Sie Mindestlänge, Komplexität und Ablaufzeiten
- Brute Force Protection: Aktivieren Sie den Schutz gegen Login-Angriffe
- Session-Timeouts: Konfigurieren Sie SSO- und Idle-Timeouts
Anwendungen integrieren
Keycloak unterstützt verschiedene Protokolle zur Integration. Die wichtigsten:
OpenID Connect (OIDC)
Das modernste und empfohlene Protokoll für neue Anwendungen. Die meisten Frameworks haben native Unterstützung:
- Web-Anwendungen: JavaScript-Adapter, Spring Security, Laravel, Django
- Mobile Apps: Native SDKs für iOS und Android
- APIs: Token-basierte Authentifizierung mit JWT
SAML 2.0
Wichtig für Enterprise-Anwendungen und Legacy-Systeme. Viele kommerzielle Produkte unterstützen nur SAML:
- SaaS-Dienste: Salesforce, ServiceNow, Confluence, Jira
- Microsoft 365: Federation mit Azure AD
- Legacy-Anwendungen: Ältere Enterprise-Software
Integration mit Proxmox: Auch Virtualisierungsplattformen wie Proxmox VE lassen sich über OIDC oder LDAP an Keycloak anbinden. So nutzen Admins dieselben Credentials wie für andere Systeme.
Active Directory anbinden
Die meisten Unternehmen haben bereits ein Active Directory. Keycloak kann Benutzer und Gruppen direkt aus dem AD synchronisieren:
- User Federation hinzufügen: Wählen Sie "LDAP" als Provider
- Verbindungsdaten: Server-URL, Bind-DN und Passwort konfigurieren
- User-Mapping: LDAP-Attribute auf Keycloak-Attribute mappen
- Sync-Modus: Wählen Sie zwischen periodischer Synchronisation oder On-Demand
- Gruppen-Mapping: AD-Gruppen als Keycloak-Gruppen oder Rollen importieren
Best Practice: Nutzen Sie einen dedizierten Service-Account mit minimalen Rechten (nur Lesezugriff) für die LDAP-Verbindung. Aktivieren Sie LDAPS (Port 636) für verschlüsselte Kommunikation.
Multi-Faktor-Authentifizierung
Keycloak unterstützt verschiedene MFA-Methoden out of the box:
TOTP (Authenticator Apps)
Google Authenticator, Microsoft Authenticator, Authy - Standard-Methode für zeitbasierte Einmalpasswörter.
WebAuthn / FIDO2
Hardware-Keys wie YubiKey oder biometrische Authentifizierung via Fingerabdruck oder Face ID.
Die MFA-Anforderung kann flexibel konfiguriert werden - pro Anwendung, Benutzergruppe oder basierend auf Risikofaktoren wie unbekannten Geräten.
Betrieb und Wartung
Ein produktiver Keycloak-Server erfordert regelmäßige Wartung:
- Updates: Keycloak veröffentlicht regelmäßig Sicherheitsupdates. Planen Sie monatliche Update-Fenster
- Backup: Sichern Sie die PostgreSQL-Datenbank täglich. Testen Sie Restores regelmäßig
- Monitoring: Überwachen Sie Verfügbarkeit, Login-Fehler und Performance-Metriken
- Log-Analyse: Prüfen Sie regelmäßig auf verdächtige Login-Versuche
- Hochverfügbarkeit: Für kritische Umgebungen: Keycloak-Cluster mit Load Balancer
Fazit
Keycloak ist eine ausgereifte, enterprise-taugliche Lösung für Identity Management - ohne Lizenzkosten und mit voller Kontrolle über Ihre Daten. Die Einrichtung erfordert technisches Know-how, aber das Ergebnis ist eine flexible SSO-Infrastruktur, die mit Ihrem Unternehmen wächst.
Die wichtigsten Erfolgsfaktoren: Saubere Planung der Realm-Struktur, schrittweise Integration beginnend mit unkritischen Anwendungen, und robuste Betriebsprozesse für Updates und Backup. Mit diesen Grundlagen profitieren Sie von Single Sign-On ohne Vendor Lock-in.
Keycloak-Einführung geplant?
Wir unterstützen Sie bei Konzeption, Installation und Betrieb Ihrer Identity-Management-Lösung - auf Ihren Servern oder in unserem deutschen Rechenzentrum.