12 Configuración de SAML con Okta

Esta sección proporciona pautas para configurar Okta para habilitar la autenticación SAML 2.0 y el aprovisionamiento de usuarios para Zabbix.

Configuración Okta

1. Vaya a https://developer.okta.com/signup/ y regístrese/inicie sesión en su cuenta.

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

3. Haga clic en Crear integración de aplicaciones.

Seleccione "SAML 2.0" como método de inicio de sesión y haga clic en Siguiente.

4. En la configuración general, complete el nombre de la aplicación y haga clic en Siguiente.

5. En la configuración de SAML, ingrese los valores proporcionados a continuación, luego haga clic en Siguiente.

  • En General agregue:
    • Single sign-on URL: http://<tu-url-zabbix>/zabbix/index_sso.php?acs
      Tenga en cuenta el uso de "http" y no "https", para que el parámetro acs no se elimine en la solicitud. La casilla de verificación Usar esto para URL del destinatario y URL de destino también debe estar marcada.
    • URI de audiencia (ID de entidad SP): zabbix
      Tenga en cuenta que este valor se utilizará dentro de la aserción SAML como un identificador único de proveedor de servicios (si no coincide, la operación será rechazada). Es posible especificar una URL o cualquier cadena de datos en este campo.
    • Estado de retransmisión predeterminado:
      Deje este campo en blanco; si se requiere una redirección personalizada, puede agregarse en Zabbix en la configuración Usuarios → Usuarios.
    • Rellena otros campos según tus preferencias.
  • En Declaraciones de atributos/Declaraciones de atributos de grupo agregue:

Estas declaraciones de atributos se insertan en las aserciones SAML compartidas con Zabbix.

Los nombres de atributos utilizados aquí son ejemplos arbitrarios. Puede utilizar diferentes nombres de atributos; sin embargo, es necesario que coincidan con el valor del campo respectivo en la configuración de Zabbix SAML.

Si desea configurar el inicio de sesión SAML en Zabbix sin aprovisionamiento de usuarios JIT, entonces solo se requiere el atributo de correo electrónico.

Si planea utilizar una conexión cifrada, genere la conexión privada y certificados de cifrado públicos, luego cargue el certificado público en Okta. El formulario de carga del certificado aparece cuando Asertion Encryption está configurado en "Cifrado" (haga clic en Mostrar configuración avanzada para encontrar este parámetro).

6. En la siguiente pestaña, seleccione "Soy un proveedor de software. Me gustaría integrar mi aplicación con Okta" y presionar "Finalizar".

7. Navegue a la pestaña "Asignaciones" de la aplicación recién creada. y haga clic en el botón Asignar, luego seleccione "Asignar a personas" en el menú desplegable.

8. En una ventana emergente que aparece, asigne la aplicación a las personas que usarán SAML 2.0 para autenticarse con Zabbix, luego haga clic en Guardar y regresar.

9. Navegue a la pestaña "Iniciar sesión" y haga clic en el botón Ver Instrucciones de configuración .

Las instrucciones de configuración se abrirán en una nueva pestaña; mantenga esta pestaña abierta mientras configura Zabbix.

Configuración de Zabbix

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

Campo Zabbix Campo de configuración en Okta Valor de muestra
ID de entidad IdP Emisor del proveedor de identidad
URL del servicio SSO URL de inicio de sesión único del proveedor de identidad
Atributo de nombre de usuario Nombre de atributo usrEmail
ID de entidad SP URI de audiencia zabbix
Atributo de nombre de grupo Nombre de atributo grupos
Atributo de nombre de usuario Nombre de atributo user_name
Atributo de apellido de usuario Nombre de atributo user_lastname

También es necesario configurar el grupo de usuarios y la asignación de medios.

2. Descargue el certificado proporcionado en las instrucciones de configuración de Okta SAML en la carpeta ui/conf/certs como idp.crt.

Establezca permisos 644 ejecutando:

chmod 644 idp.crt

3. Si Assertion Encryption se ha configurado en "Cifrado" en Okta, la casilla de verificación "Aserciones" del parámetro Encrypt debe estar marcada también en Zabbix .

4. Presione el botón "Actualizar" para guardar esta configuración.

Aprovisionamiento SCIM

1. Para activar el aprovisionamiento SCIM, vaya a "General" -> "Configuración de la aplicación" de la aplicación en Okta.

Marque la casilla de verificación Habilitar aprovisionamiento SCIM. Como resultado, aparece una nueva pestaña Aprovisionamiento.

2. Vaya a la pestaña "Aprovisionamiento" para configurar una conexión SCIM:

  • En URL base del conector SCIM especifique la ruta a la interfaz de Zabbix y añádale api_scim.php, es decir:
    https://<tu-url-zabbix>/zabbix/api_scim.php
  • Campo de identificador único para usuarios: email
  • Modo de autenticación: Encabezado HTTP
  • En Autorización ingrese un token API válido con derechos de superadministrador

Si está utilizando Apache, es posible que deba cambiar la configuración predeterminada de Apache en /etc/apache2/apache2.conf agregando la siguiente línea:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

De lo contrario, Apache no envía el encabezado de Autorización en la solicitud.

3. Haga clic en Probar configuración del conector para probar la conexión. Si todo es correcto se mostrará un mensaje de éxito.

4. En "Aprovisionamiento" -> "A la aplicación", asegúrese de marcar las siguientes casillas de verificación:

  • Crear usuarios
  • Actualizar atributos de usuario
  • Desactivar usuarios

Esto asegurará que estos tipos de solicitudes se envíen a Zabbix.

5. Asegúrese de que todos los atributos definidos en SAML estén definidos en SCIM. Puede acceder al editor de perfiles de su aplicación en "Aprovisionamiento" -> "A la aplicación", haciendo clic en Ir al editor de perfiles.

Haga clic en Agregar atributo. Complete los valores de Nombre para mostrar, Nombre de variable, Nombre externo con el nombre del atributo SAML, por ejemplo, nombre_usuario.

El espacio de nombres externo debe ser el mismo que el esquema de usuario: urn:ietf:params:scim:schemas:core:2.0:User

6. Vaya a "Aprovisionamiento" -> "A la aplicación" -> "Asignaciones de atributos" de su aplicación. Haga clic en Mostrar atributos no asignados en la parte inferior. Aparecen los atributos recién agregados.

7. Asigne cada atributo agregado.

8. Agregue usuarios en la pestaña "Asignaciones". Los usuarios previamente deben ser agregados en Directorio -> Personas. Todas estas asignaciones se enviarán como solicitudes a Zabbix.

9. Agregue grupos en la pestaña "Grupos Push". El patrón de asignación de grupos de usuarios en la configuración de Zabbix SAML debe coincidir con un grupo especificado aquí. Si no hay coincidencia, el usuario no se puede crear en Zabbix.

La información sobre los miembros del grupo se envía cada vez que se realiza algún cambio.