Diferencia entre revisiones de «Guia rapida diaguita eei»

De SIU
Saltar a: navegación, buscar
Línea 1: Línea 1:
-Guía Rápida SIU-Diaguita Integración EEI
 
 
Guía técnica para conectar SIU-Diaguita al Ecosistema SIU, se requiere tener funcionando Arai-Usuarios, Arai-Documentos, Huarpe y Sudocu.
 
Guía técnica para conectar SIU-Diaguita al Ecosistema SIU, se requiere tener funcionando Arai-Usuarios, Arai-Documentos, Huarpe y Sudocu.
 +
 +
======================================================================
 +
 +
//Recuerde que el dominio uunn.local debe ser reemplazado por el que corresponde.//
 +
 +
//La URL https:%%//%%universidad.edu.ar/diaguita usada como ejemplo es la url de acceso a la instalación existente de SIU-Diaguita//
 +
 +
======================================================================
 +
 +
====== 1 - Registrar SIU-Diaguita como Service Provider en Araí Usuarios ======
 +
 +
1.1 Ingrese a Araí-Usuarios
 +
 +
1.2 Dirigirse a Aplicaciones
 +
 +
1.3 Presionar el botón Agregar +
 +
 +
1.4 Completar de la siguiente manera el tab Datos Generales
 +
 +
