2 LDAP
Descripción general
Se puede utilizar la autenticación LDAP externa para comprobar los nombres de usuario y las contraseñas.
La autenticación LDAP de Zabbix funciona al menos con Microsoft Active Directory y OpenLDAP.
Si solo se configura el inicio de sesión LDAP, el usuario también debe existir en Zabbix, sin embargo, su contraseña de Zabbix no se utilizará. Si la autenticación es exitosa, Zabbix hará coincidir un nombre de usuario local con el atributo de nombre de usuario devuelto por LDAP.
Aprovisionamiento de usuarios
Es posible configurar el aprovisionamiento JIT (just-in-time) para usuarios LDAP. En este caso, no es necesario que el usuario ya exista en Zabbix. La cuenta de usuario puede crearse cuando el usuario inicia sesión en Zabbix por primera vez.
Cuando un usuario LDAP introduce su inicio de sesión LDAP y su contraseña, Zabbix comprueba en el servidor LDAP predeterminado si este usuario existe. Si el usuario existe y todavía no tiene una cuenta en Zabbix, se crea un nuevo usuario en Zabbix y el usuario puede iniciar sesión.
Un usuario creado mediante aprovisionamiento JIT se asocia con el servidor LDAP (directorio) que está configurado como predeterminado en el momento de su creación. Cambiar posteriormente el servidor LDAP predeterminado no cambia ni actualiza el servidor LDAP vinculado a los usuarios que ya fueron aprovisionados.
Si el aprovisionamiento JIT está habilitado, se debe especificar un grupo de usuarios para los usuarios desaprovisionados en la pestaña Authentication.
El aprovisionamiento JIT también permite actualizar las cuentas de usuario aprovisionadas en función de los cambios en LDAP. Por ejemplo, si un usuario se mueve de un grupo LDAP a otro, el usuario también se moverá de un grupo a otro en Zabbix; si un usuario se elimina de un grupo LDAP, el usuario también se eliminará del grupo en Zabbix y, si no pertenece a ningún otro grupo, se añadirá al grupo de usuarios para usuarios desaprovisionados. Las cuentas de usuario aprovisionadas se actualizan según el período de aprovisionamiento configurado o cuando el usuario inicia sesión en Zabbix.
Tenga en cuenta que el aprovisionamiento en segundo plano lo realiza el frontend de Zabbix cuando el usuario está interactuando con él o al menos tiene una página del frontend abierta en el navegador. No existen procesos dedicados en segundo plano para aprovisionar usuarios.
LDAP admite tres formas de vincularse al directorio para autenticación y búsquedas:
- Vinculación anónima: no se proporciona Bind DN / Bind password y el servidor LDAP permite consultas anónimas.
- Usuario de vinculación dedicado (cuenta de servicio): se configura una cuenta LDAP específica en Bind DN / Bind password y Zabbix la utiliza para búsquedas y aprovisionamiento. Esta es la opción recomendada y más flexible porque Zabbix puede realizar búsquedas y aprovisionamiento en segundo plano sin credenciales de usuario final.
- Vinculación directa de usuario: Zabbix realiza la vinculación usando las credenciales que el usuario introduce al iniciar sesión (sin Bind DN / Bind password configurados); esto se configura incluyendo un marcador de posición como
uid=%{user}en el DN base. En este modo, Zabbix solo tiene acceso a la contraseña del usuario durante el inicio de sesión interactivo. Como resultado, las acciones de aprovisionamiento que requieren autenticación en LDAP fuera de la sesión de inicio de sesión del usuario (por ejemplo, usar el botón Provision now o ejecutar el aprovisionamiento en segundo plano cuando el usuario no ha iniciado sesión activamente) no pueden autenticarse y, por lo tanto, no funcionarán. El aprovisionamiento y las actualizaciones para la vinculación directa de usuario solo se realizan en el momento en que el usuario inicia sesión.
Varios servidores
Se pueden definir varios servidores LDAP, si es necesario. Por ejemplo, se puede utilizar un servidor diferente para autenticar a un grupo de usuarios diferente. Una vez configurados los servidores LDAP, en la configuración del grupo de usuarios es posible seleccionar el servidor LDAP requerido para el grupo de usuarios respectivo.
Si un usuario pertenece a varios grupos de usuarios y a varios servidores LDAP, se utilizará para la autenticación el primer servidor de la lista de servidores LDAP ordenados por nombre en orden ascendente.
Configuración

