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, müssen Sie für dieses Tutorial Version 2.6.0 oder höher der Azure CLI ausführen. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Voraussetzungen

Erstellen Sie die OAuth-Rückruf-URL des Clusters, und notieren Sie sich diese. Stellen Sie sicher, dass Sie aro-rg durch den Namen Ihrer Ressourcengruppe ersetzen und 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, navigieren Sie zum Blatt App-Registrierungen, und klicken Sie dann auf Neue Registrierungs, um eine neue Anwendung zu erstellen.

Geben Sie einen Namen für die Anwendung ein, z. B. aro-azuread-auth, und fügen Sie den Umleitungs-URI ein. Verwenden Sie dafür den Wert der zuvor abgerufenen OAuth-Rückruf-URL.

New application registration

Navigieren Sie zu Certificates & secrets (Zertifikate und Geheimnisse), klicken Sie auf Neuer geheimer Clientschlüssel, und geben Sie die Details ein. Notieren Sie sich den Schlüsselwert, da Sie ihn später noch benötigen. Sie können Sie ihn danach nicht noch einmal abrufen.

Create a secret

Navigieren Sie zur Übersicht, und notieren Sie sich die Anwendungs-ID (Client) sowie die Verzeichnis-ID (Mandant). Sie benötigen diese in einem späteren Schritt.

Retrieve Application (client) and Directory (tenant) IDs

Konfigurieren optionaler Ansprüche

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

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.
  • Hinzufügen und Zugreifen auf benutzerdefinierte Ansprüche für Ihre Anwendung

Wir konfigurieren OpenShift so, dass er den email Anspruch verwendet und auf den bevorzugten Benutzernamen zurückgesetzt upn wird, indem wir den upn als Teil des von Microsoft Entra ID zurückgegebenen ID-Tokens hinzufügen.

Navigieren Sie zu Tokenkonfiguration, und klicken Sie auf Optionalen Anspruch hinzufügen. Klicken Sie auf ID, und überprüfen Sie anschließend die Ansprüche email und upn.

Screenshot that shows the email and upn claims that were added.

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. Mit der Microsoft Entra-ID können Mandantenadministratoren und Entwickler eine App auf eine bestimmte Gruppe von Benutzern oder Sicherheitsgruppen im Mandanten beschränken.

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 können die URL der Clusterkonsole über den folgenden Befehl abrufen. Diese sieht in etwa wie folgt aus: 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 "Cluster Einstellungen und wählen Sie dann die Registerkarte "Konfiguration" aus. Scrollen Sie, um OAuth auszuwählen.

Scrollen Sie nach unten, und klicken Sie unter Identitätsanbieter erst auf Hinzufügen und dann auf OpenID Connect. Select OpenID Connect from the Identity Providers dropdown

Geben Sie den Namen als Microsoft Entra-ID, die Client-ID als Anwendungs-ID und den geheimen Clientschlüssel ein. Die Aussteller-URL wird 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.

Fill in OAuth details

Scrollen Sie nach unten zum Abschnitt Ansprüche, und aktualisieren Sie den Bevorzugten Benutzernamen, um den Wert des Anspruchs upn zu verwenden.

Fill in claims details

Überprüfen der Anmeldung über die 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.

Login screen with Microsoft Entra option

Hinweis

Wenn der Fehler wie "AADSTS50011: Der in der Anforderung angegebene Umleitungs-URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx nicht mit den konfigurierten Umleitungs-URIs übereinstimmt", können Sie der Azure AD(OIDC)-Anmeldung folgen, wenn der Umleitungs-URI nicht ordnungsgemäß festgelegt ist, um das Problem zu beheben.