Home Traefik ForwardAuth Azure AD (OpenID Connect) mit Keycloak
Beiträge
Abbrechen

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

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.

20220322_000088.png

20220322_000089.png

20220322_000090.png

20220322_000091.png

20220322_000092.png

20220322_000093.png

20220322_000094.png

20220322_000095.png

20220322_000096.png

Anlage Azure AD Anwendung

Zunächst ist eine Azure AD Anwendung anzulegen, welche später als Endpunkt zur Authentifizierung genutzt werden wird.

20220322_000097.png

20220322_000098.png

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.

20220322_000099.png

20220322_000100.png

20220322_000101.png

20220322_000102.png

20220322_000103.png

20220322_000108.png

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

20220322_000104.png

20220322_000105.png

20220322_000106.png

20220322_000107.png

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.

20220322_000109.png

20220322_000110.png

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.

Dieser Beitrag ist vom Autor lizensiert unter CC BY 4.0 .

Traefik Grundinstallation mit Let´s Encrypt Wildcard Zertifikat

Proxmox Backup Server Grundinstallation