Traefik ForwardAuth Azure AD (OpenID Connect) mit Keycloak
Vorwort
In diesem Beitrag findest du eine Step-by-Step Anleitung zur Installation von Keycloak und Konfiguration des Traefik ForwardAuth zu Azure AD (OpenID Connect) mittels Keycloak.
Voraussetzungen
- Traefik Grundinstallation
- Installation siehe: Traefik Grundinstallation
- Docker Host
- Installation siehe: Docker Grundinstallation
- Azure AD Abonnement
Installation Keycloak via Docker-Compose
In den folgenden Schritten wird das Docker Compose Projekt erstellt.
1
2
3
4
5
mkdir keycloak
cd keycloak
mkdir app
mkdir database
touch docker-compose.yml
1
sudo nano docker-compose.yml
docker-compose.yml kann hier heruntergeladen werden.
1
sudo docker-compose up -d
Auf Keycloak kann nun via https://IP-ADRESSE:8643/auth/admin/master/console zugegriffen werden und sich mit den im Docker-Compose-File festgelegten Admin-Daten angemeldet werden.
Konfiguration Keycloak
In den folgenden Schritten ist Keycloak zur Anbindung des Azure AD vorzubereiten.
Zunächst sollte Keycloak allerdings via der vorhandenen Traefik Installation über HTTPS verfügbar sein. Hierzu muss der Router und Service in der Konfiguration angelegt werden.
1
sudo nano config.yml
config.yml kann hier heruntergeladen werden.
1
sudo docker restart traefik
Nun sollte Keycloak via https://login.DOMAIN.de/auth/admin/master/console erreichbar sein, sodass nun mit den folgenden Schritten ein Realm angelegt werden kann gegen welches später Authentifiziert werden kann.
Anlage Azure AD Anwendung
Zunächst ist eine Azure AD Anwendung anzulegen, welche später als Endpunkt zur Authentifizierung genutzt werden wird.
Umleitungs-URI ist durch die eigene URL zu ersetzen.
Anlage Identity Provider Keycloak
Bevor allerdings nun Azure AD als Identity Provider genutzt werden kann, muss dieser in Keycloak konfiguriert werden.
Import from URL: OpenID Connect-Metadatendokument aus Azure AD Endpunkt der Anwendung
Client-ID: Anwendungs-ID (Client) aus Azure AD Anwendung
Client Secret: Wert aus Azure Zertifikate & Geheimnisse
Installation Traefik ForwardAuth Container via Docker-Compose
Das eine URL via Traefik gegen Keycloak authentifiziert werden kann benötigt es einen ForwardAuth OAUTH Docker Container, welcher wie folgt bereitgestellt werden kann.
1
sudo nano docker-compose.yml
docker-compose.yml kann hier heruntergeladen werden.
Das Client-Secret ist in der folgenden Oberfläche unter Keycloak zu finden.
1
sudo docker-compose up -d
Integration ForwardAuth in Traefik
Zuletzt kann nun mittels einer Middleware die Authentifizierung via Keycloak an AzureAD in bestehende Router intigiert werden.
config.yml kann hier heruntergeladen werden.
1
sudo docker restart traefik
Es sollten die nun konfigurierten URLs zur Authentifizierung zu Azure AD umgeleitet werden.