Introducción¶
El proveedor de identidad (IdP) de la Udelar brinda un servicio de autenticación web y SSO, basado en SAML 2.0. El IdP está implementado utilizando Shibboleth IdP.
Diagrama básico de interacción:
- El usuario intenta acceder a una aplicación o recurso protegido (que requiere autenticación) en el SP (Service Provider).
- El SP redirige al usuario al IdP, en la redirección incluye un pedido de autenticación. El usuario se autentica en el IdP.
- Si la autenticación es exitosa, el IdP redirige al usuario al SP. En esta redirección se incluye un token SAML que contiene datos de la autenticación y algunos atributos del usuario. En el SP se recibe el token SAML, se chequea su validez.
- El SP retorna al usuario el recurso deseado.
Arquitectura:
En el SP se debe instalar Apache con el módulo mod_shib. El módulo realiza el manejo de SAML. Redirige al User Agent (usuario con navegador) al IdP si no hay una sesión activa. Si la autenticación es exitosa, comunica información de autenticación y atributos a las aplicaciones que protege.
Detalles técnicos: Se utiliza el perfil de SAML llamado "Web Browser SSO Profile", con bindings HTTP Redirect (pedido) y HTTP POST (repsuesta).
Material introductorio:
https://www.pingidentity.com/en/resources/videos/saml-101.html
https://shibboleth.net/about/basic.html
Adjunto: Presentación interna de SeCIU para SP, de abril 2015.
Referencias:
Introducción a Shibboleth:¶
Shibboleth es una de las soluciones de identidad federada más ampliamente desplegadas a nivel mundial. Esto permite que los usuarios se conecten a aplicaciones dentro y fuera de sus organizaciones. Todos los componentes de software de Shibboleth son libres y open source.
Shibboleth - conceptos: https://wiki.shibboleth.net/confluence/display/CONCEPT/Home
Referencias:
- Shibboleth: http://shibboleth.net/
- Shibboleth wiki: https://wiki.shibboleth.net/confluence/dashboard.action
- Shibboleth wiki - IdP v3 https://wiki.shibboleth.net/confluence/display/IDP30
- Shibboleth wiki - SP: https://wiki.shibboleth.net/confluence/display/SHIB2/Configuration