> Url: [[https://universidad.edu.ar/diaguita|//https:%%//%%universidad.edu.ar/diaguita//]]
 +
>
 +
> Nombre: diaguita
 +
>
 +
> Cómo ícono colocar esta imagen: [[https://hub.siu.edu.ar/siu/expedientes/-/blob/master/var/logos/diaguita.png|//https:%%//%%hub.siu.edu.ar/siu/expedientes/-/blob/master/var/logos/diaguita.png//]]
 +
 +
1.5 Completar de la siguiente manera el tab SAML
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Chequear la opción Activo<HTML></p></HTML>
 +
<HTML></li></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Entity Id: [[https://universidad.edu.ar/diaguita/default-sp|//https:%%//%%universidad.edu.ar/diaguita/default-sp//]]<HTML></p></HTML>
 +
<HTML></li></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Assertion Consumer Serv.: [[https://universidad.edu.ar/diaguita/?acs|//https:%%//%%universidad.edu.ar/diaguita/?acs//]]<HTML></p></HTML>
 +
<HTML></li></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Single Logout Serv.: [[https://universidad.edu.ar/diaguita/?sls|//https:%%//%%universidad.edu.ar/diaguita/?sls//]]<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
1.6 Presionar el botón Guardar
 +
 +
====== 2 - Configurar parámetros SAML en SIU-Diaguita ======
 +
 +
2.1 Editar en el archivo **instalador.env** las siguientes líneas:
 +
 +
###### CONFIG SP ONE LOGIN ######
 +
 +
SSO_SP_IDP_METADATA_URL=https:%%//%%uunn.local/idp/saml2/idp/metadata.php
 +
 +
SSO_SP_IDP_URL_SERVICE=https:%%//%%uunn.local/idp/saml2/idp/SSOService.php
 +
 +
SSO_SP_IDP_SINGLE_LOGOUT_URL_SERVICE=https:%%//%%uunn.local/idp/saml2/idp/SingleLogoutService.php
 +
 +
SSO_SP_IDP_PUBLIC_KEY_FILE=/usr/local/siu/diaguita/temp/certificado_idp.crt
 +
 +
SSO_SP_ATRIBUTO_USUARIO=defaultUserAccount
 +
 +
SSO_SP_PERMITE_LOGIN_TOBA=0
 +
 +
SSO_SP_AUTH_SOURCE=default-sp
 +
 +
SSO_SP_COOKIE_NAME=TOBA_SESSID
 +
 +
SSO_SP_IDP_NAME=[[https://uunn.local|//https:%%//%%uunn.local//]]
 +
 +
======================================================================
 +
 +
//SSO_SP_IDP_METADATA_URL: URL del IDP donde estén accesibles los metadatos. Por ej: https:%%//%%service.example.com/idp.metadata//
 +
 +
//SSO_SP_IDP_URL_SERVICE: URL del IDP donde esté accesible el servicio. Por ej: http:%%//%%service.example.com/simplesaml/saml2/idp/SSOService.php//
 +
 +
//SSO_SP_IDP_SINGLE_LOGOUT_URL_SERVICE: URL para cerrar sesión en el IDP. Por ej: http:%%//%%service.example.com/simplesaml/saml2/idp/SingleLogoutService.php//
 +
 +
//SSO_SP_IDP_PUBLIC_KEY_FILE: Ruta al archivo del certificado público usado para firmar los tokens SAML en el IDP generado aquí//
 +
 +
//SSO_SP_ATRIBUTO_USUARIO: El atributo del IDP que contiene el identificador de usuario: En este caso se debe usar defaultUserAccount//
 +
 +
//SSO_SP_PERMITE_LOGIN_TOBA: Si se activa el login interno del proyecto vía Toba. Posibles valores 0 y 1//
 +
 +
//SSO_SP_AUTH_SOURCE: El auth source del SP, por defecto es default-sp//
 +
 +
//SSO_SP_COOKIE_NAME: Nombre de la cookie manejada por OneLogin. Por ej: TOBA_SESSID//
 +
 +
//SSO_SP_IDP_NAME: Nombre del IDP. Por ej: service.example.com//
 +
 +
======================================================================
 +
 +
2.2 Ejecutar el comando de reconfiguración del instalador:
 +
 +
**./bin/instalador proyecto:reconfigurar sso**
 +
 +
2.3 Editar en el archivo **instalacion/instalacion.ini** donde se incorporan las sgtes líneas:
 +
 +
autenticacion = "saml_onelogin"
 +
 +
vincula_arai_usuarios = "1"
 +
 +
======================================================================
 +
 +
//Se debe agregar el parámetro vincula_arai_usuarios = "1" ya que este no se genera automáticamente.//
 +
 +
======================================================================
 +
 +
2.4 Verificar en el archivo **instalacion/saml_onelogin.ini** que exista la entrada:
 +
 +
proyecto_login = "diaguita"
 +
 +
======================================================================
 +
 +
//En versiones de SIU-Diaguita 3.0.1 o anterior no se genera automáticamente el valor del parámetro proyecto_login y por lo tanto se debe configurar manualmente. En posteriores versiones se incluirá la automatización del mismo.//
 +
 +
======================================================================
 +
 +
====== 3 - Forzar uso de HTTPS en SIU-Diaguita ======
 +
 +
3.1 Verificar el archivo **instalacion/web_server.ini** que esté configurado HTTPS
 +
 +
3.1.1 De lo contrario puede editar el archivo **instalador.env**
 +
 +
TOBA_FORZAR_HTTPS=on
 +
 +
3.1.2 Ejecutar el comando de reconfiguración de TOBA:
 +
 +
**./bin/instalador proyecto:reconfigurar toba**
 +
 +
====== 4 - Configurar el cliente de usuarios en SIU-Diaguita ======
 +
 +
4.1 Editar el archivo **instalacion/i%%__%%produccion/p%%__%%toba_usuarios/rest/rest_arai_usuarios/cliente.ini**
 +
 +
[conexion]
 +
 +
to = "https:%%//%%uunn.local/api-usuarios/v1/"
 +
 +
auth_tipo = "basic"
 +
 +
auth_usuario = "USR_API_USUARIOS"
 +
 +
auth_password = "PASS_API_USUARIOS"
 +
 +
======================================================================
 +
 +
//El usuario y la contraseña del API de Arai-Usuarios configurados en este paso, se almacenan en un secret, para los cual editamos el archivo **secrets.sh** y modificamos la linea 13 donde crea el secret usuarios_api_users//
 +
 +
//Agregamos ["diaguita","diaguita123"] en este caso "diaguita" sería el usuario y "diaguita 123" la contraseña.//
 +
 +
//printf '[["diaguita","diaguita123"],["documentos","documentos123"],["huarpe","huarpe123"],["proveedores","proveedores123"]]' | docker secret create usuarios_api_users -//
 +
 +
//Para posteriormente ejecutar los comandos://
 +
 +
//**docker secret rm usuarios_api_users**//
 +
 +
//**./secrets.sh**//
 +
 +
======================================================================
 +
 +
4.2 Editar el archivo **instalacion/instalacion.ini** y agregar el appUniqueId
 +
 +
vincula_arai_appID = 'APP_UNIQUE_ID_DIAGUITA'
 +
 +
======================================================================
 +
 +
//APP_UNIQUE_ID_DIAGUITA: Es el identificador de aplicación de SIU-Diaguita en Araí-Usuarios. Este valor se puede obtener desde el listado de Aplicaciones en Araí-Usuarios en la columna appUniqueId.//
 +
 +
======================================================================
 +
 +
====== 5 - Habilitar el REST de notificaciones ======
 +
 +
5.1 Editar el archivo **instalacion/i%%__%%produccion/p%%__%%diaguita/rest/servidor.ini**
 +
 +
[settings]
 +
 +
formato_respuesta = "json"
 +
 +
url_protegida = "/(?=^((?!convocatorias-publicas|notificaciones).)+$)/xs"
 +
 +
encoding = "utf-8"
 +
 +
====== 6 - Configurar los parámetros para Araí-Documentos en SIU-Diaguita ======
 +
 +
6.1 Se debe crear el archivo **instalacion/arai_documentos.ini** con los siguientes valores:
 +
 +
host_arai="https:%%//%%uunn.local/docs"
 +
 +
usr_arai="USR_API_DOCUMENTOS"
 +
 +
pass_arai="PASS_API_DOCUMENTOS"
 +
 +
queue_path="/usr/local/app/temp"
 +
 +
queue_temp_dir = "/usr/local/app/temp"
 +
 +
db_queue = "DB_DIAGUITA"
 +
 +
dbq_host = "HOST_POSTGRES"
 +
 +
dbq_port = PUERTO_POSTGRES
 +
 +
dbq_user = "USER_POSTGRES"
 +
 +
dbq_password = "PASSWORD_POSTGRES"
 +
 +
dbq_table_name = "queue.queue"
 +
 +
polling_interval = 1000
 +
 +
rest_diaguita = "https:%%//%%universidad.edu.ar/diaguita/rest/v1/notificaciones/documento"
 +
 +
======================================================================
 +
 +
//host_arai: Es la ruta a la API de Araí-Documentos//
 +
 +
//usr_arai: Usuario de acceso a la API de Araí-Documentos//
 +
 +
//pass_arai: Contraseña de acceso a la API de Araí-Documentos//
 +
 +
//queue_path: Directorio usado por la librería queue para escribir archivos internos//
 +
 +
//queue_temp_dir: Directorio usado por la librería queue para escribir archivos temporales//
 +
 +
//db_queue: Nombre de la base de datos donde se encuentra el schema queue. Corresponde a la base de negocio de SIU-Diaguita//
 +
 +
//dbq_host: Ruta al host donde se encuentra la base db_queue//
 +
 +
//dbq_port: Puerto de PostgreSQL donde se encuentra la base db_queue//
 +
 +
//dbq_user: Usuario de PostgreSQL donde se encuentra la base db_queue//
 +
 +
//dbq_password: Contraseña de PostgreSQL donde se encuentra la base db_queue//
 +
 +
//dbq_table_name: Tabla usada por la librería queue. Se debe mantener el valor queue.queue//
 +
 +
//polling_interval: No se debe modificar//
 +
 +
//rest_diaguita: URL de acceso al REST de notificaciones de Diaguita. Se debe reemplazar por la URL de la instalación existente, manteniendo /rest/notificaciones/documento//
 +
 +
======================================================================
 +
 +
====== 7 - Habilitar acceso externo de API Backend de documentos ======
 +
 +
7.1 Editar el archivo **docs.yml**
 +
 +
Agregar las líneas:
 +
 +
- "traefik.http.routers.docs-backend.rule=Host(`uunn.local`) && PathPrefix(`/docs/rest/backend`)"
 +
 +
- "traefik.http.routers.docs-backend.tls=true"
 +
 +
Adicionalmente, como este es un endpoint que no debería quedar publicado se tendrían que adicionar las siguientes líneas (con su correspondiente ajuste):
 +
 +
- "traefik.http.middlewares.docs-ipwhitelist.ipwhitelist.sourcerange=127.0.0.1/32,172.77.100.0/24"
 +
 +
- "traefik.http.routers.docs-backend.middlewares=security-headers@file,docs-ipwhitelist"
 +
 +
7.2 Luego se debe realizar el deploy de documentos para actualizar los servicios.
 +
 +
**docker stack rm docs**
 +
 +
**docker stack deploy --with-registry-auth -c prod/arai/docs.yml docs**
 +
 +
====== 8 - Worker de Documentos ======
 +
 +
8.1 Iniciar el worker de documentos es:
 +
 +
**bin/toba proyecto iniciar_workers_arai_documentos -p diaguita**
 +
 +
8.1.1 También puede configurar Supervisor para correr el worker de documentos.
 +
 +
[program:diaguita-worker-documentos]
 +
 +
command=<path_instalacion_diaguita>/bin/toba proyecto iniciar_workers_arai_documentos -p diaguita
 +
 +
autostart=true
 +
 +
autorestart=true
 +
 +
stderr_logfile=/var/log/diaguita-worker-documentos-err.log
 +
 +
stderr_logfile_maxbytes=2MB
 +
 +
stderr_logfile_backups=10
 +
 +
stderr_capture_maxbytes=1MB
 +
 +
stdout_logfile=/var/log/diaguita-worker-documentos-stdout.log
 +
 +
stdout_logfile_maxbytes=10MB
 +
 +
stdout_logfile_backups=10
 +
 +
stdout_capture_maxbytes=1MB
 +
 +
8.1.2 Ejecutar para iniciar Supervisor
 +
 +
**systemctl start supervisor**
 +
 +
8.1.3 Verificar la ejecución del worker
 +
 +
**supervisorctl status diaguita-worker-documentos**
 +
 +
====== 9- Habilitar Bundles ======
 +
 +
9.1 Se recomienda generar un secret (seguro) para almacenar la contraseña de la API de SIU-Diaguita con el siguiente comando:
 +
 +
**printf "diaguita123" | docker secret create diaguita_api_client_pass -**
 +
 +
O podemos editar el archivo **secrets.sh** y agregar la línea:
 +
 +
printf "diaguita123" | docker secret create diaguita_api_client_pass -
 +
 +
9.2 En caso de haber editado el archivo **secrets.sh** ejecutar:
 +
 +
**./secrets.sh**
 +
 +
9.3 En el archivo **prod/arai/huarpe.yml** se deben descomentar (o agregar) los ítems en las secciones que se detallan a continuación.
 +
 +
# Agregar en la sección webapp:secrets
 +
 +
# Línea 37
 +
 +
webapp
 +
 +
secrets:
 +
 +
- diaguita_api_client_pass
 +
 +
# Agregar en la sección secrets
 +
 +
# Línea 94
 +
 +
secrets:
 +
 +
diaguita_api_client_pass:
 +
 +
external: true
 +
 +
9.4 En el archivo **huarpe.env** debemos definir valores para las restantes variables del entorno
 +
 +
API_DIAGUITA_USR=diaguita_api_client_user
 +
 +
API_DIAGUITA_URL=https:%%//%%universidad.edu.ar/diaguita/rest/v1/
 +
 +
API_DIAGUITA_PASS_FILE=/run/secrets/diaguita_api_client_pass
 +
 +
BUNDLE_COMPRAS_ACTIVO=1
 +
 +
BUNDLE_PATRIMONIO_ACTIVO=1
 +
 +
DIAGUITA_URL_COMPRAS=https:%%//%%compras.uunn.local/
 +
 +
DIAGUITA_APP_UNIQUE_ID=
 +
 +
======================================================================
 +
 +
//BUNDLE_COMPRAS_ACTIVO: Indica que se deben activar los bundles de Compras de SIU-Diaguita//
 +
 +
//BUNDLE_PATRIMONIO_ACTIVO: Indica que se deben activar el bundle de Patrimonio de SIU-Diaguita//
 +
 +
//API_DIAGUITA_USR: Usuario para acceder a la API de SIU-Diaguita.//
 +
 +
//API_DIAGUITA_URL: URL de la API de SIU-Diaguita. Ej: https:%%//%%universidad.edu.ar/diaguita/rest/vX///
 +
 +
//DIAGUITA_URL_COMPRAS: URL de la operación en SIU-Diaguita. Ej: https:%%//%%universidad.edu.ar/diaguita/aplicacion.php?ai=diaguita||nro//
 +
 +
//DIAGUITA_APP_UNIQUE_ID: Es el identificador de aplicación de SIU-Diaguita en Araí-Usuarios. Este valor se puede obtener desde el listado de Aplicaciones en Araí-Usuarios en la columna appUniqueId//
 +
 +
======================================================================
 +
 +
9.5 Ejecutar los comandos:
 +
 +
**docker stack rm huarpe**
 +
 +
**docker stack rm usuarios**
 +
 +
**docker stack deploy --with-registry-auth -c prod/arai/usuarios.yml usuarios**
 +
 +
**docker stack deploy --with-registry-auth -c prod/arai/huarpe.yml huarpe**
 +
 +
====== 10 - Usuarios y cuentas ======
 +
 +
En adelante, nos referiremos de la siguiente manera:
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Llamaremos `usuario` a los usuarios de SIU-Araí: Usuarios<HTML></p></HTML>
 +
<HTML></li></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Llamaremos `cuenta` a la identificación/es que tenía un humano o sistema en la aplicación de origen<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
Para que un usuario tenga acceso a una cuenta de SIU-Diaguita necesita hacer el mapeo correspondiente en ARAI-Usuarios desde **Usuarios -> (Filtramos el usuario deseado) -> Accedemos desde** {{:media/image1.gif?16x16}} **-> En la pestaña “Cuentas”**
 +
 +
Seleccionamos la Aplicación: Diaguita (Es el nombre que se definió al momento de dar de alta la aplicación en ARAI-Usuarios)
 +
 +
Seleccionamos la Aplicación: <Escriba la cuenta deseado> (Recuerde que cuenta es el usuario que existe en la aplicación SIU-Diaguita)
 +
 +
Una representación esquemática sería:
 +
 +
persona
 +
 +
|
 +
 +
usuario <──────> cuenta <──────> aplicacion
 +
 +
| | |
 +
 +
svier sergio diaguita
 +
 +
| | |
 +
 +
svier servier pilagá
 +
 +
===== Sincronizar cuentas de usuarios =====
 +
 +
==== Exportar cuentas de usuarios de Diaguita ====
 +
 +
Para exportar las cuentas de usuario de SIU-Diaguita que luego serán importadas en Araí-Usuarios se debe ejecutar el siguiente comando sobre la instalación de Diaguita:
 +
 +
**toba proyecto exportar_usuarios_arai -p diaguita -f usuarios_diaguita**
 +
 +
Este comando genera un archivo JSON con las cuentas de usuario de Diaguita. Si se verifica que este archivo contiene los datos del nombre y apellido de forma incorrecta se puede usar el parámetro --mascara para modificar el formato de los datos exportados.
 +
 +
Por ejemplo:
 +
 +
**toba proyecto exportar_usuarios_arai --mascara '<apellido> <nombres>' -p diaguita -f usuarios_diaguita**
 +
 +
Se debe verificar el JSON generado y tener en cuenta que en la sección accounts el valor del atributo appName debe coincidir con el nombre de la aplicación de SIU-Diaguita generado en **Registrar SIU-Diaguita como Service Provider en Araí Usuarios**. Si el valor no coincide, se recomienda modificar el nombre de la aplicación antes de realizar la importación, de lo contrario no se vincularán las cuentas correctamente.
 +
 +
====  Importar cuentas en Araí-Usuarios ====
 +
 +
En primer lugar es necesario correr el contenedor que permite realizar tareas administrativas sobre la instalación de Araí-Usuarios. Para esto se debe realizar el deploy de [[https://hub.siu.edu.ar/siu/expedientes/-/blob/master/prod/arai/util/usuarios_cmd.yml|//usuarios_cmd.yml//]] de la sgte forma:
 +
 +
**docker stack deploy --with-registry-auth -c prod/arai/util/usuarios_cmd.yml usr-cmd**
 +
 +
Dicho servicio requiere que el nodo que ejecuta los comandos Docker y además tiene el contenido clonado del repositorio, agregarle el labels.cmd=usuarios para que el servicio usuarios_cmd se inicie y acceda al directorio files:
 +
 +
**NODE_NAME=$(docker info --format '{{ .Name }}')**
 +
 +
**docker node update --label-add cmd=usuarios $NODE_NAME**
 +
 +
Luego se debe copiar el JSON con las cuentas exportadas al directorio [[https://hub.siu.edu.ar/siu/expedientes/-/blob/master/prod/arai/util/files|//prod/arai/util/files//]] ya que este directorio es accesible desde dentro del contenedor.
 +
 +
Una vez copiado el JSON es necesario conectarse al contenedor.
 +
 +
**docker exec -it ID_CONTENEDOR_USR_CMD bash**
 +
 +
Dentro del contenedor de deben ejecutar los siguientes comandos para setear las variables de entorno y finalmente importar las cuentas a Araí-Usuarios
 +
 +
**source /entrypoint.sh --export-secrets && set +e**
 +
 +
**./idm/bin/toba proyecto importar_usuarios_arai -f files/usuarios_diaguita.json -m 2 -p arai_usuarios**
 +
 +
Para conocer en detalle el funcionamiento de la importación de cuentas y sus parámetros puede visitar la documentación de [[https://documentacion.siu.edu.ar/usuarios/docs/cache/guia-importacion-usuarios-cuentas/|//Araí-Usuarios//]]
 +
 +
====== 11 - Configuración de niveles de autorización de firma de documentos ======
 +
 +
Para configurar el nivel de firma de los documentos generados por Diaguita:
 +
 +
Ingresar al ítem de menú "Administración -> Parámetros" y establecer el parámetro FIRMA_DIGITAL_NIVEL_AUTORIZACION en el valor deseado (Autorización básica, Firma digital o Autorización mixta).
 +
 +
En el caso de elegir "Autorización mixta" se debe ingresar al menú "Administración -> Tablas maestras generales -> Configuración de firma por tipo de documento" para establecer en cada uno de los documentos generados por SIU-Diaguita cuál será el tipo de firma a utilizar (Autorización básica, Firma digital).
 +
 +
====== 12 - Errores más comunes ======
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Tener mal las las rutas de **Entity Id, Assertion Consumer Serv. y Single Logout Serv.**<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
> Una vez hechas todas las configuraciones usted puede verificarlas en la URLs en **https:%%//%%diaguita.local/diaguita/?metadata**
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>No estar usando el certificado del idp correcto, se configura en el archivo **instalador.env**, usted puede usar su propio certificado o usar el que se genera como indica la documentación [[https://expedientes.siu.edu.ar/docs/arai/#generar-certificados|//https:%%//%%expedientes.siu.edu.ar/docs/arai/#generar-certificados//]]<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>En caso de tener un error “toba_error_seguridad: Error Interno La configuración de seguridad requiere la existencia de archivos certificado y clave privada para el SP” agregar en el archivo **instalador.env** en la parte de CONFIG SP ONE LOGIN **SSO_SP_VERIFY_PEER=false**<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Errores en o los certificados, usted puede comprobar los certificados de los dominios donde esta corriendo el ecosistema o de la aplicación que está tratando de conectar al mismo, con los comandos:<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
**openssl s_client -connect uunn.local:443**
 +
 +
**curl -I https:%%//%%uunn.local**
 +
 +
**openssl s_client -connect diaguita.local:443**
 +
 +
**curl -I https:%%//%%diaguita.local**
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Error en la url de las apis, desde hace un tiempo todas las apis del SIU están versionadas, verifique que las URLs de las mismas tengan especificada la versión ejemplo **/v1**/ o **/v2/** y que las urls de las mismas terminen con **/**<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Error en el vincula_arai_appID, debe controlar que en el archivo **instalacion/instalacion.ini** sea el mismo identificador de aplicación de SIU-Diaguita registrada en Araí-Usuarios.<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Error en la url o en los datos de acceso de la api de documentos en el archivo **instalacion/arai_documentos.ini**<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Problemas de escritura en **/tmp** debe configurar **queue_temp_dir** en el archivo **instalacion/arai_documentos.ini**<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>No tener en la base de datos de Diaguita, el esquema y la tabla queue<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>No tener corriendo Jasper, ejecutar **diaguita_reportes.sh**<HTML></p></HTML>
 +
<HTML></li></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>**Error en Postgres: “**//sintaxis de entrada no válida para tipo json//”<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
Se puede obtener este error tanto en Diaguita como en Arai-Documentos.
 +
 +
> Normalmente ocurre por tener **standard_conforming_strings = off.**
 +
 +
Se debe modificar ese valor ya que se requiere tener en Postgres el **standard_conforming_strings** = **on**
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Los documentos quedan en el estado “**Pendiente de envío”**<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
El problema más común en este caso es que el worker no se encuentra corriendo. Verificar el estado y levantarlo en caso de que no este ejecutandose (Ver pto 8 de esta guia)
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Documento en diaguita en estado **Fallido**<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
Verificar: **docs-cli.log/queue.log** y logs de arai-documentos
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Luego de firmar el documento en huarpe, no cambia de estado en diaguita<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
Verificar **docs-cli.log/queue.log** y logs de arai-documentos
 +
 +
> Verificar si hay error en el log del worker de arai-documentos
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Posibles causas:<HTML></p></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Certificado SSL no válido y la url del parámetro **rest_diaguita** en **arai_documentos.ini** está configurada con https y por lo tanto falla el POST desde arai-documentos a Diaguita.<HTML></p></HTML>
 +
<HTML></li></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>No está público el rest de notificaciones. Verificar **url_protegida** en **servidor.ini.**<HTML></p></HTML>
 +
<HTML></li></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Verificar si es correcta la url del parámetro **diaguita_rest** en **instalacion/arai_documentos.ini**<HTML></p></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Puede que hayan cambiado las credenciales/secrets, corregir con: service supervisor restart<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
<HTML><ul></HTML>
 +
<HTML><li></HTML>> <HTML><p></HTML>Error el enviar documentos a Arai-Documentos:<HTML></p></HTML>
 +
<HTML></li></HTML><HTML></ul></HTML>
 +
 +
> **Mensaje**: //The transport fails to send the message due to some internal error.//
 +
 +
Este error posiblemente ocurre porque algún parámetro de conexión a la base donde se encuentra la tabla "//queue//" es incorrecto.
 +
 +
Se debería chequear el archivo instalacion/arai_documentos.ini para confirmar que los datos son correctos.Si se realiza la corrección de un parámetro y se está usando supervisor para correr el worker, se debe tener en cuenta que es necesario reiniciar el servicio de supervisor para que tome los cambios realizados.
 +
 +
====== 13 - Anexo: Actualización en modo Ecosistema ======
 +
 +
Actualmente al momento de actualizar SIU-Diaguita, el instalador no migra todas las configuraciones de la instalación anterior y existen archivos de configuración que es necesario revisar y terminar de configurar ya que no se configuran mediante el instalador.env.
 +
 +
**Archivos que intervienen en el proceso:**
 +
 +
instalacion/instalacion.ini
 +
 +
instalacion/arai_documentos.ini
 +
 +
instalacion/saml_onelogin.ini
 +
 +
instalacion/web_server.ini
 +
 +
instalacion/i%%__%%produccion/instancia.ini
 +
 +
instalacion/i%%__%%produccion/p%%__%%diaguita/rest/servidor.ini
 +
 +
instalacion/i%%__%%produccion/p%%__%%toba_usuarios/rest/rest_arai_usuarios/cliente.ini
 +
 +
**Archivos de configuraciones no migradas:**
 +
 +
En el archivo instalacion/instalacion.ini no se agrega los campos
 +
 +
vincula_arai_usuarios = "1"
 +
 +
vincula_arai_appID = "_15e386a849792db499366d86aa4accf0c7e234c7f8"
 +
 +
Se necesita agregar al archivo vincula_arai_usuarios = "1" y vincula_arai_appID el id del mismo se tiene que ver en Arai-Usuarios / Aplicaciones.
 +
 +
En el archivo instalacion/i%%__%%produccion/p%%__%%toba_usuarios/rest/rest_arai_usuarios/cliente.ini no se realiza la configuración automáticamente y es necesario ajustar los valores.
 +
 +
[conexion]
 +
 +
to = "https:%%//%%uunn.local/api-usuarios/v1/"
 +
 +
auth_tipo = "basic"
 +
 +
auth_usuario = "diaguita"
 +
 +
auth_password = "diaguita123"
 +
 +
Los datos que van configurados en este punto dependen de la instalación, que esté actualizando.

Revisión del 18:13 16 feb 2023

Guía técnica para conectar SIU-Diaguita al Ecosistema SIU, se requiere tener funcionando Arai-Usuarios, Arai-Documentos, Huarpe y Sudocu.

Sumario

==========================================================

//Recuerde que el dominio uunn.local debe ser reemplazado por el que corresponde.//

//La URL https:%%//%%universidad.edu.ar/diaguita usada como ejemplo es la url de acceso a la instalación existente de SIU-Diaguita//

==========================================================
1 - Registrar SIU-Diaguita como Service Provider en Araí Usuarios

1.1 Ingrese a Araí-Usuarios

1.2 Dirigirse a Aplicaciones

1.3 Presionar el botón Agregar +

1.4 Completar de la siguiente manera el tab Datos Generales

> Url: [[1]] > > Nombre: diaguita > > Cómo ícono colocar esta imagen: [[2]]

1.5 Completar de la siguiente manera el tab SAML

<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Chequear la opción Activo<HTML>

    </HTML> <HTML>
  • </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Entity Id: [[3]]<HTML>

    </HTML> <HTML>
  • </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Assertion Consumer Serv.: [[4]]<HTML>

    </HTML> <HTML>
  • </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Single Logout Serv.: [[5]]<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

1.6 Presionar el botón Guardar

2 - Configurar parámetros SAML en SIU-Diaguita

2.1 Editar en el archivo **instalador.env** las siguientes líneas:

            1. CONFIG SP ONE LOGIN ######

SSO_SP_IDP_METADATA_URL=https:%%//%%uunn.local/idp/saml2/idp/metadata.php

SSO_SP_IDP_URL_SERVICE=https:%%//%%uunn.local/idp/saml2/idp/SSOService.php

SSO_SP_IDP_SINGLE_LOGOUT_URL_SERVICE=https:%%//%%uunn.local/idp/saml2/idp/SingleLogoutService.php

SSO_SP_IDP_PUBLIC_KEY_FILE=/usr/local/siu/diaguita/temp/certificado_idp.crt

SSO_SP_ATRIBUTO_USUARIO=defaultUserAccount

SSO_SP_PERMITE_LOGIN_TOBA=0

SSO_SP_AUTH_SOURCE=default-sp

SSO_SP_COOKIE_NAME=TOBA_SESSID

SSO_SP_IDP_NAME=[[6]]

==========================================================

//SSO_SP_IDP_METADATA_URL: URL del IDP donde estén accesibles los metadatos. Por ej: https:%%//%%service.example.com/idp.metadata//

//SSO_SP_IDP_URL_SERVICE: URL del IDP donde esté accesible el servicio. Por ej: http:%%//%%service.example.com/simplesaml/saml2/idp/SSOService.php//

//SSO_SP_IDP_SINGLE_LOGOUT_URL_SERVICE: URL para cerrar sesión en el IDP. Por ej: http:%%//%%service.example.com/simplesaml/saml2/idp/SingleLogoutService.php//

//SSO_SP_IDP_PUBLIC_KEY_FILE: Ruta al archivo del certificado público usado para firmar los tokens SAML en el IDP generado aquí//

//SSO_SP_ATRIBUTO_USUARIO: El atributo del IDP que contiene el identificador de usuario: En este caso se debe usar defaultUserAccount//

//SSO_SP_PERMITE_LOGIN_TOBA: Si se activa el login interno del proyecto vía Toba. Posibles valores 0 y 1//

//SSO_SP_AUTH_SOURCE: El auth source del SP, por defecto es default-sp//

//SSO_SP_COOKIE_NAME: Nombre de la cookie manejada por OneLogin. Por ej: TOBA_SESSID//

//SSO_SP_IDP_NAME: Nombre del IDP. Por ej: service.example.com//

==========================================================

2.2 Ejecutar el comando de reconfiguración del instalador:

    • ./bin/instalador proyecto:reconfigurar sso**

2.3 Editar en el archivo **instalacion/instalacion.ini** donde se incorporan las sgtes líneas:

autenticacion = "saml_onelogin"

vincula_arai_usuarios = "1"

==========================================================

//Se debe agregar el parámetro vincula_arai_usuarios = "1" ya que este no se genera automáticamente.//

==========================================================

2.4 Verificar en el archivo **instalacion/saml_onelogin.ini** que exista la entrada:

proyecto_login = "diaguita"

==========================================================

//En versiones de SIU-Diaguita 3.0.1 o anterior no se genera automáticamente el valor del parámetro proyecto_login y por lo tanto se debe configurar manualmente. En posteriores versiones se incluirá la automatización del mismo.//

==========================================================
3 - Forzar uso de HTTPS en SIU-Diaguita

3.1 Verificar el archivo **instalacion/web_server.ini** que esté configurado HTTPS

3.1.1 De lo contrario puede editar el archivo **instalador.env**

TOBA_FORZAR_HTTPS=on

3.1.2 Ejecutar el comando de reconfiguración de TOBA:

    • ./bin/instalador proyecto:reconfigurar toba**
4 - Configurar el cliente de usuarios en SIU-Diaguita

4.1 Editar el archivo **instalacion/i%%__%%produccion/p%%__%%toba_usuarios/rest/rest_arai_usuarios/cliente.ini**

[conexion]

to = "https:%%//%%uunn.local/api-usuarios/v1/"

auth_tipo = "basic"

auth_usuario = "USR_API_USUARIOS"

auth_password = "PASS_API_USUARIOS"

==========================================================

//El usuario y la contraseña del API de Arai-Usuarios configurados en este paso, se almacenan en un secret, para los cual editamos el archivo **secrets.sh** y modificamos la linea 13 donde crea el secret usuarios_api_users//

//Agregamos ["diaguita","diaguita123"] en este caso "diaguita" sería el usuario y "diaguita 123" la contraseña.//

//printf '[["diaguita","diaguita123"],["documentos","documentos123"],["huarpe","huarpe123"],["proveedores","proveedores123"]]' | docker secret create usuarios_api_users -//

//Para posteriormente ejecutar los comandos://

//**docker secret rm usuarios_api_users**//

//**./secrets.sh**//

==========================================================

4.2 Editar el archivo **instalacion/instalacion.ini** y agregar el appUniqueId

vincula_arai_appID = 'APP_UNIQUE_ID_DIAGUITA'

==========================================================

//APP_UNIQUE_ID_DIAGUITA: Es el identificador de aplicación de SIU-Diaguita en Araí-Usuarios. Este valor se puede obtener desde el listado de Aplicaciones en Araí-Usuarios en la columna appUniqueId.//

==========================================================
5 - Habilitar el REST de notificaciones

5.1 Editar el archivo **instalacion/i%%__%%produccion/p%%__%%diaguita/rest/servidor.ini**

[settings]

formato_respuesta = "json"

url_protegida = "/(?=^((?!convocatorias-publicas|notificaciones).)+$)/xs"

encoding = "utf-8"

6 - Configurar los parámetros para Araí-Documentos en SIU-Diaguita

6.1 Se debe crear el archivo **instalacion/arai_documentos.ini** con los siguientes valores:

host_arai="https:%%//%%uunn.local/docs"

usr_arai="USR_API_DOCUMENTOS"

pass_arai="PASS_API_DOCUMENTOS"

queue_path="/usr/local/app/temp"

queue_temp_dir = "/usr/local/app/temp"

db_queue = "DB_DIAGUITA"

dbq_host = "HOST_POSTGRES"

dbq_port = PUERTO_POSTGRES

dbq_user = "USER_POSTGRES"

dbq_password = "PASSWORD_POSTGRES"

dbq_table_name = "queue.queue"

polling_interval = 1000

rest_diaguita = "https:%%//%%universidad.edu.ar/diaguita/rest/v1/notificaciones/documento"

==========================================================

//host_arai: Es la ruta a la API de Araí-Documentos//

//usr_arai: Usuario de acceso a la API de Araí-Documentos//

//pass_arai: Contraseña de acceso a la API de Araí-Documentos//

//queue_path: Directorio usado por la librería queue para escribir archivos internos//

//queue_temp_dir: Directorio usado por la librería queue para escribir archivos temporales//

//db_queue: Nombre de la base de datos donde se encuentra el schema queue. Corresponde a la base de negocio de SIU-Diaguita//

//dbq_host: Ruta al host donde se encuentra la base db_queue//

//dbq_port: Puerto de PostgreSQL donde se encuentra la base db_queue//

//dbq_user: Usuario de PostgreSQL donde se encuentra la base db_queue//

//dbq_password: Contraseña de PostgreSQL donde se encuentra la base db_queue//

//dbq_table_name: Tabla usada por la librería queue. Se debe mantener el valor queue.queue//

//polling_interval: No se debe modificar//

//rest_diaguita: URL de acceso al REST de notificaciones de Diaguita. Se debe reemplazar por la URL de la instalación existente, manteniendo /rest/notificaciones/documento//

==========================================================
7 - Habilitar acceso externo de API Backend de documentos

7.1 Editar el archivo **docs.yml**

Agregar las líneas:

- "traefik.http.routers.docs-backend.rule=Host(`uunn.local`) && PathPrefix(`/docs/rest/backend`)"

- "traefik.http.routers.docs-backend.tls=true"

Adicionalmente, como este es un endpoint que no debería quedar publicado se tendrían que adicionar las siguientes líneas (con su correspondiente ajuste):

- "traefik.http.middlewares.docs-ipwhitelist.ipwhitelist.sourcerange=127.0.0.1/32,172.77.100.0/24"

- "traefik.http.routers.docs-backend.middlewares=security-headers@file,docs-ipwhitelist"

7.2 Luego se debe realizar el deploy de documentos para actualizar los servicios.

    • docker stack rm docs**
    • docker stack deploy --with-registry-auth -c prod/arai/docs.yml docs**
8 - Worker de Documentos

8.1 Iniciar el worker de documentos es:

    • bin/toba proyecto iniciar_workers_arai_documentos -p diaguita**

8.1.1 También puede configurar Supervisor para correr el worker de documentos.

[program:diaguita-worker-documentos]

command=<path_instalacion_diaguita>/bin/toba proyecto iniciar_workers_arai_documentos -p diaguita

autostart=true

autorestart=true

stderr_logfile=/var/log/diaguita-worker-documentos-err.log

stderr_logfile_maxbytes=2MB

stderr_logfile_backups=10

stderr_capture_maxbytes=1MB

stdout_logfile=/var/log/diaguita-worker-documentos-stdout.log

stdout_logfile_maxbytes=10MB

stdout_logfile_backups=10

stdout_capture_maxbytes=1MB

8.1.2 Ejecutar para iniciar Supervisor

    • systemctl start supervisor**

8.1.3 Verificar la ejecución del worker

    • supervisorctl status diaguita-worker-documentos**
9- Habilitar Bundles

9.1 Se recomienda generar un secret (seguro) para almacenar la contraseña de la API de SIU-Diaguita con el siguiente comando:

    • printf "diaguita123" | docker secret create diaguita_api_client_pass -**

O podemos editar el archivo **secrets.sh** y agregar la línea:

printf "diaguita123" | docker secret create diaguita_api_client_pass -

9.2 En caso de haber editado el archivo **secrets.sh** ejecutar:

    • ./secrets.sh**

9.3 En el archivo **prod/arai/huarpe.yml** se deben descomentar (o agregar) los ítems en las secciones que se detallan a continuación.

  1. Agregar en la sección webapp:secrets
  1. Línea 37

webapp

secrets:

- diaguita_api_client_pass

  1. Agregar en la sección secrets
  1. Línea 94

secrets:

diaguita_api_client_pass:

external: true

9.4 En el archivo **huarpe.env** debemos definir valores para las restantes variables del entorno

API_DIAGUITA_USR=diaguita_api_client_user

API_DIAGUITA_URL=https:%%//%%universidad.edu.ar/diaguita/rest/v1/

API_DIAGUITA_PASS_FILE=/run/secrets/diaguita_api_client_pass

BUNDLE_COMPRAS_ACTIVO=1

BUNDLE_PATRIMONIO_ACTIVO=1

DIAGUITA_URL_COMPRAS=https:%%//%%compras.uunn.local/

DIAGUITA_APP_UNIQUE_ID=

==========================================================

//BUNDLE_COMPRAS_ACTIVO: Indica que se deben activar los bundles de Compras de SIU-Diaguita//

//BUNDLE_PATRIMONIO_ACTIVO: Indica que se deben activar el bundle de Patrimonio de SIU-Diaguita//

//API_DIAGUITA_USR: Usuario para acceder a la API de SIU-Diaguita.//

//API_DIAGUITA_URL: URL de la API de SIU-Diaguita. Ej: https:%%//%%universidad.edu.ar/diaguita/rest/vX///

//DIAGUITA_URL_COMPRAS: URL de la operación en SIU-Diaguita. Ej: https:%%//%%universidad.edu.ar/diaguita/aplicacion.php?ai=diaguita||nro//

//DIAGUITA_APP_UNIQUE_ID: Es el identificador de aplicación de SIU-Diaguita en Araí-Usuarios. Este valor se puede obtener desde el listado de Aplicaciones en Araí-Usuarios en la columna appUniqueId//

==========================================================

9.5 Ejecutar los comandos:

    • docker stack rm huarpe**
    • docker stack rm usuarios**
    • docker stack deploy --with-registry-auth -c prod/arai/usuarios.yml usuarios**
    • docker stack deploy --with-registry-auth -c prod/arai/huarpe.yml huarpe**
10 - Usuarios y cuentas

En adelante, nos referiremos de la siguiente manera:

<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Llamaremos `usuario` a los usuarios de SIU-Araí: Usuarios<HTML>

    </HTML> <HTML>
  • </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Llamaremos `cuenta` a la identificación/es que tenía un humano o sistema en la aplicación de origen<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

Para que un usuario tenga acceso a una cuenta de SIU-Diaguita necesita hacer el mapeo correspondiente en ARAI-Usuarios desde **Usuarios -> (Filtramos el usuario deseado) -> Accedemos desde** Media/image1.gif?16x16 **-> En la pestaña “Cuentas”**

Seleccionamos la Aplicación: Diaguita (Es el nombre que se definió al momento de dar de alta la aplicación en ARAI-Usuarios)

Seleccionamos la Aplicación: <Escriba la cuenta deseado> (Recuerde que cuenta es el usuario que existe en la aplicación SIU-Diaguita)

Una representación esquemática sería:

persona

|

usuario <──────> cuenta <──────> aplicacion

| | |

svier sergio diaguita

| | |

svier servier pilagá

Sincronizar cuentas de usuarios

Exportar cuentas de usuarios de Diaguita

Para exportar las cuentas de usuario de SIU-Diaguita que luego serán importadas en Araí-Usuarios se debe ejecutar el siguiente comando sobre la instalación de Diaguita:

    • toba proyecto exportar_usuarios_arai -p diaguita -f usuarios_diaguita**

Este comando genera un archivo JSON con las cuentas de usuario de Diaguita. Si se verifica que este archivo contiene los datos del nombre y apellido de forma incorrecta se puede usar el parámetro --mascara para modificar el formato de los datos exportados.

Por ejemplo:

    • toba proyecto exportar_usuarios_arai --mascara '<apellido> <nombres>' -p diaguita -f usuarios_diaguita**

Se debe verificar el JSON generado y tener en cuenta que en la sección accounts el valor del atributo appName debe coincidir con el nombre de la aplicación de SIU-Diaguita generado en **Registrar SIU-Diaguita como Service Provider en Araí Usuarios**. Si el valor no coincide, se recomienda modificar el nombre de la aplicación antes de realizar la importación, de lo contrario no se vincularán las cuentas correctamente.

Importar cuentas en Araí-Usuarios

En primer lugar es necesario correr el contenedor que permite realizar tareas administrativas sobre la instalación de Araí-Usuarios. Para esto se debe realizar el deploy de [[7]] de la sgte forma:

    • docker stack deploy --with-registry-auth -c prod/arai/util/usuarios_cmd.yml usr-cmd**

Dicho servicio requiere que el nodo que ejecuta los comandos Docker y además tiene el contenido clonado del repositorio, agregarle el labels.cmd=usuarios para que el servicio usuarios_cmd se inicie y acceda al directorio files:

    • docker node update --label-add cmd=usuarios $NODE_NAME**

Luego se debe copiar el JSON con las cuentas exportadas al directorio [[8]] ya que este directorio es accesible desde dentro del contenedor.

Una vez copiado el JSON es necesario conectarse al contenedor.

    • docker exec -it ID_CONTENEDOR_USR_CMD bash**

Dentro del contenedor de deben ejecutar los siguientes comandos para setear las variables de entorno y finalmente importar las cuentas a Araí-Usuarios

    • source /entrypoint.sh --export-secrets && set +e**
    • ./idm/bin/toba proyecto importar_usuarios_arai -f files/usuarios_diaguita.json -m 2 -p arai_usuarios**

Para conocer en detalle el funcionamiento de la importación de cuentas y sus parámetros puede visitar la documentación de [[9]]

11 - Configuración de niveles de autorización de firma de documentos

Para configurar el nivel de firma de los documentos generados por Diaguita:

Ingresar al ítem de menú "Administración -> Parámetros" y establecer el parámetro FIRMA_DIGITAL_NIVEL_AUTORIZACION en el valor deseado (Autorización básica, Firma digital o Autorización mixta).

En el caso de elegir "Autorización mixta" se debe ingresar al menú "Administración -> Tablas maestras generales -> Configuración de firma por tipo de documento" para establecer en cada uno de los documentos generados por SIU-Diaguita cuál será el tipo de firma a utilizar (Autorización básica, Firma digital).

12 - Errores más comunes
<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Tener mal las las rutas de **Entity Id, Assertion Consumer Serv. y Single Logout Serv.**<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

> Una vez hechas todas las configuraciones usted puede verificarlas en la URLs en **https:%%//%%diaguita.local/diaguita/?metadata**

<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>No estar usando el certificado del idp correcto, se configura en el archivo **instalador.env**, usted puede usar su propio certificado o usar el que se genera como indica la documentación [[10]]<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>En caso de tener un error “toba_error_seguridad: Error Interno La configuración de seguridad requiere la existencia de archivos certificado y clave privada para el SP” agregar en el archivo **instalador.env** en la parte de CONFIG SP ONE LOGIN **SSO_SP_VERIFY_PEER=false**<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Errores en o los certificados, usted puede comprobar los certificados de los dominios donde esta corriendo el ecosistema o de la aplicación que está tratando de conectar al mismo, con los comandos:<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>
    • openssl s_client -connect uunn.local:443**
    • curl -I https:%%//%%uunn.local**
    • openssl s_client -connect diaguita.local:443**
    • curl -I https:%%//%%diaguita.local**
<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Error en la url de las apis, desde hace un tiempo todas las apis del SIU están versionadas, verifique que las URLs de las mismas tengan especificada la versión ejemplo **/v1**/ o **/v2/** y que las urls de las mismas terminen con **/**<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Error en el vincula_arai_appID, debe controlar que en el archivo **instalacion/instalacion.ini** sea el mismo identificador de aplicación de SIU-Diaguita registrada en Araí-Usuarios.<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Error en la url o en los datos de acceso de la api de documentos en el archivo **instalacion/arai_documentos.ini**<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Problemas de escritura en **/tmp** debe configurar **queue_temp_dir** en el archivo **instalacion/arai_documentos.ini**<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>No tener en la base de datos de Diaguita, el esquema y la tabla queue<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>No tener corriendo Jasper, ejecutar **diaguita_reportes.sh**<HTML>

    </HTML> <HTML>
  • </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>**Error en Postgres: “**//sintaxis de entrada no válida para tipo json//”<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

Se puede obtener este error tanto en Diaguita como en Arai-Documentos.

> Normalmente ocurre por tener **standard_conforming_strings = off.**

Se debe modificar ese valor ya que se requiere tener en Postgres el **standard_conforming_strings** = **on**

<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Los documentos quedan en el estado “**Pendiente de envío”**<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

El problema más común en este caso es que el worker no se encuentra corriendo. Verificar el estado y levantarlo en caso de que no este ejecutandose (Ver pto 8 de esta guia)

<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Documento en diaguita en estado **Fallido**<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

Verificar: **docs-cli.log/queue.log** y logs de arai-documentos

<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Luego de firmar el documento en huarpe, no cambia de estado en diaguita<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

Verificar **docs-cli.log/queue.log** y logs de arai-documentos

> Verificar si hay error en el log del worker de arai-documentos

<HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Posibles causas:<HTML>

    </HTML> <HTML>
      </HTML> <HTML>
    • </HTML>> <HTML>

      </HTML>Certificado SSL no válido y la url del parámetro **rest_diaguita** en **arai_documentos.ini** está configurada con https y por lo tanto falla el POST desde arai-documentos a Diaguita.<HTML>

      </HTML> <HTML>
    • </HTML> <HTML>
    • </HTML>> <HTML>

      </HTML>No está público el rest de notificaciones. Verificar **url_protegida** en **servidor.ini.**<HTML>

      </HTML> <HTML>
    • </HTML> <HTML>
    • </HTML>> <HTML>

      </HTML>Verificar si es correcta la url del parámetro **diaguita_rest** en **instalacion/arai_documentos.ini**<HTML>

      </HTML> <HTML>
        </HTML> <HTML>
      • </HTML>> <HTML>

        </HTML>Puede que hayan cambiado las credenciales/secrets, corregir con: service supervisor restart<HTML>

        </HTML> <HTML>
      • </HTML><HTML>
      </HTML> <HTML>
    • </HTML><HTML>
    </HTML> <HTML>
  • </HTML><HTML>
</HTML> <HTML>
    </HTML> <HTML>
  • </HTML>> <HTML>

    </HTML>Error el enviar documentos a Arai-Documentos:<HTML>

    </HTML> <HTML>
  • </HTML><HTML>
</HTML>

> **Mensaje**: //The transport fails to send the message due to some internal error.//

Este error posiblemente ocurre porque algún parámetro de conexión a la base donde se encuentra la tabla "//queue//" es incorrecto.

Se debería chequear el archivo instalacion/arai_documentos.ini para confirmar que los datos son correctos.Si se realiza la corrección de un parámetro y se está usando supervisor para correr el worker, se debe tener en cuenta que es necesario reiniciar el servicio de supervisor para que tome los cambios realizados.

13 - Anexo: Actualización en modo Ecosistema

Actualmente al momento de actualizar SIU-Diaguita, el instalador no migra todas las configuraciones de la instalación anterior y existen archivos de configuración que es necesario revisar y terminar de configurar ya que no se configuran mediante el instalador.env.

    • Archivos que intervienen en el proceso:**

instalacion/instalacion.ini

instalacion/arai_documentos.ini

instalacion/saml_onelogin.ini

instalacion/web_server.ini

instalacion/i%%__%%produccion/instancia.ini

instalacion/i%%__%%produccion/p%%__%%diaguita/rest/servidor.ini

instalacion/i%%__%%produccion/p%%__%%toba_usuarios/rest/rest_arai_usuarios/cliente.ini

    • Archivos de configuraciones no migradas:**

En el archivo instalacion/instalacion.ini no se agrega los campos

vincula_arai_usuarios = "1"

vincula_arai_appID = "_15e386a849792db499366d86aa4accf0c7e234c7f8"

Se necesita agregar al archivo vincula_arai_usuarios = "1" y vincula_arai_appID el id del mismo se tiene que ver en Arai-Usuarios / Aplicaciones.

En el archivo instalacion/i%%__%%produccion/p%%__%%toba_usuarios/rest/rest_arai_usuarios/cliente.ini no se realiza la configuración automáticamente y es necesario ajustar los valores.

[conexion]

to = "https:%%//%%uunn.local/api-usuarios/v1/"

auth_tipo = "basic"

auth_usuario = "diaguita"

auth_password = "diaguita123"

Los datos que van configurados en este punto dependen de la instalación, que esté actualizando.