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.
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.
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.
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.
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.
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.
Scrollen Sie nach unten zum Abschnitt Ansprüche, und aktualisieren Sie den Bevorzugten Benutzernamen, um den Wert des Anspruchs upn zu verwenden.
Ü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.
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.