Parámetros de configuración:
| Parámetro | Descripción |
|---|---|
| Habilitar autenticación LDAP | Marque la casilla para habilitar la autenticación LDAP. |
| Habilitar aprovisionamiento JIT | Marque la casilla para habilitar el aprovisionamiento JIT. |
| Servidores | Haga clic en Agregar para configurar un servidor LDAP (consulte Configuración del servidor LDAP a continuación). |
| Inicio de sesión sensible a mayúsculas y minúsculas | Desmarque la casilla para deshabilitar el inicio de sesión sensible a mayúsculas y minúsculas para los nombres de usuario (habilitado por defecto). Deshabilitar el inicio de sesión sensible a mayúsculas y minúsculas permite, por ejemplo, iniciar sesión como "admin" incluso si el usuario de Zabbix es "Admin" o "ADMIN". Tenga en cuenta que si el inicio de sesión sensible a mayúsculas y minúsculas está deshabilitado y hay varios usuarios de Zabbix con nombres de usuario similares (por ejemplo, Admin y admin), el inicio de sesión para esos usuarios siempre será denegado con el siguiente mensaje de error: "Autenticación fallida: las credenciales proporcionadas no son únicas." |
| Período de aprovisionamiento | Establezca el período de aprovisionamiento, es decir, con qué frecuencia se realiza el aprovisionamiento de usuarios. |
Configuración del servidor LDAP

Parámetros de configuración del servidor LDAP:
| Parámetro | Descripción |
|---|---|
| Name | Nombre del servidor LDAP en la configuración de Zabbix. |
| Host | Nombre de host, IP o URI del servidor LDAP. Ejemplos: ldap.example.com, 127.0.0.1, ldap://ldap.example.com Para un servidor LDAP seguro, use el protocolo ldaps y el nombre de host. Ejemplo: ldaps://ldap.example.com Con OpenLDAP 2.x.x y posteriores, puede utilizarse un URI LDAP completo con el formato ldap://hostname:port o ldaps://hostname:port. |
| Port | Puerto del servidor LDAP. El valor predeterminado es 389. Para una conexión LDAP segura, el número de puerto normalmente es 636. No se utiliza cuando se usan URI LDAP completos. |
| Base DN | Ruta base a las cuentas de usuario en el servidor LDAP: ou=Users,ou=system (para OpenLDAP), DC=company,DC=com (para Microsoft Active Directory) uid=%{user},dc=example,dc=com (para vinculación directa de usuario, vea la nota a continuación) |
| Search attribute | Atributo de cuenta LDAP utilizado para la búsqueda: uid (para OpenLDAP), sAMAccountName (para Microsoft Active Directory) |
| Bind DN | Cuenta LDAP para la vinculación y búsqueda en el servidor LDAP, ejemplos: uid=ldap_search,ou=system (para OpenLDAP), CN=ldap_search,OU=user_group,DC=company,DC=com (para Microsoft Active Directory) También se admite la vinculación anónima. Tenga en cuenta que la vinculación anónima potencialmente expone la configuración del dominio a usuarios no autorizados (información sobre usuarios, equipos, servidores, grupos, servicios, etc.). Por motivos de seguridad, deshabilite las vinculaciones anónimas en los hosts LDAP y utilice acceso autenticado en su lugar. |
| Bind password | Contraseña LDAP de la cuenta para la vinculación y búsqueda en el servidor LDAP. |
| Description | Descripción del servidor LDAP. |
| Configure JIT provisioning | Marque esta casilla para mostrar opciones relacionadas con el aprovisionamiento JIT. |
| Group configuration | Seleccione el método de configuración de grupos: memberOf - buscando usuarios y su atributo de pertenencia a grupos groupOfNames - buscando grupos a través del atributo member Tenga en cuenta que memberOf es preferible porque es más rápido; use groupOfNames si su servidor LDAP no admite memberOf o si se requiere filtrado de grupos. |
| Group name attribute | Especifique el atributo del que obtener el nombre del grupo de todos los objetos en el atributo memberOf (vea el campo User group membership attribute)El nombre del grupo es necesario para el mapeo de grupos de usuarios. |
| User group membership attribute | Especifique el atributo que contiene información sobre los grupos a los que pertenece el usuario (por ejemplo, memberOf).Por ejemplo, el atributo memberOf puede contener información como esta: memberOf=cn=zabbix-admin,ou=Groups,dc=example,dc=comEste campo solo está disponible para el método memberOf. |
| User name attribute | Especifique el atributo que contiene el nombre del usuario. |
| User last name attribute | Especifique el atributo que contiene el apellido del usuario. |
| User group mapping | Mapee un patrón de grupo de usuarios LDAP a un grupo de usuarios de Zabbix y a un rol de usuario. Esto es necesario para determinar qué grupo/rol de usuario obtendrá en Zabbix el usuario aprovisionado. Haga clic en Add para añadir un mapeo. El campo LDAP group pattern admite comodines. El nombre del grupo debe coincidir con un grupo existente. Si un usuario LDAP coincide con varios grupos de usuarios de Zabbix, el usuario pasará a ser miembro de todos ellos. Si un usuario coincide con varios roles de usuario de Zabbix, obtendrá el que tenga el nivel de permisos más alto entre ellos. |
| Media type mapping | Mapee los atributos LDAP de media del usuario (por ejemplo, correo electrónico) a los media de usuario de Zabbix para enviar notificaciones (el valor del atributo se utiliza como el campo Send to del media). |
| Advanced configuration | Haga clic en el encabezado Advanced configuration para mostrar las opciones de configuración avanzada (vea más abajo). |
| StartTLS | Marque la casilla para usar la operación StartTLS al conectarse al servidor LDAP. La conexión fallará si el servidor no admite StartTLS. StartTLS no puede utilizarse con servidores que usan el protocolo ldaps. |
| Search filter | Defina una cadena personalizada al autenticar un usuario en LDAP. Se admiten los siguientes marcadores de posición:%{attr} - nombre del atributo de búsqueda (uid, sAMAccountName)%{user} - valor del nombre de usuario que se va a autenticarPor ejemplo, para realizar una búsqueda sensible a mayúsculas y minúsculas dentro de un entorno LDAP o Microsoft Active Directory no sensible a mayúsculas y minúsculas, la cadena puede definirse de la siguiente manera: (%{attr}:caseExactMatch:=%{user}).Si el filtro no se personaliza, LDAP utilizará el valor predeterminado: (%{attr}=%{user}). |
Para configurar un servidor LDAP para vinculación directa de usuario, añada un atributo uid=%{user} al parámetro Base DN (por ejemplo,uid=%{user},dc=example,dc=com) y deje vacíos los parámetros BindDN y Bind password.
Al autenticar, el marcador de posición %{user} se sustituirá por el nombre de usuario introducido durante el inicio de sesión.
Con la vinculación directa de usuario, Zabbix solo tiene acceso a las credenciales del usuario durante el inicio de sesión interactivo.
Por lo tanto, las tareas de aprovisionamiento que funcionan sin un inicio de sesión interactivo (por ejemplo, el botón Provision now o el método API user.provision) ignorarán a los usuarios que se autentican mediante vinculación directa de usuario porque Zabbix no puede vincularse en su nombre.
Utilice vinculación anónima o un usuario de vinculación dedicado (cuenta de servicio) si necesita que el aprovisionamiento y las búsquedas LDAP funcionen desde el frontend sin requerir que el usuario final haya iniciado sesión.
Los siguientes campos son específicos de "groupOfNames" como método de Group configuration:

