Configuración de la autenticación de Microsoft Entra para un clúster de Red Hat OpenShift 4 de Azure (Portal)

Si decide instalar y usar la CLI de forma local, en este tutorial es preciso que ejecute la CLI de Azure, versión 2.6.0 o posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Antes de empezar

Construya la dirección URL de devolución de llamada de OAuth del clúster y anótela. Asegúrese de reemplazar aro-rg por el nombre del grupo de recursos y aro-cluster por el nombre del clúster.

Nota:

La sección AAD de la dirección URL de devolución de llamada de OAuth debe coincidir con el nombre del proveedor de identidades de OAuth que se va a configurar más adelante.

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"

Creación de una aplicación de Microsoft Entra para la autenticación

Inicie sesión en Azure Portal, vaya a la hoja Registros de aplicaciones y, a continuación, haga clic en Nuevo registro para crear una nueva aplicación.

Proporcione un nombre para la aplicación, por ejemplo aro-azuread-auth y rellene el URI de redirección con el valor de la dirección URL de devolución de llamada de OAuth que recuperó anteriormente.

New application registration

Vaya a Certificados y secretos, haga clic en Nuevo secreto de cliente y rellene los detalles. Anote el valor de la clave, ya que lo usará en una fase posterior. No podrá recuperarlo de nuevo.

Create a secret

Vaya a la Información general y tome nota del Id. de la aplicación (cliente) y el Id. de directorio (inquilino). Los necesitará en una fase posterior.

Retrieve Application (client) and Directory (tenant) IDs

Configuración de notificaciones opcionales

Los desarrolladores de aplicaciones pueden usar notificaciones opcionales en sus aplicaciones de Microsoft Entra para especificar qué notificaciones quieren en los tokens enviados a su aplicación.

Estas notificaciones opcionales sirven para:

  • Seleccionar las notificaciones adicionales que se incluirán en los tokens para la aplicación.
  • Cambiar el comportamiento de determinadas notificaciones que la Plataforma de identidad de Microsoft Entra ID devuelve en tokens.
  • Agregar notificaciones personalizadas para la aplicación y acceder a ellas.

Configuraremos OpenShift para usar la email notificación y revertir a upn para establecer el nombre de usuario preferido agregando como upn parte del token de identificador devuelto por El id. de Microsoft Entra.

Vaya a Configuración de token y haga clic en Agregar notificación opcional. Seleccione Id. y, a continuación, compruebe las notificaciones de correo y UPN.

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

Asignación de usuarios y grupos al clúster (opcional)

Las aplicaciones registradas en un inquilino de Microsoft Entra están disponibles de forma predeterminada para todos los usuarios del inquilino que se autentican correctamente. Microsoft Entra ID permite a los administradores y desarrolladores de inquilinos restringir una aplicación a un conjunto específico de usuarios o grupos de seguridad en el inquilino.

Siga las instrucciones de la documentación de Microsoft Entra para asignar usuarios y grupos a la aplicación.

Configuración de la autenticación OpenID en OpenShift

Recupere las credenciales de kubeadmin. Ejecute el siguiente comando para buscar la contraseña del usuario kubeadmin.

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

En la siguiente salida de ejemplo se muestra que la contraseña estará en kubeadminPassword.

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

Para encontrar la dirección URL de la consola del clúster, ejecute el siguiente comando, que será similar a https://console-openshift-console.apps.<random>.<region>.aroapp.io/.

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

Inicie la dirección URL de la consola en un explorador e inicie sesión con las credenciales de kubeadmin.

Vaya a Administración istration, haga clic en Clúster Configuración y seleccione la pestaña Configuración. Desplácese para seleccionar OAuth.

Desplácese hacia abajo para seleccionar Agregar en la sección Proveedores de identidades y seleccione OpenID Connect. Select OpenID Connect from the Identity Providers dropdown

Rellene el nombre como Id. de Microsoft Entra, el identificador de cliente como identificador de aplicación y el secreto de cliente. La URL del emisor tiene el formato siguiente: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0. Reemplace el marcador de posición por el Id. de inquilino que recuperó anteriormente.

Fill in OAuth details

Desplácese hacia abajo hasta la sección Notificaciones y actualice el Nombre de usuario preferido para usar el valor de la notificación UPN.

Fill in claims details

Comprobación del inicio de sesión a través de Microsoft Entra ID

Si ahora cierra sesión en la consola web de OpenShift e intenta iniciar sesión de nuevo, se le presentará una nueva opción para iniciar sesión con microsoft Entra ID. Debe esperar unos minutos.

Login screen with Microsoft Entra option

Nota:

Si se produce el error como "AADSTS50011: el URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx de redireccionamiento especificado en la solicitud no coincide con los URI de redirección configurados", puede seguir la guía de solución de problemas de inicio de sesión de Azure AD (OIDC) cuando el URI de redirección no está configurado correctamente para resolver el problema.