Áú»¢¶Ä²©

Esta es una traducci¨®n de la p¨¢gina de »å´Ç³¦³Ü³¾±ð²Ô³Ù²¹³¦¾±¨®²Ô original en espa?ol. Ay¨²danos a mejorarla.

3 SAML

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô general

La ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô SAML 2.0 se puede utilizar para iniciar sesi¨®n en Áú»¢¶Ä²©.

Si solo se configura el inicio de sesi¨®n SAML, entonces el usuario tambi¨¦n debe existir en Áú»¢¶Ä²©; sin embargo, no se utilizar¨¢ su contrase?a de Áú»¢¶Ä²©. Si la ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô es exitosa, Áú»¢¶Ä²© buscar¨¢ la coincidencia con un nombre de usuario local con el atributo de nombre de usuario devuelto por SAML.

Aprovisionamiento de usuarios

Es posible configurar aprovisionamiento de usuarios JIT (justo a tiempo) para usuarios SAML. En este caso, no es necesario que ya exista un usuario en Áú»¢¶Ä²©. La cuenta de usuario se puede crear cuando el usuario inicia sesi¨®n en Áú»¢¶Ä²© por primera vez.

Si el aprovisionamiento JIT est¨¢ habilitado, se debe especificar un grupo de usuarios para los usuarios dados de baja en la pesta?a ´¡³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô.

Adem¨¢s del aprovisionamiento JIT, tambi¨¦n es posible habilitar y configurar el aprovisionamiento SCIM (Sistema para la gesti¨®n de identidades entre dominios): gesti¨®n continua de cuentas de usuario. para aquellos usuarios que han sido creados mediante el aprovisionamiento de usuarios. El aprovisionamiento SCIM requiere un token API de Áú»¢¶Ä²© (con permisos de superadministrador) para la ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô en Áú»¢¶Ä²©.

Por ejemplo, si un usuario se mueve de un grupo SAML a otro, el usuario tambi¨¦n se mover¨¢ de un grupo a otro en Áú»¢¶Ä²©; Si un usuario es eliminado de un grupo SAML, el usuario tambi¨¦n ser¨¢ eliminado del grupo en Áú»¢¶Ä²© y, si no pertenece a ning¨²n otro grupo, se agregar¨¢ al grupo de usuarios para usuarios dados de baja.

Si SCIM est¨¢ habilitado y configurado, se aprovisionar¨¢ un usuario SAML en el momento en que el usuario inicie sesi¨®n en Áú»¢¶Ä²© y se actualizar¨¢ continuamente en funci¨®n de los cambios en SAML. Los usuarios SAML ya existentes no se aprovisionar¨¢n y solo se actualizar¨¢n los usuarios aprovisionados. Tenga en cuenta que solo se agregar¨¢n medios v¨¢lidos a un usuario cuando el usuario sea aprovisionado o actualizado.

Si SCIM no est¨¢ habilitado, se aprovisionar¨¢ un usuario SAML (y luego se actualizar¨¢) en el momento en que el usuario inicie sesi¨®n en Áú»¢¶Ä²©.

Si la ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô SAML est¨¢ habilitada, los usuarios podr¨¢n elegir entre iniciar sesi¨®n localmente o mediante el inicio de sesi¨®n ¨²nico SAML. Si se utiliza el aprovisionamiento JIT, solo es posible el inicio de sesi¨®n ¨²nico.

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del proveedor de identidad

Para trabajar con Áú»¢¶Ä²©, un proveedor de identidad SAML (, , , etc.) debe configurarse de la siguiente manera:

  • La URL del consumidor de aserci¨®n debe establecerse en <ruta_a_zabbix_ui>/index_sso.php?acs
  • La URL de cierre de sesi¨®n ¨²nica debe configurarse en <ruta_a_zabbix_ui>/index_sso.php?sls

<ruta_a_zabbix_ui> ejemplos: https://example.com/zabbix/ui, http://otro.ejemplo.com/zabbix, ³ó³Ù³Ù±è://&±ô³Ù;³¦³Ü²¹±ô±ç³Ü¾±±ð°ù³å»å¾±°ù±ð³¦³¦¾±¨®²Ô³å¾±±è³å±è¨²²ú±ô¾±³¦²¹&²µ³Ù;/³ú²¹²ú²ú¾±³æ

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô de Áú»¢¶Ä²©

Es necesario instalar php-openssl si desea utilizar la ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô SAML en el frontend.

Para utilizar la ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô SAML, Áú»¢¶Ä²© debe configurarse de la siguiente manera:

1. La clave privada y el certificado deben almacenarse en ui/conf/certs/, a menos que se proporcionen rutas personalizadas en zabbix.conf.php.

