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 Download zur Verfügung gestellt.

  • Notebook/Laptop
  • Texteditor (Notepad++, VS Code, etc.)
  • Docker und Docker Compose V2 installiert und lauffähig (ggf. lokale Admin-Rechte auf dem Rechner erteilen)
  • Internetzugriff (ggf. Proxy-/Firewall-/VPN-Konfigurationen etc. überprüfen)
  • Browser
  • HTTP-Client (z.B. Insomnia, Postman, REST-Client for VS Code Plugin, o.ä.)

Dauer

2 Tage

Öffentliche Termine

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!