| Parámetro | Descripción |
|---|---|
| Group base DN | Ruta base a los grupos en el servidor LDAP. |
| Group name attribute | Especifique el atributo del que obtener el nombre del grupo en la ruta base especificada para los grupos. El nombre del grupo es necesario para el mapeo de grupos de usuarios. |
| Group member attribute | Especifique el atributo que contiene información sobre los miembros del grupo en LDAP (por ejemplo, member). |
| Reference attribute | Especifique el atributo de referencia para el filtro de grupo (vea el campo Group filter). Luego use %{ref} en el filtro de grupo para obtener valores del atributo especificado aquí. |
| Group filter | Especifique el filtro para recuperar el grupo del que el usuario es miembro. Por ejemplo, (member=uid=%{ref},ou=Users,dc=example,dc=com) coincidirá con "User1" si el atributo member del grupo es uid=User1,ou=Users,dc=example,dc=com y devolverá el grupo del que "User1" es miembro. |
En caso de problemas con los certificados, para que funcione una conexión LDAP segura (ldaps) puede que necesite añadir una línea TLS_REQCERT allow al archivo de configuración /etc/openldap/ldap.conf.
Esto puede reducir la seguridad de la conexión al catálogo LDAP.
Se recomienda crear una cuenta LDAP separada (Bind DN) para realizar la vinculación y búsqueda en el servidor LDAP con privilegios mínimos en LDAP, en lugar de usar cuentas de usuario reales (utilizadas para iniciar sesión en el frontend de Zabbix).
Este enfoque proporciona mayor seguridad y no requiere cambiar la Bind password cuando el usuario cambia su propia contraseña en el servidor LDAP.
En la tabla anterior, este es el nombre de cuenta ldap_search.
Prueba de acceso
El botón Probar permite probar el acceso del usuario:
| Parámetro | Descripción |
|---|---|
| Iniciar sesión | Nombre de usuario LDAP para probar (completado previamente con el nombre de usuario actual de la interfaz de Zabbix). Este nombre de usuario debe existir en el servidor LDAP. Zabbix no activará la autenticación LDAP si no puede autenticar al usuario de prueba. |
| Contraseña de usuario | Contraseña de usuario LDAP para probar. |