Introducción al inicio de sesión único con dispositivos Apple
Las organizaciones suelen usar el inicio de sesión único (SSO), que está diseñado para mejorar la experiencia de inicio de sesión del usuario en apps y sitios web. Con SSO, se realiza un proceso de autenticación común para acceder a varias apps o sistemas (sin que el usuario tenga que volver a declarar su identidad). En lugar de guardar las credenciales de los usuarios (por ejemplo, sus contraseñas) y reutilizarlas para todas las apps o para el sistema, el SSO utiliza el identificador proporcionado por la autenticación inicial y, para los usuarios, es parecido al concepto de proporcionar la contraseña una sola vez.
Por ejemplo, SSO tiene lugar cuando inicias sesión en Active Directory en tu red empresarial y, a continuación, accedes sin problemas a las apps y los sitios web empresariales sin introducir de nuevo tu contraseña. Todas las apps y sistemas están configurados para confiar en Active Directory para identificar a los usuarios y proporcionar pertenencia a grupos; en conjunto, forman un dominio de seguridad.
Kerberos
Kerberos es un protocolo de autenticación que habitualmente se utiliza para SSO en redes grandes. Además, es el protocolo por omisión usado por Active Directory. Funciona en distintas plataformas, utiliza la encriptación y protege contra los ataques de repetición. Puede utilizar contraseñas, identidades de certificado, tarjetas inteligentes, dispositivos NFC u otros productos de autenticación de hardware para autenticar al usuario. El servidor que realiza las operaciones Kerberos se conoce como Centro de distribución de claves (KDC). Para autenticar a los usuarios, los dispositivos Apple deben ponerse en contacto con el KDC a través de una conexión de red.
Kerberos funciona bien en las redes internas o privadas de las organizaciones porque todos los clientes y servidores tienen conectividad directa al KDC. Los clientes que no están en la red empresarial deben utilizar una red privada virtual (VPN) para realizar la conexión y la autenticación. Kerberos no es el sistema ideal para las apps de nube o basadas en internet. Eso es porque estas aplicaciones no tienen conectividad directa con la red corporativa. Para las apps basadas en la nube o en internet es más adecuada la autenticación moderna (que se describe a continuación).
macOS prioriza Kerberos para todas las actividades de autenticación cuando se integra en un entorno de Active Directory. Cuando un usuario inicia sesión en un Mac con una cuenta de Active Directory, el controlador del dominio de Active Directory solicita un ticket otorgador de tickets (TGT) de Kerberos. Cuando el usuario trata de usar cualquier servicio o app del dominio que sea compatible con la autenticación Kerberos, el TGT se usa para solicitar un ticket para dicho servicio sin requerir al usuario que vuelva a autenticarse. Si se establece una política para solicitar una contraseña para cerrar el salvapantallas, macOS trata de renovar el TGT tras la correcta autenticación.
Para que los servidores kerberizados funcionen correctamente, los registros del sistema de nombres de dominio (DNS), tanto hacia delante como invertido, deberán ser exactos. La hora del reloj del sistema también es importante, pues la desviación del reloj debe ser inferior a cinco minutos para los servidores y clientes. El procedimiento recomendado es ajustar la fecha y la hora automáticamente con un servicio Network Time Protocol (NTP), como time.apple.com.
Autenticación moderna con SSO
La autenticación Moderna se refiere a un conjunto de protocolos de autenticación basados en web que utilizan las aplicaciones en la nube. Entre los ejemplos, figuran SAML 2.0, OAuth 2.0 (iOS 16, iPadOS 16.1 o visionOS 1.1, o posterior) y Open ID Connect (OIDC). Estos protocolos funcionan bien a través de internet y encriptan sus conexiones mediante HTTPS. SAML2 se utiliza frecuentemente para realizar la vinculación entre las redes de una organización y las aplicaciones en la nube. La vinculación se usa al atravesar dominios de confianza (por ejemplo, al acceder a un conjunto de aplicaciones en la nube desde el dominio local).
Nota: Para usar OAuth 2.0, la solución MDM debe implementar compatibilidad de lado de servidor para OAuth 2.0 con cualquier proveedor de identidades (IdP) que quieras admitir para su uso con la inscripción de usuario.
El inicio de sesión único con estos protocolos varía en función del distribuidor y del entorno. Por ejemplo, cuando usas Active Directory Federation Services (AD FS) en la red de una organización, AD FS funciona con Kerberos para SSO, y cuando autenticas a los clientes a través de internet, AD FS puede usar cookies de navegador. Los protocolos de autenticación modernos no establecen cómo deben declarar su identidad los usuarios. Muchos de estos protocolos se utilizan en combinación con autenticación multifactor, como un código SMS al autenticarse desde clientes desconocidos. Algunos distribuidores proporcionan certificados en el dispositivo para identificar dispositivos conocidos con el fin de contribuir al proceso de autenticación.
Los IdP pueden admitir el SSO en iOS, iPadOS, macOS y visionOS 1.1 mediante el uso de extensiones de inicio de sesión único. Estas extensiones permiten que los IdP implementen protocolos de autenticación modernos para sus usuarios.
Apps admitidas
iOS, iPadOS y visionOS 1.1 ofrecen una compatibilidad flexible con el inicio de sesión único (SSO) en cualquier app que use las clases NSURLConnection
o NSURLSession
para gestionar la autenticación y las conexiones de red. Apple proporciona a todos los desarrolladores estas clases para integrar perfectamente las conexiones de red en sus apps.
Cualquier app de Mac que admita la autenticación Kerberos funciona con SSO. Esto incluye muchas de las apps integradas con macOS, como Safari, Mail y Calendario, así como servicios como el uso compartido de archivos, duplicación de pantalla y shell seguro (SSH). Numerosas apps de terceros, como Microsoft Outlook, también admiten Kerberos.
Configurar el inicio de sesión único
La configuración del inicio de sesión único (SSO) se lleva a cabo mediante perfiles de configuración, que se pueden instalar manualmente o gestionar mediante MDM. La carga útil del SSO permite una configuración flexible. El SSO se puede aplicar a todas las apps o se puede restringir por identificador de app, URL de servicio o ambos criterios.
Para comparar un patrón con el prefijo de una URL solicitada, se utiliza la identificación de patrones en cadenas de caracteres. Por lo tanto, los patrones deben empezar o bien por https:// o por http://, y no coincidirán con números de puertos divergentes. Si un patrón de coincidencia de URL no termina con una barra diagonal (/), se añade una.
Por ejemplo, https://www.betterbag.com/ coincide con https://www.betterbag.com/principal.html, pero no con http://www.betterbag.com ni con https://www.betterbag.com:443/.
Se puede usar un comodín para especificar los subdominios que faltan. Por ejemplo, https://*.betterbag.com/ coincide con https://store.betterbag.com/.
Los usuarios de Mac pueden ver y gestionar la información de sus tickets Kerberos usando la app Visor de Tickets, ubicada en /Sistema/Librería/CoreServices/. Puedes consultar información adicional haciendo clic en el menú Ticket y seleccionando “Información de diagnóstico”. Si el perfil de configuración lo permite, los usuarios también pueden solicitar, ver y destruir tickets de Kerberos usando las herramientas de la línea de comandos kinit
, klist
y kdestroy
, respectivamente.