- Keycloak ist ein Open-Source-Identitätsanbieter, der Authentifizierung, Autorisierung und SSO für mehrere Anwendungen mithilfe von OAuth 2.0, OpenID Connect und SAML zentralisiert.
- Das Modell mit Domänen, Benutzern, Gruppen und Rollen ermöglicht eine flexible Verwaltung von Identitäten und Berechtigungen, einschließlich der Föderation mit externen Verzeichnissen wie LDAP, Active Directory oder Azure AD.
- Es kann auf Docker, Kubernetes oder Maschinen bereitgestellt werden. Linux mit PostgreSQL und skalieren Sie hochverfügbar hinter Reverse-Proxys und Load Balancern wie Nginx und Keepalived.
- Mit Hilfe von Mappern können von Keycloak ausgegebene JWT-Token individuell angepasst werden, wodurch feine Sicherheitsmodelle ermöglicht werden, die sich problemlos in moderne APIs und Anwendungen integrieren lassen.

Fast jede moderne Anwendung, die Sie täglich nutzen (E-Mail, soziale Medien, Firmenintranets, Kunden-Dashboards usw.), verwendet im Hintergrund ein System, das festlegt, wer Sie sind und worauf Sie Zugriff haben. Wenn Unternehmen immer mehr Anwendungen, Dienste und APIs einsetzen, wird die manuelle Verwaltung von Benutzern, Passwörtern, Berechtigungen und Sitzungen schnell zu einem echten Problem.
Keycloak ist hierfür eine praktische Lösung : Es handelt sich um eine Plattform für Identitäts- und Zugriffsmanagement, die Authentifizierung, Autorisierung und Single Sign-On für mehrere Anwendungen zentralisiert. Anstatt dass jede Anwendung ihr eigenes Anmeldesystem, ihre eigenen Rollen und die Passwortwiederherstellung implementiert, übernimmt Keycloak all dies, und die Anwendungen greifen einfach über Standards wie OAuth 2.0, OpenID Connect oder SAML 2.0 darauf zu.
Was ist Keycloak und welche Rolle spielt es in der IAM-Sicherheit?
Keycloak ist ein Open-Source-Identitätsanbieter (IdP), der in Java geschrieben und von Red Hat (ehemals JBoss) betreut wird. Er ist unter der Apache-2.0-Lizenz lizenziert und kann daher auch in kommerziellen Umgebungen frei verwendet und angepasst werden. Es gibt zwar eine kostenpflichtige Version für Unternehmen namens Red Hat Single Sign-On, deren Kernfunktionalität jedoch identisch ist.
Dieser Identitätsserver bietet SSO, Föderation und Mandantenfähigkeit : Er ermöglicht es einem Benutzer, sich einmal anzumelden und auf mehrere Anwendungen zuzugreifen, diesen Anwendungen, die Authentifizierung an Keycloak zu delegieren, und der Verwaltung von Benutzern, Gruppen, Attributen und Berechtigungen, die zentral erfolgen kann, ohne das Rad in jedem Projekt neu implementieren zu müssen.
Keycloak hebt sich von anderen IAM-Lösungen (kostenlos, Open Source oder proprietär) durch seine ausgereifte Technologie, seine hohe Verbreitung und seine Kompatibilität mit Standardprotokollen ab. Die richtige Lösung für jedes Unternehmen hängt jedoch von dessen individuellen Bedürfnissen ab (kommerzieller Support, SLAs, spezifische Funktionen, On-Premises- oder SaaS-Bereitstellung usw.).
Eine der Stärken von Keycloak ist die Kombination mehrerer Komponenten: Authentifizierung basierend auf OAuth 2.0 und OpenID Connect, SAML 2.0-Unterstützung, Social Login ( Google , Facebook , GitHub usw.), Integration mit LDAP und Active Directory, Administration über Webkonsole, CLI und REST-API sowie ein flexibles Modell von Benutzern, Gruppen und Rollen, die sich in den für Anwendungen ausgegebenen Token widerspiegeln.

