La identidad federada es una de las soluciones para gestsionar la identidad en los sistemas de información. El valor añadido adicional respecto a otras soluciones es la gestión de identidad interdependiente entre compañías, lo que se denomina Federated Identity Management.
Objetivo de la identidad federada
Como cualquier solución de gestión de identidad, su objetivo es:
- obtener una gestión de usuarios eficiente,
- sincronización de los datos identificativos,
- gestión de acceso,
- auditoría e informes,
- servicios de agrupación,
- servicios de directorio,
- etc.
Cómo funciona la identidad federada
La autenticación se delega o se exterioriza a un proveedor de identidad externo. Esto puede simplificar el desarrollo, minimizar los requisitos de administración de usuarios y mejorar la experiencia del usuario de la aplicación.
Cuándo usar este patrón
Como podemos observar, este patrón es útil en escenarios como:
- Inicio de sesión único en la empresa.
- Identidad federada con varios asociados.
- Identidad federada en aplicaciones SaaS.
En consecuencia, este patrón podría no ser útil en las siguientes situaciones:
- Todos los usuarios de la aplicación se pueden autenticar mediante un proveedor de identidades.
- La aplicación se creó originalmente mediante un mecanismo de autenticación diferente.
Consideraciones
En resumen, al diseñar aplicaciones que implementan la autenticación federada, considere lo siguiente:
- La autenticación puede ser un único punto de error.
- Las herramientas de autenticación le permite configurar el control de acceso basándose en las notificaciones de rol contenidas en el token de autenticación.
- A diferencia de los directorios de empresas, autenticación federada no suele proporcionar información sobre el usuario autenticado, a excepción de una dirección de correo electrónico y quizás un nombre.
- Si hay más de un proveedor de identidades configurado para el STS, este debe detectar el proveedor de identidades al que se debe redirigir al usuario para la autenticación.
Resumen
La autenticación se delega a un proveedor de identidad externo. Esto puede simplificar el desarrollo, minimizar los requisitos de gestión de credenciales por los usuarios y mejorar la experiencia del usuario de la aplicación.