Freigeben über


Konfigurieren der Microsoft Entra-Authentifizierung für einen Azure Red Hat OpenShift 4-Cluster (Portal)

Wenn Sie die CLI lokal installieren und verwenden möchten, erfordert dieses Lernprogramm, dass Sie die Azure CLI-Version 2.6.0 oder höher ausführen. Führen Sie az --version aus, um die Version zu ermitteln. Wenn Sie eine Installation oder ein Upgrade durchführen müssen, finden Sie weitere Informationen unter Azure CLI installieren.

Bevor Sie anfangen

Erstellen Sie die OAuth-Rückruf-URL des Clusters, und notieren Sie sie. Ersetzen Sie aro-rg durch den Namen Ihrer Ressourcengruppe und den aro-Cluster durch den Namen Ihres Clusters.

Hinweis

Der Abschnitt AAD in der OAuth-Rückruf-URL sollte mit dem Namen des OAuth-Identitätsanbieters identisch sein, den Sie später einrichten.

domain=$(az aro show -g aro-rg -n aro-cluster --query clusterProfile.domain -o tsv)
location=$(az aro show -g aro-rg -n aro-cluster --query location -o tsv)
echo "OAuth callback URL: https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/AAD"

Erstellen einer Microsoft Entra-Anwendung für die Authentifizierung

Melden Sie sich beim Azure-Portal an, und navigieren Sie zum Blatt "App-Registrierungen", und klicken Sie dann auf " Neue Registrierung ", um eine neue Anwendung zu erstellen.

Geben Sie einen Namen für die Anwendung an, z. B. aro-azuread-auth, und geben Sie den Umleitungs-URI mithilfe des Werts der OAuth-Rückruf-URL ein, die Sie zuvor abgerufen haben.

Neue Anwendungsregistrierung

Navigieren Sie zu Zertifikaten und geheimen Schlüsseln , und klicken Sie auf "Neuer geheimer Clientschlüssel ", und geben Sie die Details ein. Notieren Sie sich den Schlüsselwert, da Sie ihn in einer späteren Phase verwenden. Sie können sie nicht erneut abrufen.

Navigieren Sie zur Übersicht , und notieren Sie sich die Anwendungs-ID (Client-ID) und die Verzeichnis-ID (Mandant). Sie benötigen sie in einer späteren Phase.

Konfigurieren optionaler Ansprüche

Anwendungsentwickler können optionale Ansprüche in ihren Microsoft Entra-Anwendungen verwenden, um anzugeben, welche Ansprüche in Token vorhanden sein sollen, die an ihre Anwendungen gesendet werden.

Sie können optionale Ansprüche zu folgenden Zwecken verwenden:

  • Auswählen zusätzlicher Ansprüche, die in Token für Ihre Anwendung aufgenommen werden sollen
  • Ändern des Verhaltens bestimmter Ansprüche, die von Microsoft Entra ID in Form von Token zurückgegeben werden.
  • Benutzerdefinierte Ansprüche für Ihre Anwendung hinzufügen und darauf zugreifen.

Wir konfigurieren OpenShift so, dass der email-Anspruch verwendet wird und ein Fallback auf upn erfolgt, um den bevorzugten Benutzernamen festzulegen, indem der upn als Teil des von Microsoft Entra ID zurückgegebenen ID-Tokens hinzugefügt wird.

Navigieren Sie zur Tokenkonfiguration , und klicken Sie auf " Optionalen Anspruch hinzufügen". Wählen Sie ID aus, und überprüfen Sie dann die E-Mail- und UPN-Ansprüche.

Zuweisen von Benutzern und Gruppen zum Cluster (optional)

Anwendungen, die für einen Microsoft Entra-Mandanten registriert sind, sind standardmäßig für alle Benutzer des Mandanten verfügbar, deren Authentifizierung erfolgreich war. Microsoft Entra ID ermöglicht Mandantenadministratoren und Entwicklern die Beschränkung einer App auf eine bestimmte Gruppe von Benutzern oder Sicherheitsgruppen im Mandanten.

Befolgen Sie die Anweisungen in der Microsoft Entra-Dokumentation, um der App Benutzer und Gruppen zuzuweisen.

Konfigurieren der OpenID-Authentifizierung für OpenShift

Rufen Sie die kubeadmin-Anmeldeinformationen ab. Führen Sie den folgenden Befehl aus, um das Kennwort für den Benutzer kubeadmin zu suchen:

az aro list-credentials \
  --name aro-cluster \
  --resource-group aro-rg

Die folgende Beispielausgabe zeigt, dass sich das Kennwort in kubeadminPassword befindet.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

Sie finden die Clusterkonsolen-URL, indem Sie den folgenden Befehl ausführen, der wie folgt aussieht: https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name aro-cluster \
    --resource-group aro-rg \
    --query "consoleProfile.url" -o tsv

Starten Sie die Konsolen-URL in einem Browser, und melden Sie sich mit den kubeadmin-Anmeldeinformationen an.

Navigieren Sie zu "Verwaltung", klicken Sie auf " Clustereinstellungen", und wählen Sie dann die Registerkarte " Konfiguration " aus. Scrollen Sie, um OAuth auszuwählen.

Scrollen Sie nach unten, um "Unter Identitätsanbieterhinzufügen" auszuwählen, und wählen Sie "OpenID Connect" aus. Wählen Sie

Geben Sie den Namen als Microsoft Entra-ID, die Client-ID als Anwendungs-ID und den geheimen Clientschlüssel ein. Die Aussteller-URL ist wie folgt formatiert: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0. Ersetzen Sie den Platzhalter durch die Mandanten-ID, die Sie zuvor abgerufen haben.

Scrollen Sie nach unten zum Abschnitt "Ansprüche ", und aktualisieren Sie den bevorzugten Benutzernamen , um den Wert aus dem upn-Anspruch zu verwenden.

Überprüfen der Anmeldung über Microsoft Entra ID

Wenn Sie sich jetzt bei der OpenShift Web Console abmelden und erneut versuchen, sich anzumelden, wird ihnen eine neue Option zum Anmelden mit Microsoft Entra ID angezeigt. Möglicherweise müssen Sie einige Minuten warten.

Anmeldebildschirm mit Microsoft Entra-Option

Hinweis

Wenn Sie auf den Fehler "AADSTS50011: Der in der Anforderung angegebene Umleitungs-URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx stimmt nicht mit den konfigurierten Umleitungs-URIs überein" stoßen, können Sie der Fehlerbehebungsguide Azure AD (OIDC) Login fehlgeschlagen, wenn der Umleitungs-URI nicht korrekt festgelegt ist folgen, um das Problem zu beheben.