Erforderliche Grundlagen: OAuth 2.0, OpenID Connect und JWT
Um die Funktionsweise von Keycloak vollständig zu verstehen, ist es hilfreich, drei Schlüsselkonzepte zu kennen : OAuth 2.0, OpenID Connect (OIDC) und JSON Web Tokens (JWT). Sie müssen kein Experte sein, aber das Verständnis der grundlegenden Ideen ist unerlässlich, da alles darauf basiert.
OAuth 2.0 als Autorisierungsframework
OAuth 2.0 ist ein standardisiertes API-Autorisierungsframework, das von Branchengrößen wie Google, Facebook, Microsoft, GitHub und LinkedIn eingesetzt wird. Seine Hauptfunktion besteht darin, einer Anwendung (Client) den Zugriff auf die Ressourcen eines Benutzers in einer anderen Anwendung oder API mit dessen ausdrücklicher Zustimmung zu ermöglichen, ohne dass Anmeldeinformationen ständig weitergegeben werden müssen.
Anstatt bei jeder Anfrage Benutzername und Passwort zu senden , verwendet OAuth 2.0 das Konzept eines Zugriffstokens: ein kurzlebiges Zugriffstoken, das mit HTTP-Aufrufen an die API gesendet und anschließend von dieser validiert wird. Der Identitätsanbieter (z. B. Keycloak) stellt dieses Token nach Überprüfung der Identität und Zustimmung des Nutzers aus.
Der Standard definiert verschiedene Autorisierungsabläufe (Grant-Typen), um den Prozess an den jeweiligen Clienttyp anzupassen: sichere Backend-Anwendungen, browserbasierte Single-Page-Anwendungen (SPAs), mobile Apps , Geräte mit eingeschränkten Berechtigungen, Maschine-zu-Maschine-Kommunikation usw. Jeder Ablauf legt fest, was in jedem Schritt ausgetauscht wird (Autorisierungscodes, Token, Anmeldeinformationen usw.).
Die vier grundlegenden Rollen von OAuth 2.0 sind:
- Ressourcenbesitzer: in der Regel der Benutzer, dessen Daten Sie einsehen oder ändern möchten.
- Kunden: die Anwendung (Web, Mobilgeräte, IoT, Backend…), das im Namen des Benutzers handeln möchte.
- Ressourcenserver: die API, die die Daten bereitstellt und die Zugriffstoken validiert.
- Autorisierungsserver: der Identitätsanbieter (Keycloak), der den Benutzer authentifiziert und Token ausgibt.
Darüber hinaus führt OAuth 2.0 das Konzept der Scopes ein , die den Umfang der Berechtigungen definieren, die der Benutzer der Anwendung erteilt: E-Mails lesen, in einem sozialen Netzwerk posten, auf ein Basisprofil zugreifen usw. Das ausgestellte Token kodiert, welche Berechtigungen dem Client tatsächlich erteilt wurden.
OpenID Connect: eine Identitätsschicht auf Basis von OAuth 2.0
OpenID Connect (OIDC) erweitert OAuth 2.0 um die Identitätsprüfung . Während sich OAuth mit der Autorisierung befasst (was eine Anwendung tun darf), konzentriert sich OIDC auf die standardisierte Identifizierung des authentifizierten Benutzers und die Ermittlung seiner grundlegenden Daten.
OIDC definiert bekannte Endpunkte und Metadatenwie beispielsweise das auf der Route veröffentlichte Entdeckungsdokument. /.well-known/openid-configuration Dabei gibt der Anbieter Autorisierungs-URLs, Token, öffentliche Schlüssel, Benutzerinformationen usw. an. Dadurch können Anwendungen nahezu automatisch konfiguriert werden.
Es stellt außerdem den UserInfo-Endpunkt bereit , mit dem Informationen über den authentifizierten Benutzer (Name, E-Mail-Adresse usw.) mithilfe eines gültigen Zugriffstokens abgerufen werden können. Bei Keycloak-basierten Integrationen ist es üblich, diese Daten nach dem Login auszulesen, um Benutzerprofile in der Anwendung zu füllen.
Zugriffstoken und JSON Web Tokens (JWT)
In vielen modernen Implementierungen ist das Zugriffstoken ein JWT (JSON Web Token). Dies ist ein Standard (RFC 7519) zur Darstellung von Ansprüchen als digital signiertes JSON, bestehend aus drei durch Punkte getrennten Teilen: Header, Nutzdaten und Signatur, die alle in Base64-URL kodiert sind.
Der Header enthält technische Informationen über das Token. (Signaturalgorithmus, Token-Typ und oft auch die Kennung des verwendeten Schlüssels) kidDie Nutzlast enthält die Ansprüche, wie zum Beispiel:
- exp: Verfallsdatum.
- siehe untenSendezeit.
- issAussteller, üblicherweise die IdP-URL.
- unten: eindeutige Benutzerkennung.
- aud: Zielgruppe, an die das Token gerichtet ist.
- JTI: eindeutiger Bezeichner des Tokens.
Die Signatur wird mit einem privaten oder geheimen Schlüssel erzeugt.Daher führt jede Änderung am Token zu einem Fehler in der Signatur und wird bei der Validierung erkannt. Die API erhält den öffentlichen Schlüssel vom Identitätsanbieter (IdP) mithilfe der entsprechenden Eigenschaft. jwks_uri aus dem Discovery-Dokument, das auf eine JSON-Datei verweist, die die Liste der öffentlichen Schlüssel und deren kid.
Keycloak ermöglicht zudem die Anpassung der ausgegebenen Token : Zusätzliche Ansprüche können basierend auf Benutzerattributen, Gruppen, Rollen oder sogar festen Werten hinzugefügt werden. Dies geschieht mithilfe von Mappern, die pro Client oder pro Clientbereich konfiguriert werden, wodurch sichergestellt wird, dass APIs genau die benötigten Informationen erhalten.

