SAML (Cumplimiento de SAML)

Security Assertion Markup Language (SAML) es un estándar para intercambiar datos de autenticación y autorización entre partes, en particular, entre un proveedor de identidad y un proveedor de servicios. Este estándar de inicio de sesión único (SSO) tiene ventajas significativas sobre el inicio de sesión usando un nombre de usuario/contraseña:

  • No es necesario escribir credenciales.
  • No es necesario recordar y renovar contraseñas.
  • No hay contraseñas débiles.

La mayoría de las organizaciones ya conocen la identidad de los usuarios porque han iniciado sesión en su dominio o intranet de Active Directory. Tiene sentido utilizar esta información para registrar a los usuarios en otras aplicaciones, como las aplicaciones basadas en la web, y una de las formas más elegantes de hacerlo es usando SAML.

SAML es muy potente y flexible, pero la especificación puede ser bastante difícil. Los kits de herramientas SAML de código abierto de OneLogin pueden ayudarle a integrar SAML en horas, en lugar de meses. Hemos ideado una configuración sencilla que funcionará para la mayoría de las aplicaciones.

¿Cómo funciona SAML?

SAML SSO funciona transfiriendo la identidad del usuario de un lugar (el proveedor de identidad) a otro (el proveedor de servicios). Esto se hace a través de un intercambio de documentos XML firmados digitalmente.

Considere el siguiente escenario: Un usuario está conectado a un sistema que actúa como proveedor de identidad. El usuario desea iniciar sesión en una aplicación remota, como una aplicación de soporte o contabilidad (el proveedor de servicios). Lo siguiente sucede:

  • El usuario accede a la aplicación remota utilizando un enlace en una intranet, un marcador o similar y la aplicación se carga.
  • La aplicación identifica el inicio de sesión del usuario (por subdominio de la aplicación, dirección IP del usuario o similar) y redirige al usuario de vuelta al proveedor de identidad, solicitando la autenticación. Esta es la solicitud de autenticación.
  • El usuario o bien tiene una sesión activa del navegador existente con el proveedor de identidad o establece una al iniciar sesión en el proveedor de identidad.
  • El proveedor de identidad construye la respuesta de autenticación en forma de documento XML que contiene el nombre de usuario o la dirección de correo electrónico del usuario, la firma utilizando un certificado X.509 y envía esta información al proveedor del servicio.
  • El proveedor de servicios, que ya conoce al proveedor de identidad y tiene una huella dactilar del certificado, recupera la respuesta de autenticación y la valida utilizando la huella dactilar del certificado.
  • Se establece la identidad del usuario y se le proporciona acceso a la aplicación.


¿Cómo lo hicimos?