Configurer l’authentification Microsoft Entra pour un cluster Azure Red Hat OpenShift 4 (Portail)

Si vous choisissez d’installer et d’utiliser l’interface CLI localement, ce tutoriel demande au minimum la version 2.6.0 d’Azure CLI. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Avant de commencer

Construisez l’URL de rappel OAuth du cluster et notez-la. Veillez à remplacer aro-rg par le nom de votre groupe de ressources et aro-cluster par le nom de votre cluster.

Remarque

La section AAD de l’URL de rappel OAuth doit correspondre au nom du fournisseur d’identité OAuth que vous allez configurer ultérieurement.

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"

Créer une application Microsoft Entra pour l’authentification

Connectez-vous au portail Azure et accédez au panneau Inscriptions d’applications, puis cliquez sur Nouvelle inscription pour créer une application.

Fournissez un nom pour l’application, par exemple aro-azuread-auth et renseignez l’URI de redirection à l’aide de la valeur de l’URL de rappel OAuth que vous avez récupérée.

New application registration

Accédez à Certificats et secrets, puis cliquez sur Nouveau secret client et renseignez les détails. Notez la valeur de la clé, car vous l’utiliserez dans une étape ultérieure. Vous ne pourrez plus la récupérer une nouvelle fois.

Create a secret

Accédez à la vue d’ensemble et notez l’ID d’application (client) et l’ID de l’annuaire (locataire). Vous en aurez besoin à une phase ultérieure.

Retrieve Application (client) and Directory (tenant) IDs

Configurer des revendications facultatives

Les développeurs d’applications peuvent utiliser des revendications facultatives dans leurs applications Microsoft Entra pour spécifier les revendications souhaitées dans les jetons envoyés à leur application.

Vous pouvez utiliser des revendications facultatives pour :

  • Sélectionner des revendications supplémentaires à inclure dans les jetons pour votre application.
  • Modifiez le comportement de certaines revendications renvoyées par Microsoft Entra ID sous forme de jetons.
  • Ajouter et accéder à des revendications personnalisées pour votre application.

Nous allons configurer OpenShift pour utiliser la email revendication et revenir à upn la définition du nom d’utilisateur préféré en ajoutant le upn jeton d’ID retourné par l’ID De Microsoft Entra ID.

Accédez à Configuration du jeton puis cliquez sur Ajouter une revendication facultative. Sélectionnez ID, puis vérifiez les revendications email et upn.

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

Affecter des utilisateurs et des groupes au cluster (facultatif)

Les applications inscrites dans un locataire Microsoft Entra sont, par défaut, disponibles pour tous les utilisateurs du locataire qui parviennent à s’authentifier. Microsoft Entra ID permet aux administrateurs de locataires et aux développeurs de restreindre une application à un ensemble spécifique d’utilisateurs ou de groupes de sécurité dans le locataire.

Suivez les instructions de la documentation Microsoft Entra pour affecter des utilisateurs et des groupes à l’application.

Configurer l’authentification OpenShift OpenID

Récupérez les informations d’identification de kubeadmin. Exécutez la commande suivante pour rechercher le mot de passe de l’utilisateur kubeadmin.

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

L’exemple de sortie suivant montre que le mot de passe se trouve dans kubeadminPassword.

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

Vous trouverez l’URL de la console de cluster en exécutant la commande suivante, qui se présente comme suit : https://console-openshift-console.apps.<random>.<region>.aroapp.io/

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

Lancez l’URL de la console dans un navigateur et connectez-vous à l’aide des informations d’identification kubeadmin.

Accédez à Administration istration, cliquez sur Cluster Paramètres, puis sélectionnez l’onglet Configuration. Faites défiler pour sélectionner OAuth.

Faites défiler vers le bas jusqu’à la section Fournisseurs d’identité, sélectionnez Ajouter, puis sélectionnez OpenID Connect. Select OpenID Connect from the Identity Providers dropdown

Renseignez le nom en tant qu’ID Microsoft Entra, l’ID client comme ID d’application et la clé secrète client. L’URL de l’émetteur se présente sous la forme suivante : https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0. Remplacez l’espace réservé par l’ID de locataire que vous avez récupéré.

Fill in OAuth details

Faites défiler vers le bas jusqu’à la section Revendications et mettez à jour le Nom d’utilisateur par défaut pour utiliser la valeur de la revendication upn.

Fill in claims details

Vérifier la connexion via l’ID Microsoft Entra

Si vous vous déconnectez maintenant de la console web OpenShift et essayez de vous reconnecter, vous serez présenté avec une nouvelle option pour vous connecter avec l’ID Microsoft Entra. Vous devrez peut-être patienter quelques minutes.

Login screen with Microsoft Entra option

Remarque

Si vous rencontrez l’erreur telle que « AADSTS50011 : l’URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx de redirection spécifié dans la requête ne correspond pas aux URI de redirection configurés », vous pouvez suivre le guide de résolution des problèmes échec de connexion Azure AD (OIDC) lorsque l’URI de redirection n’est pas défini correctement pour résoudre le problème.