Define un framework XML para intercambiar informacion de autenticacion y autorizacion
Existen varias declaraciones (Assertion) XML:
Credenciales, autenticacion, atributo, autorizacion, etc.
Protocolo tipo request & response
Permite habilitar Single-Sign-On (SSO)
Es un estandar OASIS
https://www.oasis-open.org/standards
¿Por qué SAML?
Estan apareciendo estandares para numerosas facetas de comercio colaborativo, como:
Transacciones de negocio (Por ejemplo ebXML)
Interaccion de software (Por ejemplo: SOAP)
Pero no esta estandarizado un medio para comunicar esas propiedades de seguridad
Pobre acoplamiento entre componentes
*Dicen que es complicado de utilziar
¿Qué casos de uso podemos darle?
Cuando compartes información de seguridad a traves de SAML este tiene tres formas para acometer sus diseños y requerimientos
Single-Sign-On (Autentificacion unificada)
Transacción distribuida
Servicio de autorizacion
SAML
Es un framework basado en XML para intercambiar información XML
Declaraciones de seguridad (security assertions) codificadas en XML
Protocolo request/response codificado en XML
Reglas de uso de assertions con frameworks estándares de mensajería y transporte
SAML Assertions
Las assertions son declaraciones o descripciones de un "hecho", asociados a "alguien".
Las assertions SAML son conjuntos de uno o mas de tres clases de "sentencia" (statement) acerca de un "sujeto" (subject).
Autenticacion (authentication statement)
Atributo (attribute statement)
Autorizacion (authorization statement)
Authentication assesment
Un authority assert declara que:
El sujeto S ha sido authenticado
Con las intenciones I
En la hora H
Diseñado con el objetivo de usarlo en servicios de Single-Sign-On.
Ejemplo de assertion con un authentication statement
Ejemplo de assertion con dos attribute statement
Authorization statement
Una autoridad decide
Si conceder o no acceso a la request del subject S
Para el acceso de tipo A al recurso R
Proporcionando la credencial E
El sujeto (subject) puede ser humano o programa
El recurso puede ser una pagina web o un web service.
Ejemplo de assertion con authorization statement
Fin
Escenario hipotético de SSO
A los administradores del aplicativo sani.metlife.cl se les permite el acceso a tasadores.metlife.cl sin hacer relogin. Lo reciproco tambien funcionara
Escenario de Transacción Distribuida
Un cliente necesita contratar un seguro para su credito inmobiliario en metlife.cl, que esta afiliada cardif.cl
Escenario de servicio de autenticación
Un empleado de metlife se autentica directamente en linkdin que efectua su propia autorizacion contra metlife.cl