Lenguaje de marcado de afirmación de seguridad


Aserción de seguridad Markup Language ( SAML , pronunciado SAM-el , / s æ m əl / ) [1] es un estándar abierto para el intercambio de autenticación y de autorización de datos entre partes, en particular, entre un proveedor de identidad y un proveedor de servicios . SAML es un lenguaje de marcado basado en XML para afirmaciones de seguridad (declaraciones que los proveedores de servicios utilizan para tomar decisiones de control de acceso). SAML también es:

Un caso de uso importante que aborda SAML es el inicio de sesión único (SSO) del navegador web . El inicio de sesión único es relativamente fácil de lograr dentro de un dominio de seguridad (usando cookies , por ejemplo) pero extender SSO a través de dominios de seguridad es más difícil y resultó en la proliferación de tecnologías propietarias no interoperables. El perfil SSO del navegador web SAML se especificó y estandarizó para promover la interoperabilidad. [2]

La especificación SAML define tres roles: el principal (normalmente un usuario humano), el proveedor de identidad (IdP) y el proveedor de servicios (SP). En el caso de uso principal abordado por SAML, el principal solicita un servicio del proveedor de servicios. El proveedor de servicios solicita y obtiene una aserción de autenticación del proveedor de identidad. Sobre la base de esta afirmación, el proveedor de servicios puede tomar una decisión de control de acceso , es decir, puede decidir si realiza el servicio para el principal conectado.

En el corazón de la aserción SAML hay un sujeto (un principal dentro del contexto de un dominio de seguridad particular) sobre el cual se está afirmando algo. El sujeto suele ser (pero no necesariamente) un ser humano. Al igual que en la descripción general técnica de SAML 2.0, [3] los términos sujeto y principal se utilizan indistintamente en este documento.

Antes de entregar la afirmación basada en el sujeto del IdP al SP, el IdP puede solicitar cierta información al principal, como un nombre de usuario y una contraseña, para autenticar al principal. SAML especifica el contenido de la aserción que se pasa del IdP al SP. En SAML, un proveedor de identidad puede proporcionar aserciones SAML a muchos proveedores de servicios. De manera similar, un SP puede confiar y confiar en las afirmaciones de muchos IdP independientes.

SAML no especifica el método de autenticación en el proveedor de identidad. El IdP puede utilizar un nombre de usuario y una contraseña, o alguna otra forma de autenticación, incluida la autenticación de múltiples factores . Un servicio de directorio como RADIUS , LDAP o Active Directory que permite a los usuarios iniciar sesión con un nombre de usuario y contraseña es una fuente típica de tokens de autenticación en un proveedor de identidad. [4] Los populares servicios de redes sociales de Internet también proporcionan servicios de identidad que, en teoría, podrían utilizarse para respaldar los intercambios SAML.


Historia de SAML (2002-2005)
Respuesta del protocolo SAML
SAML sobre SOAP sobre HTTP
Inicio de sesión único con SAML en un navegador web