Problemas para habilitar acceso API de usuarios

Hola, estoy tratando de habilitar usuarios para acceder a la API de usuarios siguiendo el siguiente instructivo:

https://expedientes.siu.edu.ar/docs/arai/#habilitar-acceso-api-de-usuarios

Paso a paso:

Borro secrets y servicios:


gribera@ritsoku:/usr/local/siu/expedientes$ docker service rm usuarios_api
usuarios_api
gribera@ritsoku:/usr/local/siu/expedientes$ docker secret rm usuarios_api_users
usuarios_api_users

Agrego la siguiente línea al secrets.sh:

printf ‘[[“documentos”,“documentos123”],[“huarpe”,“huarpe123”],[“proveedores”,“proveedores123”],[“diaguita”,“diaguita”]]’ | docker secret create usuarios_api_users -

Ejecuto el secrets:


gribera@ritsoku:/usr/local/siu/expedientes$ ./prod/arai/secrets.sh
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_db_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_ldap_admin_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_ldap_config_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_pass_salt already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret usuarios_idp_simplesaml_admin already exists
r2jgod9524hnuuvr82abj6ja4
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_api_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_db_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_repo_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_conexion_usuarios already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret docs_conexion_sudocu already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret huarpe_secret already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret huarpe_usuarios_pass already exists
Error response from daemon: rpc error: code = AlreadyExists desc = secret grafana_pass already exists

Levanto el service de usuarios:


gribera@ritsoku:/usr/local/siu/expedientes$ docker stack deploy --with-registry-auth -c prod/arai/usuarios.yml usuarios
Creating service usuarios_api
Updating service usuarios_idm (id: npquhz85let3w1o65opsrmsyz)
Updating service usuarios_memcached-server (id: onedr0j0h3e8f17bf0155x6ss)
Updating service usuarios_idp (id: zzd2zvs1ovzd0w8db6bj2x4jc)

Ejecuto el curl para probar:


gribera@ritsoku:/usr/local/siu/expedientes$ curl -k https://expedientes-integracion.ungs.edu.ar/api-usuarios/v2/info -u diaguita:diaguita
Forbiddengribera@ritsoku:/usr/local/siu/expedientes$ curl -k https://expedientes-integracion.ungs.edu.ar/api-usuarios/v2/info -u huarpe:huarpe123
Forbiddengribera@ritsoku:/usr/local/siu/expedientes$ curl -k https://expedientes-integracion.ungs.edu.ar/api-usuarios/v2/info -u documentos:documentos123
Forbiddengribera@ritsoku:/usr/local/siu/expedientes$ 

no funciona con ningún usuario…

el log que devuelve usuarios_api es:


gribera@ritsoku:/usr/local/siu/expedientes$ docker service logs usuarios_api
usuarios_api.1.16rek2p4lhj8@ritsoku    | sirviendo . . .
usuarios_api.1.16rek2p4lhj8@ritsoku    | AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.8.37. Set the 'ServerName' directive globally to suppress this message
usuarios_api.1.16rek2p4lhj8@ritsoku    | AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.0.8.37. Set the 'ServerName' directive globally to suppress this message
usuarios_api.1.16rek2p4lhj8@ritsoku    | [Tue Aug 08 16:23:18.112250 2023] [mpm_prefork:notice] [pid 10] AH00163: Apache/2.4.43 (Unix) PHP/7.3.14 configured -- resuming normal operations
usuarios_api.1.16rek2p4lhj8@ritsoku    | [Tue Aug 08 16:23:18.112445 2023] [core:notice] [pid 10] AH00094: Command line: 'httpd -D FOREGROUND'

Que podrá ser lo que está fallando???

Hola Gonzalo, tengo una duda, llegaste a configurar el archivo “usuarios.yml” como dice la guía?
…descomentando las siguientes líneas https://hub.siu.edu.ar/siu/expedientes/-/blob/master/prod/arai/usuarios.yml#L117-125

Hola Enrique

Si, esas líneas las había descomentado, pero también me devolvía “Forbidden”.

Cambié la línea

- "traefik.http.middlewares.api-ipwhitelist.ipwhitelist.sourcerange=127.0.0.1/32,172.77.100.0/24,10.0.0.0/8"

por

- "traefik.http.middlewares.api-ipwhitelist.ipwhitelist.sourcerange=0.0.0.0/0"

y ahora responde bien.

Saludos!

Hola Gonzalo, no deberías dejar así el ipwhitelist, con 0.0.0.0/0 estás dejando libre acceso a todas las IPs

- "traefik.http.middlewares.api-ipwhitelist.ipwhitelist.sourcerange=127.0.0.1/32,172.77.100.0/24,10.0.0.0/8"

así debería funcionarte!

lo que me parece que está sucediendo es que el dominio “https://expedientes-integracion.ungs.edu.ar/” es real, y está resolviendo la ip publica
entonces es como que estás intentando ingresar a la api desde afuera.

creo que configurando el archivo de hosts de tu PC bastaría

sudo nano /etc/hosts
y agregas algo así al final

127.0.0.1     expedientes-integracion.ungs.edu.ar