Arquitectura
Introducción
A nivel lógico, SIU-Araí: Usuarios presenta un esquema de organización en módulos, de acuerdo a su funcionalidad:
- IdP, como proveedor de identidad
- IdM, para el administrador de identidad
- API, el mecanismo de integración externo
- core, punto central de lógica del negocio
Esta arquitectura está pensada para ofrecer la flexibilidad necesaria en diferentes situaciones. Desde un despliegue sencillo, en una implementación pequeña, hasta un esquema que contemple alta disponibilidad y tolerancia a fallos.
Arquitectura general
Módulos
IdP
El Identity Provider o proveedor de identidad es el módulo que ofrece los servicios para autenticar usuarios en aplicaciones.
Funcionalidad
Entre sus principales funciones que ofrece el IdP estan:
- Punto de acceso único, mediante una pantalla de login personalizable.
- Inicio y cierre de sesión único, también conocido como Single Sign On y Single Log Out.
- Autenticación de usuarios en ambientes de tipo aplicaciones web, móbiles, de JavaScript, etc.
- Identidad federada, y acceso a servicios en redes de federación.
Protocolos
Estas funcionalidades están implementadas por medio del soporte a protocolos:
La forma en que es posible integrar otras aplicaciones (ya sean módulos del SIU, desarrollos propios o aplicaciones estándar), se describe en mejor detalle aquí.
IdM
El Identity Manager o administrador de identidad es el módulo que permite administrar las identidades y servicios digitales a los que puedan acceder.
El módulo permite gestionar el alta de usuarios, sus cuentas, los grupos y aplicaciones.
Identidades digitales
La administración de identidades digitales gira en torno al concepto de usuario. Un usuario tiene información que lo identifica unívocamente. Es él quien puede accedeer a las aplicaciones, si se cumplen ciertas condiciones:
- Si el usuario posee una cuenta en dicha aplicación.
- Si el usuario pertenece a un grupo, que a su vez la aplicación acepta como grupo que puede acceder de forma directa.
- Si la aplicación no requiere acceso por cuenta ni por grupo. Es decir, es una aplicación registrada libre.
El siguiente esquema muestra las relaciones en estos conceptos desde el punto de vista de la gestión del IdM.
Mapeo de identidades
Bajo este concepto, se puede plantear la siguiente situación: se posee algún módulo como por ejemplo SIU-Diaguita operativo, antes de la puesta en marcha de SIU-Araí: Usuarios. En tal caso, lo más probable es que los identificadores de las cuentas existentes en dicho módulo SIU-Diaguita, no coincidan con el formato que se plantea. Podría llegar a darse una situación donde exista el siguiente panorama:
Usuario | Cuenta | Aplicación |
---|---|---|
Juan Perez | juan | Pilagá |
Juan Perez | perez | Diaguita |
Juan Perez | jperez | Mapuche |
Esta situación requeriría de arduo trabajo en la migración de los datos para corregir tal desfasaje en la representación
de cuentas de usuarios. En vez de ello, y para resolverlo, se propone que para módulos SIU y mediante el framework
SIU-Toba, implementar un mecanismo de mapeo lo suficientemente flexible para migrar dichas cuentas a SIU-Araí: Usuarios
sin necesidad de modificaciones. Supongamos que se asume un identificador de usuario jperez
, los usuarios quedan
representados así:
Usuario | Cuenta | Aplicación |
---|---|---|
jperez | juan | Pilagá |
perez | Diaguita | |
jperez | Mapuche |
API
El Application Programming Interface o API es el módulo de integración de SIU-Araí: Usuarios con el exterior (cualquier componente software). Se trata de una API Restfull, basada en verbos HTTP, que ofrece recusos varios para la manipulación los principales componentes de la plataforma. Son algunos:
/usuarios
es recurso principal para acceder al usuario, sus datos y sus vínculos/grupos
es el recurso para la gestión de grupos y miembros/aplicaciones
es el recurso para gestión de aplicaciones y cuentas de usuarios
Para mayores detalles ver @TODO.