LIVCK Cloud

Microsoft Entra ID (Azure AD) einrichten

Microsoft Entra ID (früher Azure AD) ist als OIDC-Identity-Provider vollständig unterstützt. Diese Anleitung führt dich durch die Einrichtung — vom Anlegen der App-Registration bis zum Gruppen-Mapping in LIVCK.

Voraussetzung

Enterprise SSO ist für deine Organisation freigeschaltet und du hast die Berechtigung SSO verwalten. Lege zuerst eine SSO-Verbindung in LIVCK an (Einstellungen → Organisation → SSO → Neue Verbindung) und kopiere die dort angezeigte Redirect-URI — du brauchst sie im nächsten Schritt.

Übersicht

Entra ID liefert Gruppenzugehörigkeiten auf zwei Wegen:

WegClaim-NameInhaltEmpfohlen?
SicherheitsgruppengroupsArray von GUIDs (Object IDs)Nur bei wenigen Gruppen (< 200)
App-RollenrolesArray von Rollen-Werten (z.B. livck.admin)Ja — für die meisten Fälle

Wir empfehlen App-Rollen, weil sie Menschen-lesbar sind, kein Overage-Problem haben und sich sauber mappen lassen. Sicherheitsgruppen liefern GUIDs, die du einzeln nachschlagen und als Mapping eintragen musst.


Weg A: App-Rollen (empfohlen)

1. App im Entra registrieren

  1. Entra admin center → App registrations → New registration
  2. Name: z.B. LIVCK
  3. Supported account types: Accounts in this organizational directory only (Single Tenant)
  4. Redirect URI: Web → die Redirect-URI aus LIVCK eintragen
  5. Register

2. App-Rollen definieren

App registrations → LIVCK → App roles → Create app role

Lege pro LIVCK-Rolle eine App-Rolle an:

FeldWert
Display namez.B. LIVCK Admin
Allowed member typesUsers/Groups
Valuez.B. livck.admin (klein geschrieben, einprägsam)
Enabled

Beispiel-Rollen:

Display nameValueLIVCK-Rolle
LIVCK Adminlivck.adminAdmin
LIVCK Memberlivck.memberMember
LIVCK Viewerlivck.viewerViewer

Value exakt merken

Der Value landet später im Token und muss im LIVCK-Mapping exakt so eingetragen werden. Groß-/Kleinschreibung bleibt erhalten.

3. Benutzer oder Gruppen den Rollen zuweisen

Häufigster Fehler

Ohne diese Zuweisung sendet Entra keinen roles-Claim. Das ist der Schritt, der am häufigsten vergessen wird — und der Grund, warum "keine Gruppen" im Test-Login auftaucht.

  1. Enterprise applications → LIVCK → Users and groups → Add user/group
  2. Entra-Benutzer oder Entra-Gruppe auswählen
  3. Rolle LIVCK Admin auswählen
  4. Assign

Wiederholen für jede Rolle / jeden Benutzer.

4. Zugangsdaten sammeln

  • Application (client) ID: App registrations → LIVCK → Overview → Application (client) ID
  • Client Secret: Certificates & secrets → New client secret → Value sofort kopieren (nur einmal sichtbar)
  • Issuer-URL: Overview → Endpoints → bei "OpenID Connect metadata document" das /.well-known/openid-configuration am Ende abschneiden → übrig bleibt https://login.microsoftonline.com/{tenant-id}/v2.0

5. In LIVCK eintragen

Einstellungen → Organisation → SSO → Verbindung bearbeiten → Konfiguration:

FeldWert
Issuer-URLhttps://login.microsoftonline.com/{tenant-id}/v2.0
Client-IDaus Schritt 4
Client-Secretaus Schritt 4
Groups-Claimroles ← wichtig, nicht groups
Quelle des Groups-ClaimsID-Token ← nicht UserInfo
Wenn keine Gruppe passtnach Bedarf (Standard-Rolle / Keine Rollen / Login ablehnen)

Konfiguration speichern

6. Domain verifizieren

Siehe SSO einrichten → Domain verifizieren.

7. Mapping anlegen

