Keycloak IAM & SSO Training/Workshop
Grundlagen, Konfiguration, User-Federation, Identity Providers, Themeing, Authenticationflows, Customizing, Clustering, etc.
In diesem Training starten wir mit dem Deployment und der Konfiguration eines KEYCLOAK-Servers. Dabei lernen wir die Grundlagen der OAuth 2, OIDC und JWT Spezifikationen näher kennen und bekommen ein gemeinsames Verständnis der hierbei verwendeten Begriffe, während wir erste Schritte mit Tokens, Claims und Authentifizierungen machen. Gleichzeitig diskutieren wir auch die Best-Practices und Deprecations, die sich im Laufe der Zeit in diesen Spezifikationen ergeben haben.
Danach behandeln wir die Konfiguration von Realms und Clients und auf welche Fallstricke hier zu achten ist. Über das Themeing können wir die KEYCLOAK-UIs an die Unternehmens- oder Projekt-Design-Vorgaben anpassen. Neben dem KEYCLOAK-eigenen User-Management für User, Groups und Roles lernen wir, welche Möglichkeiten noch bestehen, um bestehende Benutzerquellen (z.B. LDAP, o.a.) und andere, externe Identity Provider in und mit KEYCLOAK zu verwenden.
Die Anmelde-Prozesse (Authentication-Flows) stellen ein mächtiges Werkzeug in KEYCLOAK dar. Wir lernen, wie wir sichere und komplexe Authentifizierungsflows entwerfen und konfigurieren. Mittels Required Actions können wir Benutzer auffordern, bestimmte Aktionen durchzuführen oder Credentials zu konfigurieren.
Die für einen zuverlässigen und sicheren Betrieb notwendigen Konfigurationen hinsichtlich (Hochverfügbarkeits-)Cluster, verteiltem Cache, Backup & Recovery lernen wir ebenso kennen, wie auch die wichtigsten Einstellungen, um Sicherheitsbedrohungen abzuwehren bzw. einzudämmen.
Agenda
Grundlagen Keycloak Server
- Grundlagen Single-Sign-On (SSO) und Spezifikationen OAuth 2, OpenID Connect (OIDC) und JSON-Web-Token (JWT)
- KEYCLOAK Server Konfiguration und Deployment (inkl. Datenbank)
- Erste Schritte mit Tokens und Claims
- Prinzip und Konfiguration der KEYCLOAK Realms
- Client-Konfigurationen in KEYCLOAK am Beispiel einer verteilten Anwendung
- Themeing der KEYCLOAK-Formulare/-User-Interfaces
Benutzerverwaltung und -Quellen
- Benutzer, Gruppen und Rollen in KEYCLOAK
- Klärung der Unterschiede zwischen User Federation / User Storage und Externe Identity Provider
- Konfiguration eines LDAPs als User Federation
- Verwenden von eigenen Benutzer-Datenquellen
- Konfiguration eines externen Identity Providers
Authentifizierungsflows und Required Actions
- Design und Konfiguration von Authentifizierungsflows
- Erweiterung der Authentifizierungsoptionen mittels Custom Extensions
- Verwendung von Required Actions
- Konfiguration von weiteren Authentifizierungs Policies
Clustering und verteiltes Caching
- Konfiguration des KEYCLOAK-Servers für den Cluster-Betrieb
- Diskussion der verschiedenen Cluster Discovery-Protokolle
- Anpassung / Tuning der (verteilten) Cache-Konfiguration
Weitere Themen
- Versionen & Upgrades
- Backup & Recovery
- Entschärfen von Sicherheitsbedrohungen
Dein Nutzen
- Lerne den sicheren Umgang mit Authentifizierung und SSO und den damit verbundenen Spezifikationen.
- Lerne die Optionen kennen, die ein KEYCLOAK-basiertes SSO und Identity Management Dir bietet.
- Lerne, wie Du bestehende Benutzerquellen (weiter-)verwenden kannst.
- Lerne, wie sich Benutzer und Clients authentifizieren können.
- Lerne den Cluster-Betrieb von KEYCLOAK zu konfigurieren.
- Werde sicher im Umgang mit Authentifizierung und OIDC.
Zielgruppe
Der Workshop richtet sich an alle Personen aus Entwicklung und Betrieb, die eine Single-Sign-On oder Identity-Managementlösung in ihrem Unternehmen oder Projekt mit KEYCLOAK aufbauen und integrieren möchten.
Lernziele
- OAuth 2, OIDC & JWT Grundlagen & Best-Practices hinsichtlich Grant-Types und Token-Propagation
- KEYCLOAK-Konfigurationen Realm, Clients, Users, Groups, Roles
- Themeing der KEYCLOAK UIs
- Verwendung von User-Federation und Identity Providern
- Design von Authentifizierungs-Flows und Verwendung von Required Actions
- Cluster-Betrieb und verteiltes Caching
- Customizing / Anpassung einer KEYCLOAK-Umgebung an eigene Anforderungen
Technische Anforderungen
Als “Betriebsumgebung” verwenden wir eine lokale Docker-Compose Umgebung, um den operativen Overhead so gering wie möglich zu halten. Die erforderlichen YAML-Definitionen und Konfigurationsdateien, sowie KEYCLOAK-Erweiterungen für die Trainingsumgebung werden Dir vorab als GitHub-Repository oder Download zur Verfügung gestellt.
- Notebook/Laptop
- Texteditor (VS Code, Notepad++, etc.)
- Docker und Docker Compose V2 installiert und lauffähig (ggf. lokale Admin-Rechte auf dem Rechner erteilen)
(ggf. können Lizenzkosten für die Nutzung von Docker Desktop anfallen, bitte informieren! Docker Desktop ist je nach Plattform nicht unbedingt notwendig für den Betrieb von Docker. Support für Docker kann nicht im Rahmen des Trainings und der Vorbereitung dessen übernommen werden! U.U. funktioniert auch Podman, hierfür kann aber keinerlei Support bereitgestellt werden!) - Internetzugriff (ggf. Proxy-/Firewall-/VPN-Konfigurationen etc. überprüfen)
- Browser
Dauer
2 Tage
Öffentliche Termine
- gerne auch auf Deine Anfrage!
Kontaktiere mich!
Melde Dich gerne direkt über das folgende Kontaktformular bei mir, wenn Du Interesse an diesem KEYCLOAK Grundlagen-Training hast.
Ich freue mich darauf und werde mich so bald wie möglich bei Dir melden!