Descripción del modelo de SSO de Microsoft

Microsoft Entra ID es una plataforma de identidad central. Proporciona inicio de sesión único (SSO) entre aplicaciones que usan distintos protocolos de autenticación. En este artículo se explica cómo Microsoft Entra ID implementa el inicio de sesión único en el nivel de plataforma y lo que significa para la integración de aplicaciones.

Microsoft Entra ID como plataforma de identidad central

Microsoft Entra ID es un proveedor de identidades central. Autentica a los usuarios y emite tokens de identidad en aplicaciones. Proporciona a los usuarios una experiencia de inicio de sesión y admite distintos protocolos para entregar información de identidad a las aplicaciones.

Los usuarios inician sesión en Microsoft Entra ID una vez. Después, la plataforma puede afirmar su identidad en muchas aplicaciones sin pedirles que vuelvan a iniciar sesión. Las directivas de autenticación, los controles de seguridad y las credenciales de usuario residen en un solo lugar. Cada aplicación recibe información de identidad en su propio formato de protocolo.

La idea clave: la autenticación se unifica en toda la plataforma. Los protocolos como el lenguaje de marcado de aserción de seguridad (SAML) y OpenID Connect (OIDC) solo difieren en cómo empaquetan y entregan esa información de identidad después de la autenticación.

Cómo Microsoft Entra controla la autenticación para SAML y OIDC

Microsoft Entra ID usa las mismas fases de autenticación si una aplicación usa SAML o OpenID Connect.

Fases de autenticación compartida

Autenticación de usuario: Microsoft Entra ID comprueba las credenciales de usuario. Los usuarios pueden iniciar sesión con una contraseña, una autenticación multifactor o un método sin contraseña. Este paso es el mismo para cada aplicación, independientemente del protocolo que use.

Cumplimiento de directivas: la plataforma comprueba las directivas de acceso condicional, el cumplimiento de dispositivos y otros controles de seguridad. Estas comprobaciones se ejecutan después de iniciar sesión, pero antes de que Microsoft Entra ID emita tokens o aserciones.

Determinación de identidad: Microsoft Entra ID decide qué información de identidad incluir. Se basa en la configuración de la aplicación y en el perfil del usuario y las pertenencias a grupos. Para obtener más información, consulte Autenticación de aplicaciones y usuarios.

Divergencia de protocolo

Después de las comprobaciones de autenticación y directiva, los dos protocolos difieren en cómo empaquetan y entregan información de identidad.

Las aplicaciones SAML reciben aserciones de SAML en formato XML. Cada aserción contiene información y atributos de identidad, está firmada digitalmente y se transmite en los mensajes del protocolo SAML.

Las aplicaciones de OpenID Connect reciben JSON Web Tokens (JWT) que contienen declaraciones de identidad. Estos tokens siguen el flujo de código de autorización de OAuth 2.0 y las especificaciones de OpenID Connect para estructura y entrega.

Las decisiones de autenticación y autorización son las mismas. Solo el formato y la entrega difieren, en función del protocolo de la aplicación.

Cumplimiento compartido y capa de directivas compartida

Microsoft Entra ID aplica las mismas directivas de seguridad y controles de acceso a cada aplicación, independientemente del protocolo que use. Esta aplicación se realiza antes de que Microsoft Entra ID emita tokens o aserciones.

Las directivas de acceso condicional pesan factores como la ubicación del usuario, el cumplimiento de dispositivos, el riesgo de inicio de sesión y la confidencialidad de la aplicación. Una directiva puede requerir autenticación adicional, bloquear el acceso o permitir el acceso en condiciones establecidas. La plataforma aplica estas directivas para las aplicaciones SAML y OpenID Connect por igual.

La autenticación multifactor (MFA) se aplica durante el inicio de sesión, antes de que se emita cualquier token específico del protocolo. Tanto si una aplicación usa SAML como OIDC, los usuarios ven las mismas solicitudes de MFA, en función de sus directivas asignadas.

