Esta sección proporciona pautas para configurar el inicio de sesión único y el aprovisionamiento de usuarios en Zabbix desde OneLogin utilizando la autenticación SAML 2.0.
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 adecuada. 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 comenzar, puede 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.
1. En Configuración -> Detalles de la aplicación, establezca el punto final de inicio de sesión único de Zabbix http://<zabbix-instance-url>/zabbix/index_sso.php?acs como el valor de estos campos:
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 utilizar "https". Para que eso funcione con Zabbix, es necesario agregar a conf/zabbix.conf.php la siguiente línea:
$SSO['SETTINGS'] = ['use_proxy_headers' => true];
Deje las otras opciones con sus valores predeterminados.
2. En Configuración -> Conexión API, establezca los siguientes valores:
https://<zabbix-instance-url>/zabbix/api_scim.phpuser_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 diferentes nombres de atributos; sin embargo, es necesario que coincidan con el valor del campo respectivo en la configuración de Zabbix SAML.
Tenga en cuenta que para que funcione el aprovisionamiento de usuarios, OneLogin debe recibir como respuesta un atributo de '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.
Haga clic en Activar para activar la conexión.

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

4. La página Parámetros contiene una lista de parámetros predeterminados:
nombre_usuario, apellido_usuario, correo electrónico_usuario y usuario_móvil:
Al agregar un parámetro, asegúrese de marcar las opciones Incluir en aserción SAML e Incluir en aprovisionamiento de usuarios.
;. 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 Grupos predeterminado.

Puede utilizar una expresión regular para pasar roles específicos como grupos. Los nombres de los roles no deben contener ; ya que OneLogin lo usa como separador cuando envía un atributo con varios roles.
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. Descargue el certificado proporcionado por OneLogin y colóquelo en conf/certs de la instalación del frontend de Zabbix, como idp.crt.
Asígnele permisos 644 ejecutando:
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 ubicación de certificado diferente. En ese caso, asegúrese de agregar la siguiente línea a conf/zabbix.conf.php:
$SSO['IDP_CERT'] = 'ruta/al/nombrecert.crt';
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:

Agregue el usuario a un rol y a la aplicación que lo aprovisionará:

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 aparecerá en la lista de usuarios de Zabbix.
