Skip to content

Azure App-Registrierung

Der aihub-Realm von Keycloak wird mit einem bereits definierten Microsoft Entra ID-Provider (Alias azure-ad) ausgeliefert. Um ihn zu aktivieren, erstellen Sie eine App-Registrierung in Ihrem Entra-Tenant, wie unten beschrieben konfiguriert, und übergeben Sie dann drei Werte an die Plattform.

Voraussetzungen

Ein Entra ID-Tenant und die Berechtigung, App-Registrierungen zu erstellen und Unternehmensanwendungsrollen zuzuweisen. Das Erstellen einer App-Registrierung ist eine Standard-Entra-Administration — siehe die Dokumentation von Microsoft. Diese Seite dokumentiert nur die AI-Hub-spezifische Konfiguration.

Was die Plattform von Azure benötigt

Nach der Konfiguration der App-Registrierung legen Sie diese drei Variablen in Ihrer .env-Datei fest. Keycloak liest sie beim Start und injiziert sie in den azure-ad-Provider:

VariableQuelle in Azure
KEYCLOAK_AZURE_CLIENT_IDAnwendungs-(Client-)ID der App-Registrierung
KEYCLOAK_AZURE_TENANT_IDVerzeichnis-(Tenant-)ID
KEYCLOAK_AZURE_CLIENT_SECRETWert eines von Ihnen erstellten Client-Secrets

Erforderliche Konfiguration

Redirect-URI

Registrieren Sie diese exakte Web-Redirect-URI (es ist Keycloaks Broker-Endpunkt für den azure-ad-Alias im aihub-Realm):

text
https://auth.<DOMAIN>/realms/aihub/broker/azure-ad/endpoint

Ersetzen Sie <DOMAIN> durch Ihre Deployment-Domain. Für die lokale Entwicklung fügen Sie auch hinzu:

text
http://localhost:8180/realms/aihub/broker/azure-ad/endpoint

API-Berechtigungen

Keycloak fordert die Standard-OpenID Connect Scopes an — keine Microsoft Graph-Berechtigungen sind erforderlich:

text
openid email profile

Diese stellen die Claims bereit, die Keycloak dem Benutzer zuordnet: email, given_name, family_name und preferred_username.

Client-Secret

Erstellen Sie ein Client-Secret und kopieren Sie dessen Wert (nicht die Secret-ID) in KEYCLOAK_AZURE_CLIENT_SECRET. Keycloak authentifiziert sich mit diesem Secret (client_secret_post) bei Azure und fügt zusätzlich PKCE (S256) hinzu.

WARNING

Client-Secrets laufen ab. Setzen Sie eine Kalendererinnerung vor dem Ablaufdatum und rotieren Sie das Secret, indem Sie KEYCLOAK_AZURE_CLIENT_SECRET aktualisieren — ein abgelaufenes Secret unterbricht alle Anmeldungen über diesen Provider.

Nächster Schritt

Die App-Registrierung ist erst nutzbar, wenn Sie ihre App-Rollen definieren und zuweisen — siehe Benutzer- und Rollenmanagement. Mindestens benötigen Benutzer die AIHubAccess-Rolle, um sich anzumelden.

Operatoren bearbeiten den Provider nicht

Der azure-ad-Provider und seine Claim-Mapper sind in infra/deployment/templates/configs/keycloak/bootstrap/identity-providers.json.j2 definiert. Sie setzen normalerweise nur die drei .env-Variablen — es ist keine Keycloak-Konfiguration erforderlich. Dies ist Bootstrap-Konfiguration: Sie wird vom Realm-Import nur beim ersten Start angewendet, sodass manuelle Admin-Konsolen-Bearbeitungen am Provider Neustarts überstehen und Änderungen an der Datei ein bereits initialisiertes Deployment nur über die Admin Console (oder eine frische Realm-Datenbank) erreichen.

Multi-Tenant-Deployments

Ein einzelnes Deployment kann mehrere Organisationen föderieren, jede mit ihrer eigenen App-Registrierung, die einer separaten Tenant-Gruppe in Keycloak zugeordnet ist. Dies ist ein erweitertes, nicht standardmäßiges Setup; siehe die Kommentare in bootstrap/identity-providers.json.j2 für das Hardcoded-Group-Mapper-Muster.

Gebaut mit ❤️ in der Schweiz 🇨🇭