- Published on
Entra ID SSO für Open WebUI, LiteLLM und n8n einrichten
- Authors

- Name
- Phillip Pham
- @ddppham
Eine Anmeldung für Open WebUI, LiteLLM und n8n
TL;DR
Alle drei Werkzeuge sprechen OIDC und lassen sich gegen dieselbe Entra-ID-App-Registrierung anbinden. Open WebUI kann es kostenlos, LiteLLM nur bis fünf Nutzer, n8n gar nicht — dort ist SSO an den Enterprise-Plan gebunden. Diese Lizenzgrenzen entscheiden über die Architektur, nicht die Konfiguration.
Warum das die erste Baustelle sein sollte
Ein typischer KI-Stack im Mittelstand besteht aus drei Teilen: einer Chat-Oberfläche für die Anwender, einem Gateway davor, das Modelle bündelt und Kosten kontrolliert, und einem Automatisierungswerkzeug, das Abläufe im Hintergrund abarbeitet. Open WebUI, LiteLLM, n8n. Jedes davon bringt eine eigene Benutzerverwaltung mit.
Was daraus wird, wenn man es laufen lässt, sehen wir regelmäßig: drei Nutzerlisten, die auseinanderdriften. Ein Mitarbeiter verlässt das Unternehmen, wird in Entra ID deaktiviert — und hat weiter Zugriff auf die Chat-Oberfläche, weil sein lokales Konto dort nie angefasst wurde. Bei einem internen Audit ist das der Punkt, an dem das Gespräch unangenehm wird.
Die Anbindung an Entra ID löst das nicht nur formal. Sie ist auch die Voraussetzung dafür, Berechtigungen sinnvoll zu vergeben: Wer welche Modelle nutzen darf, wer welches Budget hat, wer Workflows anlegen darf — alles über Gruppen, die ohnehin gepflegt werden.
Schritt 1: eine App-Registrierung für alle drei
Sie brauchen nicht drei Registrierungen. Eine reicht, wenn Sie alle Redirect-URIs eintragen. Im Entra-Admin-Center unter App-Registrierungen → Neue Registrierung:
- Name:
KI-Plattform - Kontotypen: Nur Konten in diesem Organisationsverzeichnis
- Plattform: Web
Danach unter Authentifizierung die drei Rückleitungs-URIs hinterlegen:
https://chat.ihre-domain.de/oauth/oidc/callback
https://gateway.ihre-domain.de/sso/callback
https://automation.ihre-domain.de/rest/sso/oidc/callback
Unter Zertifikate & Geheimnisse ein Client-Geheimnis erzeugen und sofort wegkopieren — es wird nur einmal angezeigt. Setzen Sie die Gültigkeit auf 24 Monate und legen Sie sich eine Kalendererinnerung auf Monat 22. Ein abgelaufenes Geheimnis ist die häufigste Ursache für "die Anmeldung geht plötzlich nicht mehr".
Unter Tokenkonfiguration einen optionalen Anspruch hinzufügen: groups für den ID-Token. Wenn Sie mehr als 200 Gruppen im Verzeichnis haben, liefert Entra stattdessen einen Verweis statt der Liste — dann arbeiten Sie besser mit App-Rollen, die Sie unter demselben Menüpunkt definieren und im Enterprise-Anwendungs-Objekt an Gruppen zuweisen.
Die Well-Known-Adresse, die alle drei Werkzeuge brauchen:
https://login.microsoftonline.com/<TENANT-ID>/v2.0/.well-known/openid-configuration
Schritt 2: Open WebUI
Das ist der einfachste Teil, weil Open WebUI einen eingebauten Microsoft-Anbieter mitbringt und keine Lizenz für SSO verlangt.
# docker-compose.yml — nur der relevante Ausschnitt
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
environment:
# Microsoft als Anmeldeanbieter
MICROSOFT_CLIENT_ID: '<APPLICATION-ID>'
MICROSOFT_CLIENT_SECRET: '<CLIENT-SECRET>'
MICROSOFT_CLIENT_TENANT_ID: '<TENANT-ID>'
# Konten bei erster Anmeldung automatisch anlegen
ENABLE_OAUTH_SIGNUP: 'true'
# Bestehende lokale Konten per E-Mail zusammenführen
OAUTH_MERGE_ACCOUNTS_BY_EMAIL: 'true'
# Rollen aus dem Token übernehmen statt manuell pflegen
ENABLE_OAUTH_ROLE_MANAGEMENT: 'true'
OAUTH_ROLES_CLAIM: 'roles'
OAUTH_ALLOWED_ROLES: 'ki-nutzer,ki-admin'
OAUTH_ADMIN_ROLES: 'ki-admin'
WEBUI_URL: 'https://chat.ihre-domain.de'
Zwei Schalter, die in der Praxis Ärger machen:
OAUTH_MERGE_ACCOUNTS_BY_EMAIL auf true ist bequem, wenn Sie von lokalen Konten migrieren — und ein Risiko, wenn Ihr Verzeichnis nicht verifizierte E-Mail-Adressen zulässt. Bei einem sauber geführten Entra-Tenant ist das unkritisch. Bei einem gewachsenen mit Gästen und geteilten Postfächern schauen Sie vorher nach.
ENABLE_OAUTH_SIGNUP auf true bedeutet: Jeder, der sich gegen Ihren Tenant anmelden kann, bekommt ein Konto. Wenn Sie das nicht wollen, lassen Sie es auf false und weisen Sie die Enterprise-Anwendung in Entra explizit nur den berechtigten Gruppen zu — unter Enterprise-Anwendungen → Eigenschaften → Benutzerzuweisung erforderlich: Ja. Das ist der saubere Weg, weil die Berechtigung dann dort liegt, wo sie hingehört.
Nach dem Neustart erscheint auf der Anmeldeseite eine Schaltfläche "Continue with Microsoft". Die lokale Anmeldung bleibt aktiv; abschalten können Sie sie mit ENABLE_LOGIN_FORM: 'false', sobald der Weg funktioniert. Machen Sie das nicht vorher — Sie sperren sich sonst aus.
Schritt 3: LiteLLM — und die Fünf-Nutzer-Grenze
Hier kommt der Punkt, an dem Projekte stolpern. LiteLLM kann SSO gegen Entra ID, aber kostenlos nur für bis zu fünf Nutzer. Darüber verlangt das Projekt eine Enterprise-Lizenz. Das steht in der Dokumentation, wird aber in den meisten Architekturskizzen übersehen, weil LiteLLM sonst durchgängig quelloffen ist.
Die Konfiguration selbst ist kurz:
# .env für den LiteLLM-Proxy
MICROSOFT_CLIENT_ID="<APPLICATION-ID>"
MICROSOFT_CLIENT_SECRET="<CLIENT-SECRET>"
MICROSOFT_TENANT="<TENANT-ID>"
PROXY_BASE_URL="https://gateway.ihre-domain.de"
# Notfall-Zugang, falls SSO ausfällt
UI_USERNAME="platform-admin"
UI_PASSWORD="<langes-zufallspasswort>"
Die Rückleitungs-URI muss exakt https://gateway.ihre-domain.de/sso/callback lauten.
Der eigentlich wertvolle Teil sind die App-Rollen. LiteLLM liest sie aus dem JWT und weist die interne Rolle automatisch zu. Definieren Sie in der App-Registrierung unter App-Rollen drei Einträge mit genau diesen Werten:
| App-Rolle (Wert) | Bedeutung in LiteLLM |
|---|---|
proxy_admin | Vollzugriff: Schlüssel, Budgets, Modelle |
proxy_admin_viewer | Lesezugriff auf alle Schlüssel und Verbräuche |
internal_user | Normaler Nutzer, eigene Schlüssel und Verbrauch |
Danach weisen Sie diese Rollen in der Enterprise-Anwendung an Ihre Gruppen zu — nicht an einzelne Personen. Der Controller, der monatlich die Verbräuche pro Abteilung sehen soll, bekommt proxy_admin_viewer über die Gruppe Controlling, und niemand muss daran denken, wenn die Stelle neu besetzt wird.
Unsere Einschätzung zur Lizenzfrage, weil sie regelmäßig gestellt wird: Wenn Ihre Endanwender ohnehin über Open WebUI kommen und nur eine Handvoll Plattform-Verantwortlicher direkten Zugang zur Gateway-Oberfläche braucht, bleiben Sie unter der Fünf-Nutzer-Grenze und brauchen keine Lizenz. Der Endanwender authentifiziert sich bei Open WebUI, und Open WebUI spricht mit einem einzigen technischen Schlüssel gegen das Gateway. Das ist keine Umgehung, sondern die architektonisch saubere Variante — die Nutzerverwaltung gehört an eine Stelle, nicht an drei. Wie das Gateway dahinter Modelle verteilt, steht im LiteLLM-Fallback-Routing-Leitfaden.
Schritt 4: n8n — SSO nur im Enterprise-Plan
Bei n8n ist die Lage eindeutiger und unbequemer: SAML und OIDC sind Bestandteil des Enterprise-Plans. In der Community Edition gibt es kein SSO, auch nicht für einen Nutzer.
Wenn Sie den Plan haben, ist die Einrichtung unter Settings → SSO eine Formularseite. Sie tragen die Well-Known-Adresse, die Client-ID und das Geheimnis ein, n8n zieht sich die Endpunkte selbst. Die Rückleitungs-URI lautet https://automation.ihre-domain.de/rest/sso/oidc/callback.
Wenn Sie den Plan nicht haben, gibt es zwei gangbare Wege:
Reverse-Proxy mit vorgelagerter Authentifizierung. Sie stellen oauth2-proxy oder Authentik vor n8n und lassen nur authentifizierte Anfragen durch. n8n selbst läuft dann mit einem einzigen Konto. Das schützt den Zugang, gibt Ihnen aber keine Nutzertrennung innerhalb von n8n — jeder sieht alle Workflows. Für ein Team von drei bis fünf Automatisierern ist das vertretbar, für eine offene Plattform nicht.
n8n gar nicht für Endanwender öffnen. Das ist unsere übliche Empfehlung. n8n ist ein Werkzeug für die Menschen, die Abläufe bauen, nicht für die, die sie benutzen. Die Endanwender lösen Workflows über die Chat-Oberfläche oder über Webhooks aus und melden sich nie bei n8n an. Dann ist die SSO-Frage keine Frage mehr.
Wie so eine Kette in einem Fachbereich aussieht, zeigt das Beispiel zur n8n-Automatisierung in der Steuerberatung.
Prüfen, ob es wirklich funktioniert
Drei Kontrollen, die mehr wert sind als ein erfolgreicher Anmeldeversuch:
# 1. Kommen die Rollen tatsächlich im Token an?
# Token aus den Entwicklerwerkzeugen des Browsers kopieren, dann:
echo "<ID-TOKEN>" | cut -d. -f2 | base64 -d 2>/dev/null | python3 -m json.tool | grep -A5 roles
# 2. Greift die Zuweisungspflicht?
# Mit einem Konto anmelden, das NICHT in der Gruppe ist — muss scheitern.
# 3. Wirkt die Deaktivierung?
# Testkonto in Entra deaktivieren, dann in allen drei Werkzeugen
# eine Aktion auslösen. Bestehende Sitzungen laufen weiter,
# bis das Token abläuft — Standard sind 60 Minuten.
Punkt drei ist der, den fast alle übersehen. SSO sperrt niemanden sofort aus. Eine bestehende Sitzung bleibt bis zum Ablauf des Tokens gültig. Wenn Sie sofortige Sperrung brauchen, konfigurieren Sie in Entra eine Richtlinie für fortlaufende Zugriffsevaluierung — und prüfen Sie, ob Ihre Anwendungen sie unterstützen. Open WebUI tut das nicht.
Häufig gestellte Fragen
Braucht Open WebUI eine Lizenz für Entra-ID-SSO?
Nein. Open WebUI bringt die OIDC- und Microsoft-Anbindung in der frei verfügbaren Version mit, inklusive Rollenzuweisung aus dem Token über ENABLE_OAUTH_ROLE_MANAGEMENT. Das ist einer der Gründe, warum wir es in Mittelstandsprojekten gegenüber Alternativen bevorzugen, bei denen dieselbe Funktion hinter einer Enterprise-Schranke liegt.
Ab wie vielen Nutzern kostet LiteLLM-SSO Geld?
Ab dem sechsten Nutzer. Bis fünf Nutzer ist die SSO-Anbindung der Admin-Oberfläche frei, darüber verlangt LiteLLM eine Enterprise-Lizenz. Auch die SCIM-Synchronisierung von Gruppen gehört zur kostenpflichtigen Stufe. In den meisten Architekturen lässt sich das umgehen, indem nur die Plattform-Verantwortlichen direkten Zugang zur Gateway-Oberfläche haben und Endanwender über die Chat-Oberfläche kommen.
Kann ich eine einzige App-Registrierung für mehrere Werkzeuge nutzen?
Ja, und das ist der empfohlene Weg. Sie tragen alle Rückleitungs-URIs in derselben Registrierung ein und verwalten Berechtigungen über App-Rollen, die Sie unterschiedlichen Gruppen zuweisen. Getrennte Registrierungen brauchen Sie nur, wenn die Werkzeuge unterschiedliche Anspruchskonfigurationen benötigen oder von verschiedenen Teams verwaltet werden.
Was passiert mit bestehenden lokalen Konten nach der SSO-Umstellung?
Sie bleiben bestehen, bis Sie sie entfernen. Bei Open WebUI führt OAUTH_MERGE_ACCOUNTS_BY_EMAIL das SSO-Konto mit dem lokalen zusammen, sofern die E-Mail-Adresse übereinstimmt — Chatverläufe und Einstellungen bleiben erhalten. Schalten Sie das lokale Anmeldeformular erst ab, wenn alle produktiven Nutzer den neuen Weg mindestens einmal erfolgreich gegangen sind.
Warum sehen n8n-Nutzer nach der Anmeldung alle Workflows?
Weil Sie vermutlich einen vorgelagerten Reverse-Proxy statt echtem SSO verwenden — dann läuft n8n intern unter einem einzigen Konto. Projekttrennung mit eigenen Berechtigungen ist in n8n an den Enterprise-Plan gebunden. Für kleine Automatisierungsteams ist der Proxy-Weg vertretbar; sobald mehrere Fachbereiche eigene Workflows pflegen, brauchen Sie den Plan oder ein anderes Werkzeug.
Der nächste Schritt
Fangen Sie mit Open WebUI an. Es ist das einzige der drei, bei dem SSO nichts kostet, und es ist das, mit dem Ihre Anwender tatsächlich arbeiten — dort liegt das Risiko verwaister Konten. Wenn das läuft, entscheiden Sie über Gateway und Automatisierung anhand der Lizenzlage, nicht anhand der Technik. Bei der Architektur davor helfen wir gern.
📖 Verwandte Artikel
Weitere interessante Beiträge zu ähnlichen Themen
Open WebUI oder LibreChat für Unternehmen mit Branding
Zwei offene Chat-Oberflächen im direkten Vergleich: Anmeldung, Rechteverwaltung, eigenes Erscheinungsbild und die Frage, wer die Dokumente indexiert.
KI-Kosten pro Abteilung abrechnen: Budgets im Gateway
Eine Sammelrechnung ohne Zuordnung überlebt keine zweite Budgetrunde. Wie Schlüssel, Teams und harte Obergrenzen im Gateway eingerichtet werden.
LiteLLM mit LLM Guard und NeMo Guardrails verketten
Guardrails gehören ins Gateway, nicht in jede Anwendung. Die Verkettung mit LiteLLM-Hooks, inklusive der Latenz, die das wirklich kostet.
Bereit für KI im Mittelstand?
Nutzen Sie unsere 10 kostenlosen KI-Tools und Praxis-Guides – oder sprechen Sie direkt mit unseren Experten.
Pexon Consulting – KI-Beratung für den Mittelstand | Scaly Academy – Geförderte KI-Weiterbildung (KI-Spezialist, KI-Experte, Workflow-Automatisierung)