De forma predeterminada, Áú»¢¶Ä²© buscar¨¢ en las siguientes ubicaciones:

  • ui/conf/certs/sp.key - Archivo de clave privada SP
  • ui/conf/certs/sp.crt - Archivo de certificado SP
  • ui/conf/certs/idp.crt - Archivo de certificado IDP

2. Todos los ajustes m¨¢s importantes se pueden configurar en la interfaz de Áú»¢¶Ä²©. Sin embargo, es posible especificar configuraciones adicionales en el archivo de configuraci¨®n.

±Ê²¹°ù¨¢³¾±ð³Ù°ù´Çs de configuraci¨®n, disponibles en el frontend de Áú»¢¶Ä²©:

±Ê²¹°ù¨¢³¾±ð³Ù°ù´Ç ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
Habilitar ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô SAML Marque la casilla de verificaci¨®n para habilitar la ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô SAML.
Habilitar aprovisionamiento JIT Marque la casilla de verificaci¨®n para habilitar el aprovisionamiento de usuarios JIT.
IDP entity ID El identificador de entidad ¨²nico dentro del proveedor de identidad SAML.
URL del servicio SSO La URL a la que se redirigir¨¢ a los usuarios al iniciar sesi¨®n.
URL del servicio SLO La URL a la que se redirigir¨¢ a los usuarios al cerrar sesi¨®n. Si se deja vac¨ªo, no se utilizar¨¢ el servicio SLO.
Atributo de nombre de usuario Atributo SAML que se utilizar¨¢ como nombre de usuario al iniciar sesi¨®n en Áú»¢¶Ä²©.
La lista de valores admitidos la determina el proveedor de identidad.

Ejemplos:
uid
userprincipalname
samaccountname
username
userusername
urn:oid:0.9.2342.19200300.100.1.1
urn:oid:1.3.6.1.4.1.5923.1.1.1.13
urn:oid:0.9.2342.19200300.100.1.44
ID de entidad SP El identificador ¨²nico del proveedor de servicios (si no coincide, se rechazar¨¢ la operaci¨®n).
Es posible especificar una URL o cualquier cadena de datos.
Formato de ID de nombre de SP Define qu¨¦ formato de identificador de nombre se debe utilizar.

Ejemplos:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
urn:oasis:names:tc:SAML:2.0:nameid-format:entity
Firma Marque las casillas de verificaci¨®n para seleccionar las entidades para las que se debe habilitar la firma SAML:
Mensajes
Afirmaciones
Solicitudes de ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®²Ô
Solicitudes de cierre de sesi¨®n
Respuestas de cierre de sesi¨®n
Encriptar Marque las casillas de verificaci¨®n para seleccionar las entidades para las que se debe habilitar el cifrado SAML:
ID de nombre
Afirmaciones
Inicio de sesi¨®n con distinci¨®n entre may¨²sculas y min¨²sculas Marque la casilla de verificaci¨®n para habilitar el inicio de sesi¨®n con distinci¨®n entre may¨²sculas y min¨²sculas (deshabilitado de forma predeterminada) para los nombres de usuario.
Por ejemplo, deshabilite el inicio de sesi¨®n con distinci¨®n entre may¨²sculas y min¨²sculas e inicie sesi¨®n con, por ejemplo, el usuario 'ADMIN' incluso si el usuario de Áú»¢¶Ä²© es 'Admin'.
Nota que con el inicio de sesi¨®n con distinci¨®n entre may¨²sculas y min¨²sculas deshabilitado, se denegar¨¢ el inicio de sesi¨®n si existen varios usuarios en la base de datos de Áú»¢¶Ä²© con nombres de usuario similares (por ejemplo, Admin, admin).
Configurar aprovisionamiento JIT Marque esta casilla de verificaci¨®n para mostrar las opciones relacionadas con el aprovisionamiento de usuarios JIT.
Atributo de nombre de grupo Especifique el atributo de nombre de grupo para el aprovisionamiento de usuarios JIT.
Atributo de nombre de usuario Especifique el atributo de nombre de usuario para el aprovisionamiento de usuarios JIT.
Atributo de apellido de usuario Especifique el atributo de apellido de usuario para el aprovisionamiento de usuarios JIT.
Mapeo de grupos de usuarios Mapee un patr¨®n de grupo de usuarios SAML con el grupo de usuarios de Áú»¢¶Ä²© y el rol de usuario.
Esto es necesario para determinar qu¨¦ grupo de usuarios/rol obtendr¨¢ el usuario aprovisionado en Áú»¢¶Ä²©.
Haga clic en Agregar para agregar un mapeo.
El campo Patr¨®n de grupo SAML admite comodines. El nombre del grupo debe coincidir con un grupo existente.
Si un usuario SAML coincide con varios grupos de usuarios de Áú»¢¶Ä²©, el usuario se convierte en miembro de todos ellos.
Si un usuario coincide con varios roles de usuario de Áú»¢¶Ä²©, el usuario obtendr¨¢ el nivel de permiso m¨¢s alto entre ellos.
Mapeo de tipo de medio Mapee los atributos de medio SAML del usuario (por ejemplo, correo electr¨®nico) con el medio del usuario de Áú»¢¶Ä²© para enviar notificaciones.
Habilitar aprovisionamiento SCIM Marque esta casilla de verificaci¨®n para habilitar el aprovisionamiento SCIM 2.0.

