Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

12 Configuración de SAML con Microsoft Entra ID

Descripción general

Esta sección proporciona pautas para configurar el inicio de sesión único y el aprovisionamiento de usuarios en Zabbix desde Microsoft Entra ID (anteriormente Microsoft Azure Active Directory) utilizando la autenticación SAML 2.0.

Configuración de Microsoft Entra ID

Creación de la aplicación

1. Inicie sesión en el centro de administración de Microsoft Entra en Microsoft Entra ID. Para fines de prueba, puede crear una cuenta de prueba gratuita en Microsoft Entra ID.

2. En el centro de administración de Microsoft Entra seleccione Aplicaciones -> Aplicaciones empresariales -> Nueva aplicación -> Cree su propia aplicación.

3. Añada el nombre de su aplicación y seleccione la opción Integrar cualquier otra aplicación.... Después de eso, haga clic en Crear.

Configuración del inicio de sesión único

1. En la página de su aplicación, vaya a Configurar inicio de sesión único y haga clic en Comenzar. Luego seleccione SAML.

2. Edite la Configuración básica de SAML:

  • En Identificador (ID de entidad) establezca un nombre único para identificar su aplicación en Microsoft Entra ID, por ejemplo, zabbix;
  • En URL de respuesta (URL del servicio de consumidor de aserciones) establezca el punto final de inicio de sesión único de Zabbix: https://<ruta-a-zabbix-ui>/index_sso.php?acs:

Tenga en cuenta que se requiere "https". Para que esto funcione con Zabbix, es necesario agregar la siguiente línea a conf/zabbix.conf.php:

$SSO['SETTINGS'] = ['use_proxy_headers' => true];

3. Edite Atributos y reclamaciones. Debe agregar todos los atributos que desea pasar a Zabbix (user_name, user_lastname, user_email, user_mobile, groups).

Los nombres de los atributos son arbitrarios. Se pueden usar diferentes nombres de atributos, sin embargo, es necesario que coincidan con el valor del campo respectivo en la configuración SAML de Zabbix.

  • Haga clic en Agregar nueva reclamación para agregar un atributo:

  • Haga clic en Agregar una reclamación de grupo para agregar un atributo para pasar grupos a Zabbix:

Es importante en esta reclamación que los nombres de los grupos (en lugar de los ID de grupo) se pasen a Zabbix mediante el Atributo de origen seleccionado. De lo contrario, el aprovisionamiento de usuarios JIT no funcionará correctamente.

4. En Certificados SAML descargue el certificado Base64 proporcionado por Entra ID y colóquelo en conf/certs de la instalación del frontend de Zabbix.

Asigne permisos 644 ejecutando:

chmod 644 entra.cer

5. Utilice los valores de Configurar <el nombre de su aplicación> en Entra ID para configurar la autenticación SAML de Zabbix (consulte la siguiente sección):

Configuración de Zabbix

1. En Zabbix, vaya a la configuración de SAML y complete las opciones de configuración basándose en la configuración de Entra ID:

Campo de Zabbix Campo de configuración en Entra ID Valor de ejemplo
IdP entity ID Identificador de Microsoft Entra
SSO service URL URL de inicio de sesión
SLO service URL URL de cierre de sesión
SP entity ID Identificador (Entity ID)
Username attribute Atributo personalizado (reclamación) user_email
Group name attribute Atributo personalizado (reclamación) groups
User name attribute Atributo personalizado (reclamación) user_name
User last name attribute Atributo personalizado (reclamación) user_lastname

2. Agregue el certificado Base64 proporcionado por Entra ID.

Si en zabbix.conf.php se establece $SSO['CERT_STORAGE'] = 'database', puede pegar el texto del certificado o cargar el archivo del certificado en la interfaz durante la configuración de SAML; no se requieren archivos en el sistema de archivos.

