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.

14 Configuración de SAML con OneLogin

Descripción general

Esta sección proporciona directrices para configurar el inicio de sesión único y el aprovisionamiento de usuarios en Zabbix desde OneLogin utilizando la autenticación SAML 2.0.

Configuración de OneLogin

Creando la aplicación

1. Inicie sesión en su cuenta de OneLogin. Para fines de prueba, puede crear una cuenta de desarrollador gratuita en OneLogin.

2. En la interfaz web de OneLogin, navegue a Aplicaciones → Aplicaciones.

3. Haga clic en "Agregar aplicación" y busque la aplicación correspondiente. Las directrices de esta página se basan en el ejemplo de la aplicación SCIM Provisioner with SAML (SCIM v2 Enterprise, full SAML).

4. Para empezar, puede que desee personalizar el nombre para mostrar de su aplicación. También puede agregar el icono y los detalles de la aplicación. Después de eso, haga clic en Guardar.

Configuración de aprovisionamiento SSO/SCIM

1. En Configuración -> Detalles de la aplicación, establezca el endpoint de inicio de sesión único de Zabbix http://<zabbix-instance-url>/zabbix/index_sso.php?acs como valor de estos campos:

  • Validador de URL ACS (Consumidor)
  • URL ACS (Consumidor)

Tenga en cuenta el uso de "http", y no "https", para que el parámetro acs no se elimine en la solicitud.

También es posible usar "https". Para que esto funcione con Zabbix, es necesario añadir la siguiente línea a conf/zabbix.conf.php:

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

Deje las demás opciones con sus valores predeterminados.

2. En Configuración -> Conexión API, establezca los siguientes valores:

  • URL base SCIM: https://<zabbix-instance-url>/zabbix/api_scim.php
  • Plantilla JSON SCIM: debe contener todos los atributos personalizados que desee pasar a Zabbix a través de SCIM, como user_name, user_lastname, user_email y user_mobile:
{
         "schemas": [
           "urn:ietf:params:scim:schemas:core:2.0:User"
         ],
         "userName": "{$parameters.scimusername}",
         "name": {
           "familyName": "{$user.lastname}",
           "givenName": "{$user.firstname}"
         },
          "user_name": "{$user.firstname}",
          "user_lastname": "{$user.lastname}",
          "user_mobile": "{$user.phone}",
          "user_email": "{$user.email}"
       }

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

Tenga en cuenta que para que el aprovisionamiento de usuarios funcione, OneLogin necesita recibir en la respuesta un atributo 'name' con 'givenName' y 'familyName', incluso si no fue requerido por el proveedor de servicios. Por lo tanto, es necesario especificar esto en el esquema en la parte de configuración de la aplicación.

  • Token Bearer SCIM: introduzca un token de API de Zabbix con permisos de Superadministrador.

Haga clic en Habilitar para activar la conexión.

3. En la página Aprovisionamiento, habilite la opción de Aprovisionamiento:

4. La página Parámetros contiene una lista de parámetros predeterminados:

  • Asegúrese de que 'scimusername' coincida con el valor de inicio de sesión del usuario en OneLogin (por ejemplo, correo electrónico);
  • Marque la opción Incluir en el aprovisionamiento de usuarios para el parámetro 'Groups';
  • Haga clic en "+" para crear los parámetros personalizados que se requieren para las aserciones SAML y el aprovisionamiento de usuarios, como user_name, user_lastname, user_email y user_mobile:

Al agregar un parámetro, asegúrese de marcar tanto las opciones Incluir en la aserción SAML como Incluir en el aprovisionamiento de usuarios.

  • Agregue un parámetro 'group' que coincida con los roles de usuario en OneLogin. Los roles de usuario se pasarán como una cadena, separada por punto y coma ;. Los roles de usuario de OneLogin se utilizarán para crear grupos de usuarios en Zabbix:

Verifique la lista de parámetros:

5. En la página Reglas, cree asignaciones de roles de usuario al parámetro de Grupos predeterminado.

Puede usar una expresión regular para pasar roles específicos como grupos. Los nombres de los roles no deben contener ; ya que OneLogin lo utiliza como separador al enviar un atributo con varios roles.

6. Descargue el certificado IdP. Asígnele permisos 644 ejecutando:

chmod 644 idp.crt

Configuración de Zabbix

1. En Zabbix, vaya a la configuración de SAML y complete las opciones de configuración según la configuración de OneLogin:

Campo de Zabbix Campo de configuración en OneLogin Valor de ejemplo
IdP entity ID Issuer URL
(ver la pestaña SSO de su aplicación en OneLogin)
SSO service URL SAML 2.0 Endpoint (HTTP)
(ver la pestaña SSO de su aplicación en OneLogin)
SLO service URL SLO Endpoint (HTTP)
(ver la pestaña SSO de su aplicación en OneLogin)
Username attribute Parámetro personalizado user_email
Group name attribute Parámetro personalizado group
User name attribute Parámetro personalizado user_name
User last name attribute Parámetro personalizado user_lastname

También es necesario configurar la asignación de grupos de usuarios. La asignación de medios es opcional. Haga clic en Actualizar para guardar estos ajustes.

2. Agregue el certificado Base64 proporcionado por OneLogin.

Si $SSO['CERT_STORAGE'] = 'database' está configurado en zabbix.conf.php, 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 $SSO['CERT_STORAGE'] = 'file' está configurado en zabbix.conf.php, el certificado debe estar disponible en el sistema de archivos (por defecto en ui/conf/certs o 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á configurado o está comentado, se asume el almacenamiento en archivos y los certificados se leen desde ui/conf/certs.

Puede acceder a la descarga del certificado en OneLogin en Aplicaciones -> SSO -> haga clic en Ver detalles debajo del certificado actual.

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

Aprovisionamiento de usuarios SCIM

Con el aprovisionamiento de usuarios habilitado, ahora es posible agregar/actualizar usuarios y sus roles en OneLogin y que se aprovisionen inmediatamente en Zabbix.

Por ejemplo, puede crear un nuevo usuario:

Agréguele un rol de usuario y la aplicación que aprovisionará al usuario:

Al guardar el usuario, se aprovisionará en Zabbix. En Aplicación -> Usuarios puede comprobar el estado de aprovisionamiento de los usuarios actuales de la aplicación:

Si se aprovisiona correctamente, el usuario puede verse en la lista de usuarios de Zabbix.