SIU-Arai/usuarios
Sumario
SIU-Araí: Usuarios
Arai-Usuarios es un Identity Provider e Identity Manager.
Provee identidad (usuarios y sus cuentas) junto con un login centralizado (Single-Sign-On) implementado con el protocolo SAML. A su vez mantiene una base de datos común de usuarios, mientras que provee una interfaz de gestión, una API de acceso a los usuarios y herramientas de auditoría.
La siguiente imagen resume el conjunto componentes, su integración e interacción en la plataforma:
Componentes
Arai-Usuarios ofrece diferentes componentes:
- Un IdP implementado con un SimpleSAMLPhp con un único authsource (la base de datos común de usuarios)
- Un IdM como aplicación denominado gestion que ofrece
- ABMs de usuarios
- Configuración de políticas de acceso y seguridad
- Auditoría de edición y acceso a las diferentes aplicaciones del repositorio
- Una API Rest de gestión de usuarios, para que los diferentes sistemas puedan interactuar
- Implementado sobre OpenLdap, que brinda compatibilidad con sistemas legacy mediante el acceso LDAP
- Dentro del paquete de datos que ofrece, se encuentra el que espera la librería js-app-launcher que ayuda a la uniformidad de comportamientos del usuario dentro dentro de las diferentes aplicaciones.
- Una Base de datos común de Usuarios, con scripts y utilidades para integrar aplicaciones existentes.
IdP: Autenticación centralizada vía Protocolo SAML
El protocolo SAML es el estándar utilizado para realizar la integración de login entre las distintas aplicaciones. Es lo que nos permite implementar Single Sign-On y Single Logout.
En la imagen se observa los pasos que se producen normalmente para el login:
- el usuario accede a una aplicación desde el navegador(que se lo conoce como Service Provider o SP)
- el SP redirige hacia el IdP con un token SAML para autenticarse
- el IdP vailda el token SAML y como no existe, lo redirige al usuario a un formulario donde ingresar sus credenciales
- el Idp redirige al usuario al SP con el nuevo token SAML
- el SP regresa al usuario con los resultados del acceso al recurso (la página web)
Beneficios del uso de un protocolo de Single Sign-On, una vez que exista un token SAML válido
- el usuario puede ingresar a cualquier aplicación o SP registrada en la plataforma SIU-Araí, sin pasar por el login. Este intento de acceso tomará el token SAML, lo validará y si está vigente simplemente el usuario tendrá acceso instantaneo a dicho SP.
- al cerrar sesión por acción del usuario o por expiración del tiempo de duración, se invalida el token SAML en el IdP. Sucesivos intentos de ingreso con dicho token provocará que nos envíe al usuario a la página de login.
El token SAML
El proveedor de identidad o IdP retorna a las aplicaciones un el token SAML con los siguientes atributos:["uniqueIdentifier"] => [ [0] => "admin" ]
["uid"] => [ [0] => "admin" ]
["cn"] => [ [0] => "Usuario Administrador" ]
["mail"] => [ [0] => "admin@siu.edu.ar" ]
["givenName"] => [ [0] => "Usuario" ]
["sn"] => [ [0] => "Administrador" ]
["jpegPhoto"] => [ [0] => "http://localhost:4001/idp/resources/img/usuario_foto/e5b35d4eae92ada3fd41cd74a8961495.png" ]
["AccessTo"] => [ [0] => "siu-arai-catalogos_1.siu-arai-catalogos-gestion"
[1] => "siu-arai-usuarios_1.siu-arai-usuarios-gestion"
[2] => "siu-diaguita_1.siu-diaguita"
[3] => "siu-huarpe_1.siu-huarpe"
[4] => "siu-mapuche_1.siu-mapuche"
...
[n] => "siu-pilaga_1.siu-pilaga"
]
["userAccounts"] => [ [0] => "admin"
[1] => "admin_1"
...
[m] => "admin_m"
]
["appLauncherData"] => [ [0] =>
"{"aplicaciones":[
{"url":"http:\/\/localhost:4002\/arai-catalogos","etiqueta":"ARAI-Cat\u00c3\u00a1logos","descripcion":"Sincronizaci\u00c3\u00b3n de datos comunes","appUniqueId":"siu-arai-catalogos_1.siu-arai-catalogos-gestion","icono_url":"http:\/\/localhost:4001\/idp\/resources\/img\/aplicaciones_iconos\/siu-arai-catalogos_1.siu-arai-catalogos-gestion.png"},
{"url":"http:\/\/localhost:4005\/diaguita","etiqueta":"SIU-Diaguita","descripcion":"Gesti\u00c3\u00b3n de Compras, Contrataciones y Patrimonio","appUniqueId":"siu-diaguita_1.siu-diaguita","icono_url":"http:\/\/localhost:4001\/idp\/resources\/img\/aplicaciones_iconos\/siu-diaguita_1.siu-diaguita.png"},
{"url":"http:\/\/localhost:4003","etiqueta":"SIU-Huarpe","descripcion":"Portal de autogesti\u00c3\u00b3n","appUniqueId":"siu-huarpe_1.siu-huarpe","icono_url":"http:\/\/localhost:4001\/idp\/resources\/img\/aplicaciones_iconos\/siu-huarpe_1.siu-huarpe.png"},
{"url":"http:\/\/localhost:4004\/mapuche","etiqueta":"SIU-Mapuche","descripcion":"Gesti\u00c3\u00b3n de recursos humanos","appUniqueId":"siu-mapuche_1.siu-mapuche","icono_url":"http:\/\/localhost:4001\/idp\/resources\/img\/aplicaciones_iconos\/siu-mapuche_1.siu-mapuche.png"},
...
{"url":"http:\/\/localhost:4006\/pilaga","etiqueta":"SIU-Pilaga","descripcion":"Gesti\u00c3\u00b3n presupuestaria, financiera y contable","appUniqueId":"siu-pilaga_1.siu-pilaga","icono_url":"http:\/\/localhost:4001\/idp\/resources\/img\/aplicaciones_iconos\/siu-pilaga_1.siu-pilaga.png"}],
"usuario_id":"admin",
"usuario_nombre":"Usuario Administrador",
"usuario_foto":"http:\/\/localhost:4001\/idp\/resources\/img\/usuario_foto\/e5b35d4eae92ada3fd41cd74a8961495.png",
"perfil_url":"http:\/\/localhost:4003\/perfil"}"
]
["employeeNumber"] => [ [0] => "2" ]
]
IdM: El directorio de usuarios
Una de las tareas fundamentales del IdP es almacenar toda la información relativa a las identidades. Esto se logra mediante la implementación de un directorio basado en el estándar LDAP, como puede ser OpenLDAP.
Cada identidad o Usuario de la plataforma está compuesto por una serie de atributos, tanto opcionales como obligatorios. Algunos de ellos:
- Listado de atributos LDAP
- Listado de atributos Internet2 EduPerson (que facilita soportar eduroam)
- Atributos de la plataforma SIU-Araí
- Atributos propios de la institución