Microsoft Entra inicio de sesión único sin problemas: profundización técnica

En este artículo se proporcionan detalles técnicos sobre cómo funciona la característica de inicio de sesión único (SSO de conexión directa) de Microsoft Entra sin problemas.

¿Cómo funciona SSO de conexión directa?

Esta sección tiene tres partes:

  1. La configuración de la característica SSO de conexión directa.
  2. El funcionamiento de una transacción de inicio de sesión de usuario único en un explorador web con SSO de conexión directa.
  3. El funcionamiento de una transacción de inicio de sesión de usuario único en un cliente nativo con SSO de conexión directa.

¿Cómo funciona la configuración?

SSO Seamless se habilita utilizando Microsoft Entra Connect como se muestra aquí. Cuando se habilita la característica, se producen los pasos siguientes:

  • Se crea una cuenta de equipo (AZUREADSSOACC) en su Active Directory (AD) local en cada bosque AD que sincronice con Microsoft Entra ID (utilizando Microsoft Entra Connect).
  • Adicionalmente, un número de nombres principales de servicio Kerberos (SPNs) son creados para ser usados durante el proceso de inicio de sesión de Microsoft Entra.
  • La clave de descifrado Kerberos de la cuenta del equipo se comparte de forma segura con Microsoft Entra ID. Si hay varios bosques de AD, cada cuenta de equipo tendrá su propia clave de descifrado de Kerberos única.

Importante

La cuenta de equipo AZUREADSSOACC precisa de una gran protección por motivos de seguridad. Solo los administradores de dominio deben poder administrar la cuenta de equipo. Asegúrese de que la delegación de Kerberos de la cuenta de equipo está deshabilitada y de que ninguna otra cuenta de Active Directory tiene permisos de delegación en la cuenta de equipo AZUREADSSOACC. Almacene la cuenta de equipo en una unidad organizativa (OU) donde esté a salvo de eliminaciones accidentales y donde solo los administradores de dominio tengan acceso. La clave de descifrado de Kerberos de la cuenta de equipo también debe considerarse como confidencial. Se recomienda encarecidamente sustituir la clave de descifrado de Kerberos de la cuenta de equipo de AZUREADSSOACC al menos cada 30 días.

Importante

El inicio de sesión único de conexión directa admite los tipos de cifrado AES256_HMAC_SHA1, AES128_HMAC_SHA1 y RC4_HMAC_MD5 para Kerberos. Se recomienda que el tipo de cifrado de la cuenta AzureADSSOAcc$ se establezca en AES256_HMAC_SHA1, o uno de los tipos AES en lugar de RC4, para mayor seguridad. El tipo de cifrado se almacena en el atributo msDS-SupportedEncryptionTypes de la cuenta en Active Directory. Si el tipo de cifrado de la cuenta AzureADSSOAcc$ está establecido en RC4_HMAC_MD5 y quiere cambiarlo por uno de los tipos de cifrado AES, asegúrese de revertir primero la clave de descifrado de Kerberos de la cuenta AzureADSSOAcc$, como se explica en la pregunta correspondiente del documento de preguntas más frecuentes; de lo contrario, no se producirá el inicio de sesión único de conexión directa.

Una vez que se completa la instalación, el inicio de sesión único de conexión directa funciona del mismo modo que cualquier otro inicio de sesión que use la autenticación integrada de Windows (IWA).

¿Cómo funciona el inicio de sesión en un explorador web con SSO de conexión directa?

El flujo de inicio de sesión en un explorador web es el siguiente:

  1. El usuario intenta acceder a una aplicación web (por ejemplo, la aplicación web Outlook - https://outlook.office365.com/owa/) desde un dispositivo corporativo unido a un dominio dentro de la red corporativa.

  2. Si el usuario aún no ha iniciado sesión, se le redirige a la página de inicio de sesión de Microsoft Entra.

  3. El usuario introduce su nombre de usuario en la página de inicio de sesión de Microsoft Entra.

    Nota:

    Para ciertas aplicaciones, se omiten los pasos 2 y 3.

  4. Usando JavaScript en segundo plano, Microsoft Entra ID reta al explorador, a través de una respuesta 401 no autorizada, a proporcionar un vale Kerberos.

  5. El explorador, a su vez, solicita un vale a Active Directory para la AZUREADSSOACC cuenta del ordenador (que representa Microsoft Entra ID).

  6. Active Directory busca la cuenta de equipo y devuelve al explorador un vale Kerberos cifrado con el secreto de la cuenta de equipo.

  7. El explorador reenvía el vale Kerberos que adquirió de Active Directory a Microsoft Entra ID.

  8. Microsoft Entra ID descifra el vale Kerberos, que incluye la identidad del usuario registrado en el dispositivo corporativo, usando la clave previamente compartida.

  9. Tras la evaluación, Microsoft Entra ID devuelve un token a la aplicación o pide al usuario que realice pruebas adicionales, como la autenticación multifactor.

  10. Si el inicio de sesión del usuario se realiza correctamente, el usuario puede acceder a la aplicación.

En el diagrama siguiente se ilustran todos los componentes y los pasos implicados.

Seamless Single Sign On - Web app flow

SSO de conexión directa es una característica oportunista, lo que significa que, si se genera un error, la experiencia de inicio de sesión se revierte a su comportamiento habitual, es decir, el usuario deberá escribir su contraseña para iniciar sesión.

¿Cómo funciona el inicio de sesión en un cliente nativo con SSO de conexión directa?

El flujo de inicio de sesión en un cliente nativo es el siguiente:

  1. El usuario intenta acceder a una aplicación nativa (por ejemplo, el cliente Outlook) desde un dispositivo corporativo unido a un dominio dentro de la red corporativa.
  2. Si el usuario todavía no inicia sesión, la aplicación nativa recupera el nombre del usuario de la sesión de Windows del dispositivo.
  3. La aplicación envía el nombre de usuario a Microsoft Entra ID y recupera el punto de conexión WS-Trust MEX de su inquilino. Este punto de conexión de WS-Trust lo utiliza exclusivamente la característica SSO de conexión directa y no es una implementación general del protocolo WS-Trust en Microsoft Entra ID.
  4. La aplicación entonces consulta el punto de conexión MEX de WS-Trust para ver si está disponible el punto de conexión de autenticación integrada. El punto de conexión de autenticación integrada lo usa exclusivamente la característica SSO de conexión directa.
  5. Si el paso 4 se completa correctamente, se emite un desafío de Kerberos.
  6. Si la aplicación es capaz de recuperar el vale Kerberos, lo reenvía al punto de conexión de autenticación integrado de Microsoft Entra.
  7. Microsoft Entra ID descifra el vale Kerberos y lo valida.
  8. Microsoft Entra ID registra al usuario y emite un token SAML para la aplicación.
  9. A continuación, la aplicación envía el token SAML a un punto de conexión de token Entra ID OAuth2 de Microsoft.
  10. Microsoft Entra ID valida el token SAML, y emite a la aplicación un token de acceso y un token de actualización para el recurso especificado, y un token de id.
  11. El usuario obtiene acceso al recurso de la aplicación.

En el diagrama siguiente se ilustran todos los componentes y los pasos implicados.

Seamless Single Sign On - Native app flow

Pasos siguientes