¿Qué es SSO? Single Sign-On
SSO o Single Sign-On permite que un usuario utilice una autenticación centralizada para acceder a varias aplicaciones compatibles. En lugar de gestionar un inicio de sesión independiente en cada servicio, las aplicaciones pueden confiar en un mismo proveedor de identidad para establecer la identidad del usuario.
¿Qué es SSO?
SSO o Single Sign-On es un modelo de acceso en el que una autenticación puede permitir al usuario entrar en varias aplicaciones o servicios sin tener que iniciar sesión de forma independiente en cada uno.
Un sistema SSO suele apoyarse en un proveedor de identidad que centraliza la autenticación y comunica la identidad a las aplicaciones conectadas. Protocolos como OpenID Connect pueden utilizarse para implementar este tipo de arquitectura.
¿Cómo funciona Single Sign-On?
SSO centraliza la autenticación para que diferentes aplicaciones puedan confiar en una misma fuente de identidad.
El usuario entra en una aplicación
El usuario intenta acceder a una aplicación integrada con el sistema de identidad y esta determina que necesita una autenticación válida.
Se autentica ante el proveedor
El usuario es redirigido o conectado con el proveedor de identidad, donde realiza el proceso de autenticación correspondiente.
Otras aplicaciones reconocen la identidad
Una vez establecida la identidad, las demás aplicaciones integradas pueden utilizar la información proporcionada por el sistema de identidad para permitir el acceso correspondiente.
SSO no significa que todas las aplicaciones compartan la misma contraseña
En una arquitectura SSO, la autenticación puede centralizarse en un proveedor de identidad sin que cada aplicación necesite administrar directamente las credenciales principales.
Un proveedor central
El proveedor de identidad administra la autenticación y actúa como fuente de confianza para las aplicaciones integradas.
Confían en la identidad
Las aplicaciones reciben información sobre la identidad autenticada mediante los mecanismos establecidos por la arquitectura.
Menos inicios de sesión
Una misma autenticación puede permitir el acceso a diferentes aplicaciones mientras la sesión y las políticas de acceso sigan siendo válidas.
Principales elementos de una arquitectura SSO
| Elemento | Función | Ejemplo | Característica |
|---|---|---|---|
| Usuario | Inicia el acceso. | Empleado o cliente. | Es la identidad que intenta utilizar las aplicaciones. |
| Proveedor de identidad | Gestiona la autenticación. | Identity Provider. | Actúa como fuente central de identidad. |
| Aplicación | Solicita acceso. | Aplicación web. | Confía en la identidad proporcionada. |
| Protocolo | Define la comunicación. | OpenID Connect. | Establece cómo se transporta y valida la información. |
| Sesión | Mantiene el acceso. | Sesión autenticada. | Puede permitir acceso continuo según las políticas del sistema. |
¿Qué es un proveedor de identidad?
Un proveedor de identidad o Identity Provider es el sistema encargado de gestionar la identidad y autenticación de los usuarios dentro de una arquitectura.
Autenticación centralizada
El proveedor puede concentrar los procesos de inicio de sesión y aplicar los mecanismos de seguridad definidos para las cuentas.
Información de identidad
Después de autenticar al usuario, puede proporcionar a las aplicaciones información verificable sobre la identidad.
Integración
Las aplicaciones compatibles utilizan protocolos y configuraciones específicas para confiar en la identidad proporcionada por el proveedor.
¿Cómo se integran las aplicaciones con SSO?
Cada aplicación debe configurarse para reconocer al proveedor de identidad y utilizar correctamente el protocolo elegido para el intercambio de información.
Registro
La aplicación debe registrarse ante el proveedor y recibir los identificadores y parámetros necesarios para iniciar el proceso de autenticación.
Redirección
Durante el flujo, el navegador puede desplazarse entre la aplicación y el proveedor de identidad para realizar la autenticación.
Validación
La aplicación debe validar correctamente la información recibida antes de aceptar la identidad del usuario y crear su propia sesión.
¿Qué relación existe entre SSO y OpenID Connect?
OpenID Connect es un protocolo de identidad que puede utilizarse para implementar arquitecturas de Single Sign-On entre diferentes aplicaciones.
Identidad
OIDC permite que una aplicación reciba información verificable sobre el usuario autenticado mediante mecanismos definidos por el protocolo.
Proveedor central
Varias aplicaciones pueden utilizar el mismo proveedor de identidad para centralizar la autenticación.
Aplicaciones conectadas
Cada aplicación puede mantener sus propios permisos y sesiones, aunque utilice una misma fuente de identidad.
¿Cuál es la diferencia entre SSO y OAuth?
SSO y OAuth están relacionados con sistemas de identidad y acceso, pero no representan exactamente el mismo concepto.
SSO
Single Sign-On describe una arquitectura o experiencia donde una autenticación puede permitir el acceso a múltiples aplicaciones.
OAuth
OAuth 2.0 es un marco de autorización que permite delegar acceso limitado a recursos protegidos.
Pueden trabajar juntos
Una arquitectura SSO puede utilizar protocolos basados en OAuth 2.0, como OpenID Connect, para gestionar la autenticación e identidad entre aplicaciones.
¿Cómo funcionan las sesiones en un sistema SSO?
La autenticación centralizada no significa necesariamente que exista una única sesión compartida internamente por todas las aplicaciones.
Sesión con el proveedor
El proveedor de identidad puede mantener una sesión propia que permita reconocer que el usuario ya fue autenticado.
Sesión de la aplicación
Cada aplicación puede crear y mantener su propia sesión después de validar la identidad proporcionada por el proveedor.
Acceso posterior
Cuando el usuario entra en otra aplicación integrada, esta puede consultar nuevamente al proveedor y evitar que el usuario tenga que introducir sus credenciales principales otra vez.
¿Qué ventajas puede ofrecer SSO?
Una arquitectura Single Sign-On puede simplificar la experiencia de acceso y centralizar determinados controles relacionados con las identidades.
Menos credenciales
El usuario puede reducir la cantidad de procesos de inicio de sesión independientes que debe gestionar entre aplicaciones compatibles.
Administración centralizada
Una organización puede concentrar determinadas políticas de autenticación y gestión de identidad en un proveedor central.
Experiencia de usuario
El usuario puede desplazarse entre distintas aplicaciones integradas sin repetir necesariamente el proceso completo de autenticación.
¿Qué riesgos puede tener una arquitectura SSO?
Centralizar la autenticación también concentra una parte importante de la gestión de identidad, por lo que una configuración incorrecta puede afectar a varias aplicaciones.
Cuenta central comprometida
Si una identidad central puede acceder a múltiples aplicaciones, su protección adquiere especial importancia.
Configuración incorrecta
Errores en las aplicaciones integradas, redirect URI, validación de tokens o permisos pueden generar problemas de seguridad.
Dependencia del proveedor
Una arquitectura centralizada puede depender de la disponibilidad y funcionamiento correcto del sistema de identidad.
¿Cómo se relacionan SSO y MFA?
SSO y MFA cumplen funciones diferentes y pueden utilizarse conjuntamente dentro de una arquitectura de identidad.
SSO
Single Sign-On permite centralizar o simplificar el acceso a múltiples aplicaciones mediante una misma arquitectura de identidad.
MFA
La autenticación multifactor añade dos o más factores diferentes para comprobar la identidad de un usuario.
Combinación
Un proveedor de identidad utilizado para SSO puede exigir MFA durante el proceso de autenticación y posteriormente proporcionar la identidad a las aplicaciones integradas.
¿Cómo proteger un sistema SSO?
La seguridad de SSO depende de proteger especialmente el proveedor de identidad y las integraciones con las aplicaciones conectadas.
Proteger la identidad central
Las cuentas administrativas y usuarios con privilegios deben contar con mecanismos de autenticación y protección adecuados.
Utilizar MFA
Incorporar autenticación multifactor en el proveedor de identidad puede añadir comprobaciones adicionales al acceso.
Revisar integraciones
Las aplicaciones conectadas deben validar correctamente las respuestas y tokens, mantener sus configuraciones actualizadas y solicitar solamente los permisos necesarios.
¿Qué se necesita para implementar SSO?
Una implementación SSO requiere un proveedor de identidad y aplicaciones compatibles con el protocolo o mecanismo elegido.
Proveedor de identidad
El proveedor administra las identidades y participa en el proceso de autenticación centralizado.
Aplicaciones integradas
Cada aplicación debe configurarse para confiar en el proveedor y validar correctamente la identidad recibida.
Protocolo
La arquitectura debe utilizar un protocolo compatible con las necesidades del sistema, como OpenID Connect en determinados escenarios de identidad.
SSO: conceptos principales
| Concepto | Significado | Ejemplo | Función |
|---|---|---|---|
| SSO | Single Sign-On. | Acceso a varias aplicaciones. | Simplificar y centralizar la autenticación. |
| Identity Provider | Proveedor central de identidad. | Servicio de autenticación. | Gestionar identidad y autenticación. |
| OpenID Connect | Protocolo de identidad sobre OAuth 2.0. | OIDC para aplicaciones web. | Comunicar identidad autenticada. |
| MFA | Autenticación multifactor. | Contraseña + aplicación. | Añadir factores adicionales de autenticación. |
| Aplicación | Servicio integrado con SSO. | Aplicación web. | Utilizar la identidad proporcionada por el proveedor. |
Guías relacionadas sobre identidad y seguridad
Elige el tema que quieras profundizar:
Preguntas frecuentes sobre SSO
SSO significa Single Sign-On y es un modelo de acceso en el que una autenticación puede permitir al usuario entrar en varias aplicaciones compatibles.
El usuario se autentica ante un proveedor de identidad y las aplicaciones integradas pueden utilizar la identidad proporcionada para permitir el acceso correspondiente.
No. SSO describe una arquitectura o experiencia de acceso único a múltiples aplicaciones, mientras que OAuth 2.0 es un marco de autorización para delegar acceso a recursos protegidos.
Es el sistema que gestiona la identidad y autenticación de los usuarios y puede proporcionar información de identidad a las aplicaciones integradas.
OpenID Connect puede utilizarse para implementar arquitecturas SSO porque proporciona un protocolo de identidad basado en OAuth 2.0.
No necesariamente. La autenticación puede centralizarse en un proveedor de identidad sin que las aplicaciones tengan que gestionar directamente la contraseña principal del usuario.
Sí. Un proveedor de identidad utilizado para SSO puede exigir autenticación multifactor durante el proceso de acceso.
No. SSO centraliza la autenticación, pero la seguridad depende también del proveedor de identidad, las aplicaciones integradas, los tokens, las sesiones y las configuraciones utilizadas.
¿Qué es OpenID Connect?
Continúa aprendiendo sobre identidad digital y descubre cómo OpenID Connect utiliza OAuth 2.0 para autenticar usuarios y comunicar información de identidad.
Ver guía →