Einstellungen → Organisation → SSO → Verbindung → Mappings:

Pro App-Rolle einen Eintrag:

  • IdP-Gruppe: exakt der Value aus Schritt 2 (z.B. livck.admin)
  • Rolle: die entsprechende LIVCK-Rolle

Hinzufügen

8. Testen

Klicke auf Login testen. Im Dry-Run-Report sollte stehen:

  • Gruppen: ["livck.admin"]
  • Ermittelte Rollen: Admin
  • Würde sich anmelden: ja

Weg B: Sicherheitsgruppen (alternativ)

Verwende diesen Weg nur, wenn du bereits Security Groups im Entra pflegst und keine App-Rollen anlegen möchtest.

1. App registrieren

Wie Weg A, Schritt 1.

2. Groups-Claim im Token aktivieren

App registrations → LIVCK → Token configuration → Add groups claim

  • Groups to emit: Security groups / Directory roles (NICHT "All groups" — sonst Overage-Gefahr)
  • Emit in: ☑ ID token ← dieses Häkchen ist Pflicht
  • Save

Nicht im Access-Token

Stelle sicher, dass "ID token" ausgewählt ist. Nur dann liefert Entra die Gruppen im ID-Token, das LIVCK ausliest.

3. In LIVCK eintragen

FeldWert
Groups-Claimgroups (Default)
Quelle des Groups-ClaimsID-Token

4. Mapping anlegen

Die Object-ID einer Entra-Gruppe findest du unter Groups → deine Gruppe → Overview → Object ID (eine GUID).

  • IdP-Gruppe: die Object-ID (z.B. 5b2c1d4a-1234-...)
  • Rolle: die LIVCK-Rolle

5. Nachteil: Overage

Entra sendet den groups-Claim nur, solange der Benutzer weniger als ca. 200 Gruppen angehört. Darüber hinaus wechselt Entra auf eine Graph-basierte Referenz (_claim_sources), die LIVCK nicht auflösen kann — der Login schlägt mit "kein groups-Claim empfangen" fehl.

Lösung: Verwende Weg A (App-Rollen) stattdessen.


Troubleshooting

Im Test-Login steht "kein groups-Claim empfangen"

UrsacheLösung
Benutzer ist der App-Rolle nicht zugewiesenEnterprise applications → LIVCK → Users and groups → Rolle zuweisen
Groups-Claim-Feld steht auf groups, du nutzt aber App-Rollenauf roles umstellen
Quelle steht auf UserInfo-Endpointauf ID-Token umstellen
Über 200 Gruppen zugewiesen (Overage)App-Rollen verwenden statt Sicherheitsgruppen
App-Role ist nicht "Enabled"App registrations → App roles → Rolle aktivieren

Im Test-Login stehen GUIDs statt Rollen-Namen

Du nutzt Sicherheitsgruppen (groups-Claim), nicht App-Rollen. Entweder:

  • Die GUIDs bewusst als Mapping eintragen (Weg B), oder
  • Auf App-Rollen wechseln (Weg A)

Im Test-Login steht die richtige Rolle, aber Login schlägt fehl

Prüfe:

  • Ist die E-Mail-Domain verifiziert? (SSO → Domains)
  • Ist die Verbindung aktiviert?
  • Hat der Benutzer eine verifizierte E-Mail im Entra?

Issuer-URL validieren

Die Issuer-URL muss exakt sein — ohne Trailing-Slash und ohne /.well-known/openid-configuration am Ende. LIVCK hängt das Discovery-Suffix automatisch an.

Richtig:

https://login.microsoftonline.com/{tenant-id}/v2.0

Falsch:

https://login.microsoftonline.com/{tenant-id}/v2.0/.well-known/openid-configuration
https://login.microsoftonline.com/{tenant-id}/v2.0/
https://login.microsoftonline.com/common/v2.0

Common-Issuer vermeiden

Verwende immer den tenant-spezifischen Issuer (/{tenant-id}/v2.0), nicht common oder organizations. Mit common ist der iss-Claim im Token je Tenant anders und LIVCKs Issuer-Validierung schlägt fehl.


Weiterführende Themen