SIU-Arai/usuarios

De SIU
Revisión del 16:50 3 may 2018 de Svier (discusión | contribuciones) (se agrega descripcion token saml)
Saltar a: navegación, buscar
Siu-arai iso.png

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 que integran SIU-Araí: Usuarios

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.

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.

Flujo de autenticación basado en el protocolo SAML

En la imagen se observa los pasos que se producen normalmente para el login:

  1. el usuario accede a una aplicación desde el navegador(que se lo conoce como Service Provider o SP)
  2. el SP redirige hacia el IdP con un token SAML para autenticarse
  3. el IdP vailda el token SAML y como no existe, lo redirige al usuario a un formulario donde ingresar sus credenciales
  4. el Idp redirige al usuario al SP con el nuevo token SAML
  5. 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" ]
 ]

Guias prácticas de uso


<Volver