SIU-Arai
Sumario
SIU-Arai
SIU-Araí es la plataforma integradora de servicios del SIU. Cada uno de los sistemas SIU son módulos dentro de la plataforma.
Existen dos módulos que son vitales para el funcionamiento de la plataforma.
- Arai-Registry: Repositorio central de servicios y aplicaciones
- Arai-Usuarios: IDP e IDM para toda la plataforma
Forma de trabajo
Toda la distribución de los proyectos se hace a través de gitlab: https://hub.siu.edu.ar.
Cada uno de los módulos tiene una carpeta doc donde se incluyen instrucciones de instalación.
Pre Instalación
Antes de comenzar con la instalación es necesario contar con un mapa del deploy que se quiere realizar. Hacer esto es muy importante para que el despliegue sea exitoso.
Que se va a instalar?
- Araí-Registry
- Araí-Usuarios
- Un IdP
- Un módulo de gestión de identidad (IdM)
- Araí-Huarpe
Que necesitamos?
Definir URLs
Este paso es muy importante, ya que las URLs terminan en la configuración de la instalación de los sistemas. Recomendamos confeccionar una lista como la siguiente:
URLs | ||
---|---|---|
Araí-Registry | http://localhost/registry | Este servicio no tiene que ser público |
Araí-Usuarios IdP | https://idp.arai-usuarios | Este servicio es público, por eso está con TLS |
Araí-Usuarios IdM | https://arai-usuarios | Este servicio es público, por eso está con TLS |
Araí-Huarpe | https://huarpe | Este servicio es público, por eso está con TLS |
Certificados, certificados, certificados ...
El uso de certificados es extensivo a través de toda la plataforma.
Se usan con tres fines:
- Para utilizar HTTPS en los servicios públicos
- Para firmar el token de SAML
- Para autenticar a clientes de las APIs
Antes de continuar con la instalación debe generar los certificados necesarios.
HTTPS
Para una instalación de producción es necesario contar con certificados reales válidos.
Si su institución no cuenta con estos certificados son fáciles de obtener con este servicio Let's Encrypt.
Para generar certificados para una instalación de prueba/desarrollo contamos con una imágen de Docker para facilitar este proceso.
Token SAML
Actualmente, el IDP no soporta el uso de certificados con una cadenas de certificados o validación extendida. Tampoco soporta algoritmos tipo `DSA`, sólo `RSA`. Por lo general, con certificados autofirmados puede ser suficiente, de acuerdo a la [documentación](https://simplesamlphp.org/docs/stable/simplesamlphp-idp#section_4). Es posible, entonces, generar certificados autofirmados de la siguiente forma:
openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out certificado.crt -keyout certificado.pem
Esto genera dos archivos: la clave pública `certificado.crt` y la clave privada `certificado.pem` para ser utilizadas en la instalación y configuración del IDP.
Autenticación con certificados de clientes
Estos certificados pueden ser auto-firmados porque son para uso interno. Los puede generar a mano o utilizando la imágen de Docker.
Seguridad
Todo el esquema de seguridad de la plataforma asume que todos los servicios están corriendo sobre conexiones aseguradas con TLS/SSL. Los sistemas fueron desarrollados utilizando SSL en todas las pruebas.
No hay garantías de funcionamiento o seguridad sin TLS/SSL. Aquí hay una guía mínima de como configurar Apache con SSL.
Instalación
Una vez completada la pre-instalación ya se puede seguir con la instalación de cada uno de los módulos.
Módulos
- Huarpe: Módulo de autogestión de recursos y servicios. La cara visible de la plataforma para los usuarios..