Si en zabbix.conf.php se establece $SSO['CERT_STORAGE'] = 'file', el certificado debe estar disponible en el sistema de archivos (por defecto en ui/conf/certs o en la ruta configurada en zabbix.conf.php) y la interfaz no almacenará los certificados en la base de datos. Tenga en cuenta que si $SSO['CERT_STORAGE'] no está establecido o está comentado, se asume el almacenamiento en archivos y los certificados se leen desde ui/conf/certs.

También es necesario configurar la asignación de grupos de usuarios. La asignación de medios es opcional.

3. Pulse el botón Actualizar para guardar estos ajustes.

Aprovisionamiento de usuarios SCIM

1. En la página de tu aplicación Entra ID, desde el menú principal abre la página de Aprovisionamiento. Haz clic en Comenzar y luego selecciona el modo de aprovisionamiento Automático:

  • En URL del inquilino, establece el siguiente valor: https://<ruta-a-zabbix-ui>/api_scim.php
  • En Token secreto, introduce un token de API de Zabbix con permisos de Superadministrador.
  • Haz clic en Probar conexión para ver si la conexión se establece correctamente.

2. Ahora puedes añadir todos los atributos que se pasarán con SCIM a Zabbix. Para ello, haz clic en Asignaciones y luego en Aprovisionar usuarios de Microsoft Entra ID.

En la parte inferior de la lista de asignación de atributos, habilita Mostrar opciones avanzadas y luego haz clic en Editar lista de atributos para customappsso.

En la parte inferior de la lista de atributos, añade tus propios atributos con tipo 'Cadena':

Guarda la lista.

3. Ahora puedes añadir asignaciones para los atributos añadidos. En la parte inferior de la lista de asignación de atributos, haz clic en Agregar nueva asignación y crea asignaciones como se muestra a continuación:

Cuando se hayan añadido todas las asignaciones, guarda la lista de asignaciones.

4. Como requisito previo para el aprovisionamiento de usuarios en Zabbix, debes tener usuarios y grupos configurados en Entra ID.

Para ello, ve al Centro de administración de Microsoft Entra y luego añade usuarios/grupos en las respectivas páginas de Usuarios y Grupos.

5. Cuando se hayan creado usuarios y grupos en Entra ID, puedes ir al menú Usuarios y grupos de tu aplicación y agregarlos a la aplicación.

6. Ve al menú Aprovisionamiento de tu aplicación y haz clic en Iniciar aprovisionamiento para que los usuarios se aprovisionen en Zabbix.

Ten en cuenta que la solicitud PATCH de Usuarios en Entra ID no admite cambios en los medios.

Firma de solicitud de autenticación

Es posible configurar Entra ID para validar la firma de las solicitudes de autenticación firmadas.

Para que esto funcione, cree claves pública/privada:

openssl req -x509 -newkey rsa:4096 -keyout /usr/share/zabbix/conf/certs/request-sign.key -out /usr/share/zabbix/conf/certs/request-sign.pem -sha256 -days 1825 -nodes

Asigne permisos:

chown apache /usr/share/zabbix/conf/certs/request-sign.key 
       chmod 400 /usr/share/zabbix/conf/certs/request-sign.key

Actualice la configuración del frontend de Zabbix agregando:

$SSO['SP_KEY'] = 'conf/certs/request-sign.key';
       $SSO['SP_CERT'] = 'conf/certs/request-sign.crt';

Resolución de problemas

Pueden ocurrir problemas de autenticación con los navegadores MicroSoft Edge cuando un usuario, al intentar iniciar sesión en Zabbix mediante SAML, ya ha iniciado sesión con el perfil de MicroSoft Edge. Como señal de este problema, el usuario puede ser capaz de iniciar sesión en Zabbix usando MicroSoft Edge en modo privado.

Para evitar problemas de autenticación en este caso, puede ser necesario establecer requestedAuthnContext en "false" en el archivo de configuración del frontend de Zabbix (zabbix.conf.php).

$SSO['SETTINGS'] = [
           'security' => [
               'requestedAuthnContext' => false
           ]
       ];