Todos los caminos llevan a Entra ID
Microsoft Entra ID (antes conocido como Azure Active Directory) es la solución integrada de identidad y acceso de la nube.
El mayor desafío de cualquiera que empiece a emprender Entra ID, aparte de los interminables cambios de nombre de productos en M365/Azure, es que «SSO» (Single Sign-On) se ha convertido casi en una palabra de moda.
Si actualmente estás buscando formas de estandarizar las identidades y de interrumpir con menos frecuencia el trabajo de los usuarios para iniciar sesión, te bombardean con tecnologías fundamentalmente diferentes que son difíciles de distinguir a primera vista. Aquí están recopilados todos los conceptos básicos.
Para Microsoft el SSO requiere no sólo el uso de la misma información de usuario sino que un usuario tenga que iniciar sesión una sola vez y, a partir de ese momento, obtenga acceso a otras aplicaciones sin más interacción.
En la parte del cliente
Una vez que he iniciado sesión en Entra ID, mi dispositivo debe tener la capacidad de compartir este inicio de sesión con otras aplicaciones. En Windows, esto está integrado directamente en el sistema operativo. Como era de esperar, otros fabricantes tienen menos interés en apoyar los mecanismos de Microsoft por defecto.
Android
La autenticación Entra ID se basa en protocolos web, con información de sesión almacenada en el navegador web. Sin el uso de un navegador común, el SSO entre diferentes aplicaciones no sería posible. Lo ideal sería que las aplicaciones utilizaran el navegador estándar del sistema operativo, pero a menudo no es así.
Para resolver este problema, Intune Company Portal y Microsoft Authenticator pueden servir como «aplicaciones intermediarias». Almacenan las sesiones de inicio de sesión actuales de un usuario y permiten compartirlas entre aplicaciones. Por desgracia, estas funciones no forman parte del propio sistema operativo, por lo que es necesario que las aplicaciones puedan comunicarse con estos brokers. Esto se consigue normalmente utilizando la Microsoft Authentication Library (MSAL). MSAL facilita a los desarrolladores la implementación de protocolos de autenticación y también integra por defecto las aplicaciones broker de Microsoft.
SSO empresarial para iOS y macOS
Lo que se aplica a Android también se aplica a macOS e iOS, con la pequeña diferencia de que en iOS, sólo Microsoft Authenticator puede actuar como broker, mientras que en macOS, el portal de empresa Intune asume exclusivamente este papel.
Además, el broker puede integrarse directamente en el sistema operativo: Apple proporciona el denominado «Authentication Services Framework» en sus sistemas operativos, en el que el servicio de broker de Microsoft puede integrarse como plug-in. Mediante las configuraciones adecuadas, los procesos de autenticación de las aplicaciones que no utilizan MSAL también se pueden redirigir al broker, ampliando así el SSO.
SSO sin fisuras para Windows
Al principio se ha mencionado que los mecanismos de SSO en Windows están integrados directamente en el sistema operativo. Sin embargo, esta integración no es totalmente automática, y es precisamente aquí donde reside el mayor escollo en términos de comprensibilidad.
El SSO sin fisuras engloba dos aspectos: Por un lado, Microsoft utiliza este término para describir el mecanismo de autenticación para dispositivos que se han unido exclusivamente a Entra ID y acceden a recursos en dominios «tradicionales» de Active Directory. Al mismo tiempo, cubre el escenario opuesto: el inicio de sesión de clientes que están registrados únicamente en dominios «tradicionales» de Active Directory a recursos o aplicaciones protegidos por Entra ID.
La implementación de Seamless SSO con Entra ID es particularmente importante al comienzo de la transformación de una organización hacia una infraestructura híbrida, o cuando los servidores terminales están presentes en un entorno. Esto permite aprovechar las ventajas de conectarse a Entra ID lo antes posible, al menos parcialmente. Para ello, se integra una cuenta informática en el dominio local, que emite tickets Kerberos para Entra ID. Sin embargo, debe quedar claro que la MFA nunca puede incluirse en este SSO porque Kerberos no soporta MFA dentro del protocolo por defecto. Por lo tanto, normalmente se sigue dependiendo de las excepciones de IP o dispositivo de MFA.
Para Seamless SSO a recursos On-Premises o más bien Active Directory, el propio Windows hace la mayor parte del trabajo. Cuando se solicita un inicio de sesión desde un dominio, que se reconoce como sincronizado con Entra ID, Windows puede presentar la contraseña y el nombre de usuario sincronizado en las instalaciones que se utilizó al iniciar sesión en el dispositivo, sin necesidad de más interacción del usuario. Aquellos que presten atención podrían preguntarse: ¿Qué pasa si Windows no tiene actualmente mi contraseña guardada? Si el usuario no ha introducido una contraseña al iniciar sesión en Windows (por ejemplo, porque utiliza Hello for Business), Entra ID, con la configuración adecuada, emite un ticket Kerberos que puede utilizarse on-premise.
En ambos escenarios, Entra Connect Sync desempeña un papel central: Ambas partes necesitan saber qué objetos de Entra ID y Active Directory se corresponden entre sí. Además, los Cmdlets PowerShell del Conector gestionan los objetos del Directorio Activo y los secretos asociados utilizados en el proceso de autenticación. También es inevitable que sea necesaria una conexión con Active Directory, por lo que, desafortunadamente, se depende de una VPN. Al menos mientras siga habiendo sistemas dependientes de Active Directory.
En la parte de las aplicaciones
Nuestro dispositivo ahora tiene acceso a un inicio de sesión compartido – ahora necesitamos consumidores de autenticación. Ya hemos tocado algunos aspectos con Android e iOS, por ejemplo, la biblioteca de autenticación de Microsoft (MSAL). Pero, ¿qué ocurre con los componentes de infraestructura y las aplicaciones basadas en servidor o web? Naturalmente, el requisito fundamental es que la aplicación no se autentique exclusivamente con un nombre de usuario y una contraseña de su propia base de datos. Estas aplicaciones suelen estar obsoletas o su desarrollo deja mucho que desear (excluyendo las aplicaciones en las que el SSO es una función de pago), y debería considerarse su sustitución.
SAML / OIDC
Los estándares actuales de autenticación basada en web son SAML y OIDC. SAML es probablemente el más utilizado, debido a su antigüedad. Sin embargo, OIDC está ganando impulso, especialmente debido al desarrollo en curso y a las ventajas de la autenticación basada en tokens. Ambos estándares son, por supuesto, compatibles con Entra ID.
Al tratarse de estándares completamente abiertos, es muy probable que alguno de los programas informáticos de tu arsenal ya sea compatible con alguno de los protocolos y no necesites interrumpir en absoluto al usuario para determinar su identidad y sus derechos de acceso. Esto no sólo puede mejorar la experiencia del usuario, sino que el uso de un proveedor de identidad como Entra ID permite centralizar la gestión de la información y los permisos del usuario, facilitando la vida a los administradores.
Por lo tanto, comprueba si tu aplicación tal vez ya figura en el catálogo de aplicaciones de Entra ID. Ten en cuenta que no todas las aplicaciones que soportan SAML y OIDC están listadas aquí. Sin embargo, las guías y pre-configuraciones específicas de Entra ID simplifican la implementación.
Proxy de Aplicación / Entra Private Access
Si la aplicación es demasiado antigua para los protocolos modernos, no toda esperanza está perdida – los métodos comunes de autenticación «legacy» aún pueden ser integrados. Un servicio proxy apropiado puede traducir los protocolos antiguos, que no son adecuados para Internet, en protocolos modernos. Por ejemplo, con el «Application Proxy» de Entra ID, se pueden conectar la cabecera HTTP, SAML, Kerberos (= Autenticación Integrada de Windows) y la autenticación basada en contraseña.
Es importante que la solución de Microsoft obtenga las solicitudes de Entra ID y nunca sea accesible directamente en Internet.
El mismo agente conector también es utilizado por la nueva solución de Microsoft, Entra private network connector (antes conocido como: Entra Private Access), que en el futuro también soportará UDP y cualquier conexión TCP – además de opciones de control mejoradas.
La función de traductor también puede ser asumida por sistemas proxy de terceros, como F5 BIG-IP o Citrix NetScaler, para mantener un mayor control sobre el tráfico y el rendimiento.
Otros proveedores de identidad
Los proveedores de identidad (IdP) existentes también pueden integrarse – la mayoría de los IdP pueden asumir el rol de Parte de Confianza o Proveedor de Servicios, funcionando efectivamente como una aplicación vinculada a Entra ID. Dependiendo de la configuración y del IdP, las sesiones SSO pueden transferirse sin problemas a sistemas que pueden no estar directamente vinculados a Entra ID.
Es posible que no seas consciente de que está utilizando otro IdP: soluciones de middleware como SiteMinder, instaladas dentro de un servidor web para centralizar la autenticación, también pueden considerarse IdPs. Al conectarlos, los procesos de inicio de sesión optimizados por Microsoft pueden extenderse a otros sistemas.
Muchas aplicaciones también aportan su propio IdP. Shibboleth y KeyCloak se utilizan habitualmente para realizar la misma función que MSAL: un proveedor independiente que se encarga de la autenticación para que los desarrolladores no tengan que implementarla ellos mismos.
Entra ID también puede ser configurado como el componente receptor – la autenticación ocurre a través de otro IdP, en el cual Entra ID confía – Microsoft se refiere a este arreglo como «Federación». Sin embargo, en esta configuración, muchas ventajas de la autenticación Entra ID pueden perderse, por lo que preferiblemente, la confianza iría en la dirección opuesta.
Conclusión
Vemos que hay que considerar y utilizar una variedad de tecnologías y configuraciones en el camino hacia el SSO. Cada una conlleva sus propios retos y matices pero al menos conocemos los caminos en los que podemos embarcarnos.
Información basada el gráfico «All paths to Entra SSO» de Julian Sperling (con licencia CC BY-SA 4.0) y su artículo explicándolo «All Roads to Entra ID SSO«.