Vea ejemplos de configuraci¨®n de proveedores de identidad SAML para el inicio de sesi¨®n y el aprovisionamiento de usuarios en Áú»¢¶Ä²© con:

Notas sobre el aprovisionamiento SCIM

Para el aprovisionamiento SCIM, especifique la ruta a la interfaz de Áú»¢¶Ä²© y a?¨¢dale api_scim.php, en el lado del proveedor de identidad, es decir:

https://<tu-url-zabbix>/api_scim.php

Los atributos de usuario que se utilizan en Áú»¢¶Ä²© (usuario, nombre de usuario, apellido de usuario y atributos multimedia) deben agregarse como atributos personalizados y, si es necesario, el espacio de nombres externo debe ser el mismo que el esquema de usuario: urn:ietf:params:scim:schemas:core:2.0:User.

Ajustes avanzados

Se pueden configurar par¨¢metros SAML adicionales en el archivo de configuraci¨®n de la interfaz de Áú»¢¶Ä²© (zabbix.conf.php):

  • $SSO['SP_KEY'] = '<ruta al archivo de clave privada del SP>';
  • $SSO['SP_CERT'] = '<ruta al archivo de certificado SP>';
  • $SSO['IDP_CERT'] = '<ruta al archivo del certificado IDP>';
  • $SSO['SETTINGS']

Áú»¢¶Ä²© utiliza la biblioteca del (versi¨®n 3.4.1). La estructura de la secci¨®n $SSO['SETTINGS'] debe ser una estructura similar a la utilizada por la biblioteca. Para la descripci¨®n de las opciones de configuraci¨®n, ver ls de la biblioteca oficial.

Solo las siguientes opciones se pueden configurar como parte de $SSO['SETTINGS']:

  • strict
  • baseurl
  • compress
  • contactPerson
  • organization
  • sp (solo opciones especificadas en esta lista)
    • attributeConsumingService
    • x509certNew
  • idp (solo opciones especificadas en esta lista)
    • singleLogoutService (s¨®lo una opci¨®n)
    • responseUrl
    • certFingerprint
    • certFingerprintAlgorithm
    • x509certMulti
  • security (solo opciones especificadas en esta lista)
    • signMetadata
    • wantNameId
    • requestedAuthnContext
    • requestedAuthnContextComparison
    • wantXMLValidation
    • relaxDestinationValidation
    • destinationStrictlyMatches
    • rejectUnsolicitedResponsesWithInResponseTo
    • signatureAlgorithm
    • digestAlgorithm
    • lowercaseUrlencoding

Todas las dem¨¢s opciones se tomar¨¢n de la base de datos y no se pueden reemplazar. La opci¨®n debug ser¨¢ ignorada.

Adem¨¢s, si la interfaz de usuario de Áú»¢¶Ä²© est¨¢ detr¨¢s de un proxy o un balanceador de carga, se puede utilizar la opci¨®n personalizada use_proxy_headers:

  • false (predeterminado): ignora la opci¨®n;
  • true: utilice encabezados HTTP X-Forwarded-* para crear la URL base.

Si utiliza un balanceador de carga para conectarse a la instancia de Áú»¢¶Ä²©, donde el balanceador de carga usa TLS/SSL y Áú»¢¶Ä²© no, debe indicar los par¨¢metros 'baseurl', 'strict' y 'use_proxy_headers' de la siguiente manera:

$SSO['SETTINGS']=['strict' => false, 'baseurl' => "https://zabbix.example.com/zabbix/", 'use_proxy_headers' => true]

Ejemplo de configuraci¨®n:

$SSO['SETTINGS'] = [
           'security' => [
               'signatureAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384'
               'digestAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#sha384',
               //...
           ],
           //...
       ];
Frontend configuration with Kerberos/ADFS

The Áú»¢¶Ä²© frontend configuration file (zabbix.conf.php) can be used to configure SSO with Kerberos authentication and ADFS:

$SSO['SETTINGS'] = [
           'security' => [
               'requestedAuthnContext' => [
                   'urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos',
               ],
               'requestedAuthnContextComparison' => 'exact'
           ]
       ]; 

In this case, in the SAML configuration SP name ID field set:

urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified