¿Cuál es la diferencia entre SAML y OAuth? Es una pregunta bastante común para los administradores de sistemas, profesionales de la seguridad y desarrolladores de aplicaciones que buscan mejorar su postura de gestión de identidades y simplificar la forma en que los usuarios acceden a los recursos con un conjunto común de credenciales. A medida que las organizaciones reflexionan sobre los dos conceptos, sería útil tener una guía para diferenciar entre ambos. Aquí está su guía para contrastar SAML vs. OAuth.
¿Qué es SAML?
El Lenguaje de Marcado de Aserción de Seguridad (SAML) es un protocolo estándar de autenticación (y ocasionalmente de autorización) que se utiliza más a menudo por los proveedores de inicio de sesión único (SSO) de aplicaciones web para transmitir credenciales entre un proveedor de identidad (IdP) que contiene las credenciales para verificar un usuario y un proveedor de servicios (SP) que es el recurso que requiere autenticación. SAML utiliza documentos de metadatos en lenguaje de marcado extensible (XML) como tokens para la afirmación de la identidad de un usuario. El proceso de autenticación y autorización de SAML (AuthN y AuthZ) es el siguiente.
Dicho de otro modo, utilizando SAML, los desarrolladores pueden aprovechar los plugins de SAML para garantizar que su aplicación o recurso sigue las prácticas de inicio de sesión único deseadas para simplificar la experiencia de inicio de sesión de sus usuarios y garantizar que las prácticas de seguridad se establecen para aprovechar una estrategia de identidad común. De este modo, sólo una identidad con las credenciales/afirmación adecuadas puede acceder a una aplicación. Además, SAML puede utilizarse para controlar a qué puede acceder dicha identidad en una aplicación.
¿Qué es OAuth?
OAuth, o Autenticación Abierta, es también un protocolo AuthN/AuthZ utilizado para necesidades de autenticación segura. Al igual que SAML, OAuth requiere un proveedor de identidad como fuente de verdad para autenticar el acceso de los usuarios. OAuth utiliza su propia documentación XML para los tokens de autenticación, pero también puede utilizar JavaScript Object Notation (JSON) para los tokens. El proceso de OAuth se lleva a cabo de forma similar al proceso de SAML detallado anteriormente.
OAuth está más adaptado al alcance del acceso que SAML. El alcance del acceso es la práctica de permitir sólo el mínimo de acceso dentro del recurso/aplicación que requiere una identidad una vez verificada. Por ejemplo, OAuth se utiliza a menudo cuando una aplicación web solicita acceso al micrófono y a la cámara del sistema. Esto hace que OAuth (específicamente OAuth2) sea ideal para aplicaciones web/móviles, especialmente (Leer más…)