Autenticación
IndexMic utiliza ShinyProxy para le manejo de usuarios y enrutamiento. Si algún sistema de autenticación no se documenta en esta página, visitar la documentación de autenticación de ShinyProxy.
LDAP
Al utilizar autenticación LDAP, IndexMic utilizará el url LDAP para:
- Autenticar usuarios intentando utilizar su usuario y contraseña.
- Permitir el uso de ciertas aplicaciones buscando grupos en el LDAP a los cuales pertenezca el usuario y validando con los accesos configurados.
Para habilitar la autenticación con ldap primero debe cambiar la configuración
(authentication: ldap
). Para configurar su ldap debe utilizar los siguientes
parámetros:
url
: el string de conexión al LDAP, compuesto del URL y el DN base del directorio;user-dn-pattern
: el patrón del DN para un usuario. Utilizar si todos los usuarios se encuentran en una sola localización del LDAP;user-search-filter
: filtro del LDAP para buscar usuarios. Utilizar si los usuarios se encuentran en diferentes localizaciones del LDAP y no puedes usaruser-dn-pattern
;user-search-base
: base para buscar usuarios. Solo utilizar siuser-search-filter
se esta utilizando;group-search-filter
: filtro del LDAP para buscar la membresia a los grupos;group-search-base
: base para buscar grupos. Solo utilizar sigroup-search-filter
se esta utilizando;manager-dn
: en DN del usuario utilizado para conectarse al directorio LDAP; dejar vacio si la conexión inicial es anónima;manager-password
: la contraseña utilizada para conectarse al directorio LDAP; puede omitirse simanager-dn
esta vacia;
Notas
- el DN base en el
url
(ej.dc=example,dc=com
enldap://ldap.forumsys.com:389/dc=example,dc=com
) no se tiene que repetir enuser-search-base
o engroup-search-base
. Sin embargo, debe repetirse enmanager-dn
. user-dn-pattern
yuser-search-filter
permiten el uso del marcador de posición{0}
el cual será reemplazado con el nombre de usuario.group-search-filter
permite el uso de tres marcadores de posición:{0}
: El DN del usuario{1}
: El nombre de usuario{2}
: El CN del usuario
Variables de ambiente
Cuando un usuario es autenticado, las siguientes variables de ambiente se exportarán al contenedor de las aplicaciones:
SHINYPROXY_USERNAME
: el nombre de usuario.SHINYPROXY_USERGROUPS
: los grupos a los que pertenece el usuario separados por comas.
Multiples proveedores de LDAP
Si se van a utilizar multiples proveedores de LDAP, se pueden configurar de la siguiente manera:
proxy:
ldap:
- url: ldap://ldap.forumsys.com:389/dc=example,dc=com
...
- url: ldap://another.ldap.server:389/...
...
StartTLS
Para utilizar LDAP con StartTLS se debe configurar de la siguiente manera:
proxy:
ldap:
starttls: simple
Los valores de starttls
puede ser:
simple
: StartTLS se habilita utilizando autenticación simple;true
: igual quesimple
;external
: StartTLS se habilita utilizando atenticación con certificado externo.- (Vacio): StartTLS deshabilitado.
Ejemplo: Active Directory
ldap:
url: ldaps://example.com:3269/dc=example,dc=com
manager-dn: cn=shinyproxy,ou=Service Accounts,dc=example,dc=com
manager-password: xxxxxxxxxxxx
user-search-filter: (sAMAccountName={0})
group-search-filter: (member={0})
group-search-base: ou=Groups
Notas
sAMAccountName
se utiliza comunmente como el nombre de usuario único en ambientes de Active Directory. Por esta razón se utiliza en eluser-search-filter
.3269
el el puerto del catalogo configurado con SSL.
Keycloak
Al utilizar autenticación Keycloak, IndexMic utilizará los parametros para:
- Autenticar usuarios intentando utilizar el SSO de Keycloak.
- Permitir el acceso a ciertas aplicaciones según los roles del realm o del cliente.
Para habilitar la autenticación con Keycloak primero se debe cambiar la
configuración (authenticacion: keycloak
). Para configurar Keycloak se deben
utilizar los siguientes parámetros:
realm
: El nombre del realm con los usuarios y clientes.auth-server-url
: El url del servidor de autenticación.resource
: El nombre del recurso.credentials-secret
: El secreto de los credenciales.ssl-required
:none
,all
oexternal
(defecto).proxy.keycloak.name-attribute
: el atributo a usarse para el nombre de usuario.name
(defecto),preferred_username
,nickname
oemail
.use-resource-role-mapping
: booleano para utilizar roles del cliente (true
) o roles de realm (falso
; defecto).
Variables de ambiente
Cuando un usuario es autenticado, las siguientes variables de ambiente se exportarán al contenedor de las aplicaciones:
SHINYPROXY_USERNAME
: el nombre de usuario.SHINYPROXY_USERGROUPS
: los roles a los que pertenece el usuario separados por comas.