Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Únase a nuestro proyecto de traducción y ayude a traducir la documentación de Zabbix a su lengua materna.

12 SAML setup with OneLogin

Descripción general

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

Configuración de OneLogin

Creando aplicación

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

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

3. Haga clic en "Agregar aplicación" y busque la aplicación adecuada. Las pautas de esta página se basan en el ejemplo de aplicación SCIM Provisioner con SAML (SCIM v2 Enterprise, SAML completo).

4. Para empezar, es posible que desee personalizar el nombre a mostrar de su aplicación. Es posible que también desee agregar el ícono y los detalles de la aplicación. Después de eso, haga clic en Guardar.

Setting up SSO/SCIM provisioning

1. In Configuration -> Application details, set the Zabbix single sign-on endpoint http://<zabbix-instance-url>/zabbix/index_sso.php?acs as the value of these fields:

  • ACS (Consumer) URL Validator
  • ACS (Consumer) URL

Note the use of "http", and not "https", so that the acs parameter is not cut out in the request.

It is also possible to use "https". To make that work with Zabbix, it is necessary to add to conf/zabbix.conf.php the following line:

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

Leave other options with their default values.

2. In Configuration -> API connection, set the following values:

  • SCIM Base URL: https://<zabbix-instance-url>/zabbix/api_scim.php
  • SCIM JSON Template: should contain all custom attributes that you would like to pass to Zabbix via SCIM such as user_name, user_lastname, user_email, and 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}"
       }

The attribute names are arbitrary. Different attribute names may be used, however, it is required that they match the respective field value in Zabbix SAML settings.

Note that for user provisioning to work, OneLogin needs to receive in response a 'name' attribute with 'givenName' and 'familyName', even if it was not required by the service provider. Thus it is necessary to specify this in the schema in the application configuration part.

  • SCIM Bearer Token: enter a Zabbix API token with Super admin permissions.

Click on Enable to activate the connection.

3. In the Provisioning page, enable the Provisioning option:

4. The Parameters page contains a list of default parameters:

  • Make sure that the 'scimusername' matches the user login value in OneLogin (e.g. email);
  • Mark the Include in User Provisioning option for the 'Groups' parameter;
  • Click on "+" to create the custom parameters that are required for SAML assertions and user provisioning such as user_name, user_lastname, user_email, and user_mobile:

When adding a parameter, make sure to mark both the Include in SAML assertion and Include in User Provisioning options.

  • Add a 'group' parameter that matches user roles in OneLogin. User roles will be passed as a string, separated by a semicolon ;. The OneLogin user roles will be the used for creating user groups in Zabbix:

Verify the list of parameters:

5. In the Rules page, create user role mappings to the default Groups parameter.

You may use a regular expression to pass specific roles as groups. The role names should not contain ; as OneLogin uses it as a separator when sending an attribute with several roles.

Configuración de Zabbix

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

Campo Zabbix Campo de configuración en OneLogin Valor de muestra
ID de entidad IdP URL del emisor
(consulte la pestaña SSO de su aplicación en OneLogin)
URL del servicio SSO Punto final SAML 2.0 (HTTP)
(consulte la pestaña SSO de su aplicación en OneLogin)
URL del servicio SLO Punto final de SLO (HTTP)
(consulte la pestaña SSO de su aplicación en OneLogin)
Atributo de nombre de usuario Parámetro personalizado user_email
Atributo de nombre de grupo Parámetro personalizado group
Atributo de nombre de usuario Parámetro personalizado user_name
Atributo de apellido de usuario Parámetro personalizado user_lastname

También es necesario configurar la asignación de grupos de usuarios. El mapeo de medios es opcional. Haga clic en Actualizar para guardar esta configuración.

2. Descargue el certificado proporcionado por OneLogin y colóquelo en conf/certs de la instalación del frontend de Zabbix, como idp.crt.

Establezca permisos 644 ejecutando:

chmod 644 idp.crt

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

Es posible utilizar un nombre y una ubicación de certificado diferentes. En ese caso, asegúrese de agregar a conf/zabbix.conf.php la siguiente línea:

$SSO['IDP_CERT'] = 'path/to/certname.crt';

Aprovisionamiento de usuarios SCIM

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

Por ejemplo, puede crear un nuevo usuario:

Agréguelo a una función de usuario y a la aplicación que aprovisionará al usuario:

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

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