Keycloak-Architektur: Realms, Benutzer, Gruppen und Rollen
Keycloak organisiert seine Konfiguration in Realms , die innerhalb einer Installation als „virtuelle Identitätsserver“ fungieren. Andere Anbieter bezeichnen etwas Ähnliches als Mandanten oder Verzeichnis. Jeder Realm verfügt über eigene Benutzer, Gruppen, Clients, Richtlinien und Einstellungen.
Standardmäßig gibt es einen speziellen Bereich namens „Master“ , der für globale administrative Aufgaben wie das Erstellen und Verwalten anderer Bereiche reserviert sein sollte. Der Administrator kann mehrere Bereiche über dieselbe Konsole verwalten, ohne sich für jeden Bereich mit einem separaten Konto anmelden zu müssen.
Innerhalb eines Bereichs können Sie lokale Benutzer definieren , ihnen benutzerdefinierte Attribute zuweisen, sie gruppieren und mit Rollen verknüpfen. Das Modell ist so konzipiert, dass relevante Informationen in den von der Anwendung verwendeten Tokens (Rollen, Gruppen, Profildaten, Sicherheitskennzeichen usw.) abgebildet werden.
Gruppen ermöglichen die hierarchische Organisation von Benutzern : Eine Gruppe kann Untergruppen (Kindergruppen) haben, und ein Benutzer erbt die Attribute und Rollen aller Gruppen, denen er angehört, einschließlich der übergeordneten Gruppen. Dies ermöglicht hochflexible Autorisierungsmodelle, ohne dass Konfigurationen für jeden Benutzer wiederholt werden müssen.
Hinsichtlich der Rollen gibt es zwei Hauptebenen :
- ReichsrollenGlobale Variablen innerhalb des Bereichs, die häufig für bereichsübergreifende Berechtigungen verwendet werden.
- Kundenrollen: spezifisch für eine bestimmte Anwendung, wodurch eine feine Granularität für jeden Dienst ermöglicht wird.
Keycloak unterstützt zusammengesetzte Rollen , also Rollen, die andere Rollen umfassen. Dies erleichtert die Gruppierung von Berechtigungen und deren gleichzeitige Zuweisung an Benutzer oder Gruppen. Allerdings sollte diese Funktion nicht übermäßig genutzt werden, um die Verwaltung nicht zu verkomplizieren oder die Leistung zu beeinträchtigen.
Keycloak im Entwicklungsmodus installieren: Docker, Kubernetes und VM
Für die Einrichtung einer Laborumgebung mit Keycloak gibt es mehrere einfache Möglichkeiten: Docker-Container, Bereitstellung in Kubernetes (zum Beispiel mit Minikube) oder klassische Installation in einer virtuellen Maschine mit Linux und OpenJDK.
Keycloak in Docker
Der schnellste Weg, Keycloak zum Testen zu starten Dabei wird ein Container mit dem offiziellen Image ausgeführt, Port 8080 freigegeben und Benutzername und Passwort des Administrators über Umgebungsvariablen übergeben, um anschließend im entsprechenden Modus zu booten. start-dev (ohne HTTPS und mit eingebetteter H2-Datenbank):
Mit einem einzigen Docker-Befehl Ein funktionsfähiger Server wird erhalten in http://localhost:8080ausreichend, um mit der Administrationskonsole herumzuspielen, Bereiche, Benutzer und Clients zu erstellen und grundlegende Integrationen zu testen.
Keycloak in Kubernetes mit Minikube
Wenn Sie bereits mit Kubernetes arbeiten, können Sie Keycloak mithilfe der Beispielmanifeste aus dem offiziellen Repository einfach bereitstellen. Sie erstellen ein Deployment und einen Service und öffnen anschließend mit Minikube einen Tunnel, um von Ihrem Rechner aus auf den Service zuzugreifen, typischerweise über Port 8080.
Dieser Ansatz eignet sich ideal zur Simulation produktionsnäher Umgebungen (mit Pods, Diensten, externer Konfiguration usw.) und zum Experimentieren mit kontrollierten Bereitstellungen, Skalierung und Upgrades von Keycloak auf K8s-Clustern.
Keycloak unter Ubuntu mit OpenJDK und PostgreSQL (erweiterter Entwicklermodus)
Eine weitere Möglichkeit besteht darin, Keycloak auf einer Ubuntu-VM mit OpenJDK und einer lokalen PostgreSQL-Datenbank, einem selbstsignierten Zertifikat und einem benutzerdefinierten Hostnamen einzurichten . Dies ist zwar noch ein Testszenario, kommt aber einer Produktionsumgebung näher.
Typische Schritte sind :
- Aktualisieren Sie das Betriebssystem und installieren Sie Java (z. B. OpenJDK 11 oder höher).
- Installieren Sie PostgreSQL (idealerweise auf einem separaten Server, in einer Testumgebung kann es jedoch auf demselben Rechner laufen).
- Erstellen Sie einen spezifischen Benutzer und eine Datenbank für Keycloak und erteilen Sie die entsprechenden Berechtigungen.
- Erstellen Sie einen Systembenutzer ohne Berechtigungen (z.B.
keycloak) um den Dienst auszuführen. - Laden Sie die offizielle Keycloak-Distribution herunter und entpacken Sie sie in
/opt/keycloakund Berechtigungen anpassen. - Generieren Sie ein selbstsigniertes X.509-Zertifikat mit openssl und setzen Sie es in
keycloak.confzusammen mit den PostgreSQL-Verbindungsparametern und derhostnameerwünscht. - Eine Einheit definieren systemd Um Keycloak beim Systemstart im Entwicklungsmodus zu starten, müssen Administratorrechte über Umgebungsvariablen festgelegt werden.
Sobald der Dienst läuft , wird er üblicherweise über HTTPS auf Port 8443 mit dem konfigurierten Hostnamen aufgerufen. Bei Verwendung eines selbstsignierten Zertifikats muss dieses im Browser als vertrauenswürdig eingestuft werden (durch Importieren der Zertifizierungsstelle oder des Zertifikats selbst in den vertrauenswürdigen Zertifikatsspeicher des Rechners).
Erweiterte Bereitstellungen: Hochverfügbarkeit, PostgreSQL und Reverse-Proxy
Wenn wir vom Labor in die Produktion übergehen , ändert sich das Bild: Wir müssen über hohe Verfügbarkeit, robuste Datenspeicherung, gültige Zertifikate und oft auch über einen Reverse-Proxy nachdenken, der den HTTPS-Zugriff und den Lastausgleich zentralisiert.
Ein gängiges Vorgehen besteht darin, mehrere Keycloak-Knoten hinter einem Load Balancer (wie z. B. Nginx) zu betreiben und eine PostgreSQL-Datenbank im Hochverfügbarkeitsmodus als Persistenz-Backend zu verwenden. Ziel ist es, Single Points of Failure sowohl für die Anwendungs- als auch für die Datenschicht zu eliminieren.
Bei dieser Art von Architektur werden üblicherweise folgende Schritte befolgt :
- Bereiten Sie aktualisierte Linux-Server (Debian/Ubuntu) vor und installieren Sie die Abhängigkeiten:
unzip,wget,openjdk,openssl, usw. - Erstellen Sie einen Systembenutzer
keycloakmit Zuhause in/opt/keycloakund ohne privilegierte interaktive Anmeldeberechtigungen. - Laden Sie die gewünschte Version von Keycloak herunter, entpacken Sie sie und weisen Sie die Besitzrechte dem entsprechenden Benutzer zu.
- Erstellen Sie eine spezifische Datenbank in PostgreSQL mit dem entsprechenden Benutzer und den entsprechenden Berechtigungen und passen Sie außerdem den Schema-Besitzer und die Standardberechtigungen für Tabellen an.
- Generieren Sie selbstsignierte Zertifikate (oder verwenden Sie Zertifikate einer internen Zertifizierungsstelle) für Keycloak-Knoten und konfigurieren Sie HTTPS auf dem Anwendungsserver.
- Einstellen
keycloak.confUm eine Verbindung zum PostgreSQL VIP herzustellen, müssen HTTP/HTTPS-Ports, Zertifikate, Proxy-Parameter, Hostname, Cluster-Stack (z. B. UDP) und Protokollierungsstufen definiert werden. - Einen Dienst definieren
systemdeinfach das Starten Schlüsselmantel mitkc.sh startokc.sh start --optimizedVerwaltung automatischer Neustarts im Fehlerfall.
Auf der Ebene für Veröffentlichung und Lastausgleich wird Nginx üblicherweise als HTTPS-Reverse-Proxy eingesetzt, mit einem eigenen TLS-Zertifikat und einer Upstream-Konfiguration, die auf die Keycloak-Knoten an ihren Backend-Ports verweist (üblicherweise 8080, wenn TLS in Nginx terminiert wird).
Um Single Points of Failure im Load Balancer zu vermeiden , ist es üblich, zwei Nginx-Knoten mit Keepalived hochverfügbar zu konfigurieren. Dieses Tool verwaltet eine Floating Virtual IP (VIP), die auf einem der Server als Master angekündigt wird und im Fehlerfall auf den Backup-Knoten umschaltet, um die Servicekontinuität zu gewährleisten.
Einrichten eines Realms, Benutzer und Anwendungsregistrierung (Clientregistrierung)
Sobald Keycloak eingerichtet und betriebsbereit ist, besteht der nächste logische Schritt darin, einen Realm für unsere Benutzer und Anwendungen zu erstellen und von dort aus Benutzer, Gruppen, Rollen und Clients (die Anwendungen, die die Authentifizierung an Keycloak delegieren) zu definieren.
In der Admin-Konsole erstellen Sie einen neuen Realm, indem Sie einfach dessen Namen eingeben. Ab diesem Zeitpunkt verfügen Sie über einen isolierten Bereich mit eigenen Einstellungen. Zu den ersten Einstellungen gehören in der Regel die folgenden:
- SMTP für den E-Mail-Versand konfigurieren (E-Mail-Verifizierung, Passwortwiederherstellung, Benachrichtigungen).
- Aktivieren Sie diese Option, falls gewünscht. Deklaratives Benutzerprofil, wodurch Sie deklarativ festlegen können, welche Attribute ein Benutzer haben wird, welche Validierungen gelten und ob diese vom Benutzer bearbeitet werden können.
- Anmeldeparameter anpassen: Selbstregistrierung zulassen oder verbieten, Sitzung zwischen Browserneustarts speichern, Passwortwiederherstellung ermöglichen usw.
Einen Benutzer in einem Bereich anzulegen ist ganz einfach: Sie füllen ein Formular mit Benutzernamen, E-Mail-Adresse, Vorname und Nachname aus. Anschließend legen Sie im Reiter „Anmeldeinformationen“ das Passwort (temporär oder permanent) fest. Dort können Sie dem Benutzer Gruppen, Rollen und weitere Attribute zuweisen.
Keycloak bietet Endbenutzern eine eigene Kontokonsole , in der sie ihre Profildaten einsehen und bearbeiten, ihr Passwort ändern, aktive Sitzungen überprüfen und zusätzliche Authentifizierungsfaktoren verwalten können. Dies ist eine sehr komfortable Möglichkeit, grundlegende Kontoverwaltungsaufgaben an den Benutzer zu delegieren.
Eine weitere interessante Funktion ist die Benutzerimitation : Ein Administrator mit entsprechenden Berechtigungen kann über die Konsole die Identität eines Benutzers annehmen, um Probleme zu reproduzieren, Berechtigungen zu überprüfen usw., ohne das Passwort des Benutzers zu benötigen.
Damit eine Anwendung Keycloak als Identitätsanbieter (IdP) nutzen kann , muss sie als Client registriert werden. Im Bereich „Clients“ wird eine neue Client-ID erstellt, der Typ auf OpenID Connect festgelegt (sofern nicht SAML verwendet werden soll) und die zulässigen OAuth 2.0-Abläufe ausgewählt: Standard-Ablauf (Autorisierungscode), Direkte Zugriffsberechtigungen (Passwort), Implizit, Client-Anmeldeinformationen (Dienstkonten), Gerätecode, CIBA usw.
Die Clientkonfiguration legt außerdem fest , ob eine Clientauthentifizierung (Client-Geheimnis oder Zertifikate) erforderlich ist, welche Umleitungs-URIs gültig sind und welche Web-Ursprünge zulässig sind (besonders wichtig bei Single-Page-Anwendungen aufgrund der CORS-Richtlinien). Anschließend kann die Anwendung offizielle oder Drittanbieterbibliotheken verwenden, um die Authentifizierung über OIDC an Keycloak zu delegieren.
Integration mit externen Verzeichnissen und anderen Identitätsanbietern
Keycloak kann als lokale Identitätsquelle (Benutzer, Gruppen und Rollen werden in der eigenen Datenbank definiert) oder als Identitätsvermittler für einen oder mehrere externe Anbieter fungieren.
Eine sehr gängige Integrationsmöglichkeit besteht mit Azure Active Directory : Azure AD speichert Unternehmensbenutzer und -gruppen, und Keycloak verbindet sich als OIDC-Client, um Identitäten und Gruppen herunterzuladen und sie lokalen Benutzern und Rollen zuzuordnen. Dadurch wird die Duplizierung von Identitäten und administrativen Aufgaben an mehreren Standorten vermieden.
Generell geht man zur Verwendung von Azure AD als externem Identitätsanbieter wie folgt vor:
- Registrieren Sie eine Anwendung in Azure AD, indem Sie deren Client-ID abrufen und ein Clientgeheimnis erstellen.
- Konfigurieren Sie in Azure AD die Umleitungs-URIs für Keycloak (OIDC-Broker-Endpunkt im entsprechenden Realm).
- Passen Sie die Ansprüche an, die im Token in der Azure AD-Anwendung ausgegeben werden, beispielsweise durch Einbeziehung der Benutzergruppen.
- Erstellen Sie in Keycloak einen OpenID Connect Identity Provider, der auf die Azure-Endpunkte (Authorization, Token, Logout, UserInfo) verweist, und konfigurieren Sie Client-ID, Client-Geheimnis und die gewünschten Anmeldeparameter.
Sobald eine Vertrauensbeziehung zwischen den beiden Systemen hergestellt ist , erstellt Keycloak beim Anmelden eines Benutzers über Azure AD den Benutzer lokal (oder synchronisiert ihn) und kann Azure-Gruppen mithilfe erweiterter Mapper Keycloak-Rollen zuordnen. Beispielsweise kann die Gruppe „Entwickler“ in Azure in die Rolle „Entwickler“ in Keycloak übersetzt werden, die dann in integrierten Anwendungen und Diensten (wie Jenkins) bereitgestellt wird.
Zusätzlich zu Azure AD ermöglicht Keycloak die Föderation von Identitäten mit LDAP, klassischem Active Directory, anderen OIDC-IdPs, Social-Media-Anbietern (Google, Facebook, GitHub usw.) und mehr, sodass Sie mehrere Quellen gleichzeitig innerhalb desselben Bereichs mischen können.
Zusätzliche Sicherheitsmaßnahmen: Bots, CAPTCHA und bewährte Verfahren
Obwohl Keycloak die Sicherheit bei der Authentifizierung (MFA, Passwortrichtlinien, Kontosperrung, Sitzungskontrolle usw.) erheblich verbessert, bleiben Anmelde-, Registrierungs- und Passwortwiederherstellungsseiten weiterhin ein leichtes Ziel für Bots und automatisierte Angriffe.
Um diese Bedrohungen abzuwehren , empfiehlt es sich, Keycloak mit Anti-Bot-Mechanismen wie DSGVO-konformen CAPTCHA-Lösungen zu kombinieren, die zwischen menschlichem und automatisiertem Datenverkehr unterscheiden, ohne die Benutzerfreundlichkeit zu beeinträchtigen. Diese Lösungen werden üblicherweise in Anmelde- und Registrierungsformulare integriert und bieten so eine zusätzliche Schutzebene gegen Credential-Stuffing-Angriffe, die massenhafte Erstellung von Konten oder den Missbrauch von Passwortwiederherstellungsverfahren.
Neben CAPTCHA gehören zu den weiteren Best Practices die Überwachung von Zugriffsprotokollen , das Einrichten von Warnungen bei ungewöhnlichen Spitzenwerten fehlgeschlagener Versuche, die regelmäßige Überprüfung der ausgestellten Token und ihrer Gültigkeitsdauer, die Sicherstellung, dass nur notwendige Endpunkte nach außen offengelegt werden, und die Aktualisierung von Keycloak und seinen Abhängigkeiten mit den neuesten Sicherheitspatches.
Dieses gesamte Ökosystem an Funktionen (SSO, Mandantenfähigkeit, Integration mit externen Verzeichnissen, konfigurierbare Token, Hochverfügbarkeitsbereitstellungen und Schutz vor Bots) macht Keycloak zu einem sehr leistungsstarken Werkzeug zur Zentralisierung der Authentifizierung und Autorisierung moderner Anwendungen und hilft Unternehmen dabei, ihre Sicherheitslage zu verbessern, ohne die Benutzerfreundlichkeit zu beeinträchtigen oder das Identitätsmanagement ständig neu erfinden zu müssen.
Leidenschaftlicher Autor über die Welt der Bytes und der Technologie im Allgemeinen. Ich liebe es, mein Wissen durch Schreiben zu teilen, und genau das werde ich in diesem Blog tun und Ihnen die interessantesten Dinge über Gadgets, Software, Hardware, technologische Trends und mehr zeigen. Mein Ziel ist es, Ihnen dabei zu helfen, sich auf einfache und unterhaltsame Weise in der digitalen Welt zurechtzufinden.
