Traducido con IA. Aún no revisado por la comunidad. Leer en inglés

Blog · 26 de septiembre de 2023 · Steve Simpson · Identidad

A fondo con la autenticación SAML

Entender SAML en el inicio de sesión único con Salesforce

En el ámbito de la autenticación, SAML (Security Assertion Markup Language) desempeña un papel clave para garantizar un acceso fluido entre aplicaciones. Profundicemos en SAML, entendamos su importancia en el inicio de sesión único (SSO) y exploremos su implementación con Salesforce.

El contexto

Imagina un escenario con dos orgs de Salesforce: un proveedor de identidad (IDP) y un proveedor de servicios. El proveedor de servicios tiene los datos a los que quieres acceder, pero en lugar de usar varias credenciales quieres hacerlo con un solo juego de datos de acceso. La idea parece sencilla, pero el mecanismo que hay detrás puede ser complejo.

Diagrama: inicio de sesión único de una org de Salesforce a otra. El navegador se envía a la org del proveedor de identidad con una solicitud SAML y vuelve a la org del proveedor de servicios con una aserción SAML; cada org tiene el certificado de la otra y los usuarios se emparejan por el ID de federación

Términos clave de SAML

Acceso del usuario: cuando un usuario intenta llegar a un recurso protegido del proveedor de servicios antes de autenticarse.

Redirección: si el usuario no está autenticado, el proveedor de servicios lo redirige al proveedor de identidad con una solicitud SAML. Si hace falta, puede enviarse también un relay state (la URL que el usuario quería visitar al principio).

Autenticación en el IDP: el proveedor de identidad verifica la identidad del usuario, normalmente con nombre de usuario, contraseña o autenticación multifactor.

Aserción SAML: tras la autenticación, el IDP envía una aserción SAML al proveedor de servicios.

Confianza del proveedor de servicios: el proveedor de servicios valida la aserción SAML, extrae la información del usuario y concede el acceso. Si antes se envió un relay state, el proveedor de servicios lleva al usuario a esa URL.

Resumen de SAML: el flujo básico (acceso del usuario, redirección, autenticación, aserción, vuelta, acceso concedido), las ventajas y los términos clave

Ventajas del inicio de sesión único

Acceso simplificado: los usuarios solo necesitan un juego de credenciales para acceder a varios servicios.

Seguridad: SAML usa firmas digitales para garantizar la integridad de los datos y evitar manipulaciones.

Interoperabilidad: al ser un protocolo estándar, SAML puede conectarse con distintos IDP y proveedores de servicios de tecnologías diferentes.

Más a fondo: examinar los flujos SAML

Solicitud SAML: la envía el proveedor de servicios al IDP para pedirle que autentique a un usuario.

Ejemplo de solicitud SAML (AuthnRequest) de la org del proveedor de servicios a la org del proveedor de identidad

Respuesta SAML: un mensaje del IDP tras la autenticación, con los detalles del usuario.

Ejemplo de respuesta SAML del proveedor de identidad, con el emisor y la firma digital

Aserciones: declaraciones del IDP sobre el usuario, con atributos como el nombre de usuario o el correo electrónico.

Firmas digitales: sirven para verificar las aserciones y garantizar que no se han modificado de forma ilícita.

Relay state: una URL de enlace profundo que garantiza que el usuario vuelva al destino previsto tras la autenticación.

Cuando un usuario inicia el acceso, se envía una solicitud SAML al IDP, que tras la verificación devuelve una aserción SAML. Cuando el proveedor de servicios valida esa aserción, el usuario obtiene el acceso previsto.

Diagrama de secuencia: inicio de sesión SAML iniciado por el proveedor de servicios. El usuario pide una página, se le redirige al proveedor de identidad para iniciar sesión, vuelve con una aserción SAML y el proveedor de servicios la valida y crea una sesión

Con herramientas como SAML Tracer para navegadores se puede visualizar este flujo. Así se ve con transparencia el proceso de autenticación, desde la solicitud inicial hasta la redirección final.

Medidas de seguridad en las aserciones SAML

Para hacer frente a posibles amenazas:

Las marcas de tiempo evitan los ataques de repetición, garantizando que la aserción SAML solo sea válida durante un intervalo corto.

Las firmas digitales garantizan que los datos no se han manipulado durante el intercambio.

Además, las aserciones pueden contener atributos del usuario, como direcciones de correo o tipos de usuario, lo que permite controles de acceso más detallados en el proveedor de servicios.

Conclusión

En esencia, SAML es un protocolo basado en XML que contiene los elementos clave de la autenticación. Puede parecer magia, pero es fruto de una tecnología bien pensada para frustrar ataques como el «man-in-the-middle» o la repetición.

Su capacidad para integrar varios proveedores de servicios con IDP de tecnologías distintas lo convierte en una piedra angular de la autenticación digital.

No te lo pierdas

¡Empieza con confianza tu camino en Salesforce Identity! Para más ideas y consejos, sigue atento aquí en www.SteveTechArc.com y en el canal de YouTube @SteveTechArc (opens in a new tab). Suscríbete y amplía tu comprensión de Salesforce Identity.

¡Ayudando a cambiar el mundo compartiendo conocimientos de integración con otros arquitectos y con quienes están en camino de serlo!

Transcripción hecha con ayuda de IA

STA 3.6