Directivas basadas en dispositivos verifican la conformidad de los dispositivos, el estado de registro y las reglas de acceso condicional basadas en dispositivos. Estas comprobaciones se ejecutan durante el inicio de sesión y aplican la misma manera para cada protocolo de aplicación.

Esta capa de directiva compartida mantiene los controles de seguridad y las decisiones de acceso coherentes en todas las aplicaciones, independientemente de la combinación de SAML y OpenID Connect que use.

Modelo de configuración: aplicaciones, inquilinos y configuración de protocolo

Microsoft Entra ID usa un modelo de configuración estructurado para administrar las integraciones de aplicaciones y la configuración específica del protocolo. Un tenant es la instancia dedicada de Microsoft Entra ID de una organización.

Los objetos de aplicación son la definición global de una aplicación. Un objeto de aplicación contiene los requisitos de autenticación de la aplicación, los protocolos admitidos y la configuración básica. Define lo que puede hacer la aplicación.

Las entidades de servicio representan la aplicación en un tenant específico. Cuando alguien agrega la aplicación a un inquilino, Microsoft Entra ID crea una entidad de servicio. La entidad de servicio contiene la configuración específica del inquilino, las asignaciones de usuario y la configuración del protocolo. Dado que el objeto de aplicación y la entidad de servicio son independientes, su aplicación puede utilizar configuraciones diferentes en los distintos inquilinos de los clientes.

La configuración del protocolo reside en el nivel de entidad de servicio, por lo que la configuración de SAML y OpenID Connect son específicas del inquilino. Entre estas opciones se incluyen:

  • Atributos de aserción de SAML y formatos NameID
  • Ámbito y asignación de notificaciones de OpenID Connect
  • URI de redirección y puntos de conexión específicos del protocolo
  • Configuración de certificados y claves para la firma de tokens

Este modelo de configuración permite que las aplicaciones de ISV admitan varios inquilinos, cada uno con sus propias preferencias de protocolo y configuración.

Puntos de conexión y protocolos admitidos

Microsoft Entra ID proporciona puntos de conexión específicos del inquilino. Las aplicaciones usan estos puntos de conexión para las solicitudes de autenticación y token.

Los puntos de conexión de OpenID Connect siguen los patrones estándar de OAuth 2.0 y OpenID Connect. Sus direcciones URL específicas de cada cliente incluyen el identificador del cliente. Estos puntos de conexión controlan las solicitudes de autorización y token. También publican metadatos de detección, por lo que las aplicaciones pueden configurarse automáticamente.

La configuración de SAML usa la detección basada en metadatos. Microsoft Entra ID publica metadatos SAML específicos del inquilino que enumeran los puntos de conexión, la información de certificado y las funcionalidades de protocolo disponibles. Las aplicaciones leen estos metadatos para configurar automáticamente sus valores de SAML.

Ambos protocolos usan puntos de conexión específicos de cada inquilino, por lo que cada inquilino tiene su propio conjunto de URL para la autenticación. Este aislamiento mantiene cada solicitud en el contexto organizativo correcto y garantiza que los tokens lleven la información específica del inquilino correcta.

Modelos de SSO admitidos e inicio del flujo

Microsoft Entra ID admite flujos iniciados por el proveedor de servicios (SP) para aplicaciones SAML y OpenID Connect. En un flujo iniciado por SP, el usuario se inicia en la aplicación. A continuación, la aplicación los redirige a Microsoft Entra ID para iniciar sesión.

En el caso de las aplicaciones SAML, Microsoft Entra ID también admite flujos iniciados por el proveedor de identidades (IdP). El usuario inicia el proceso desde Microsoft Entra ID, por ejemplo, desde el portal Aplicaciones, y Microsoft Entra ID lo redirige a la aplicación con una aserción ya autenticada.

OpenID Connect sigue los flujos de autorización de OAuth 2.0. Normalmente, las aplicaciones web usan el flujo de código de autorización y las aplicaciones móviles y de página única usan el flujo que se ajuste a ellos.

Pasos siguientes

Continúe planificando cómo integrará el inicio de sesión único con Microsoft Entra ID: