Áú»¢¶Ä²©

3 SAML

Vista general

L'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® SAML 2.0 es pot emprar per iniciar la sessi¨® a Áú»¢¶Ä²©.

Si nom¨¦s es configura l'inici de sessi¨® SAML, l'usuari tamb¨¦ ha d'existir a Áú»¢¶Ä²©, per¨° no s'emprar¨¤ el seu mot de pas de Áú»¢¶Ä²©. Si l'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® t¨¦ ¨¨xit, Áú»¢¶Ä²© far¨¤ coincidir un nom d'usuari local amb l'atribut de nom d'usuari retornat per SAML.

Aprovisionament d'usuaris

?s possible configurar l'aprovisionament d'usuaris JIT (just a temps) per als usuaris de SAML. En aquest cas, no ¨¦s necessari que ja existeixi un usuari a Áú»¢¶Ä²©. El compte d'usuari es pot crear quan l'usuari inicia sessi¨® a Áú»¢¶Ä²© per primer cop.

Si l'aprovisionament JIT ¨¦s habilitat, s'ha d'especificar un grup d'usuaris per als usuaris desaprovisionats a la pestanya ´¡³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®.

A m¨¦s de l'aprovisionament JIT, tamb¨¦ ¨¦s possible habilitar i configurar l'aprovisionament SCIM (Sistema per a la gesti¨® d'identitats entre dominis) - gesti¨® de comptes d'usuari continuar per a aquells usuaris que s'han creat mitjan?ant l'aprovisionament d'usuaris. El subministrament SCIM requereix un token API de Áú»¢¶Ä²© (amb permisos de superadministrador) per autenticar-se a Áú»¢¶Ä²©.

Per exemple, si un usuari es mou d'un grup SAML a un altre, l'usuari tamb¨¦ es mour¨¤ d'un grup a un altre a Áú»¢¶Ä²©; si s'esborra un usuari d'un grup SAML, l'usuari tamb¨¦ s'esborrar¨¤ del grup a Áú»¢¶Ä²© i, si no pertany a cap altre grup, s'afegir¨¤ al grup d'usuaris per als usuaris desprovisionats.

Si SCIM ¨¦s habilitat i configurat, s'aprovisionar¨¤ un usuari SAML en el moment que l'usuari inici? sessi¨® a Áú»¢¶Ä²© i s'actualitzar¨¤ cont¨ªnuament en funci¨® dels canvis a SAML. Els usuaris SAML existents no s'aprovisionaran i nom¨¦s s'actualitzaran els usuaris donats. Tingueu en compte que nom¨¦s s'afegiran suports v¨¤lids a un usuari quan l'usuari s'aprovisioni o s'actualitzi.

Si SCIM no ¨¦s habilitat, s'aprovisionar¨¤ un usuari SAML (i s'actualitzar¨¤ posteriorment) en el moment que l'usuari inici? sessi¨® a Áú»¢¶Ä²©.

Si l'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® SAML ¨¦s activada, els usuaris podran triar entre iniciar sessi¨® localment o mitjan?ant l'inici de sessi¨® ¨²nic SAML. Si s'empra el subministrament JIT, nom¨¦s ¨¦s possible l'inici de sessi¨® ¨²nic.

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del prove?dor d'identitat

Per treballar amb Áú»¢¶Ä²©, un prove?dor d'identitat SAML (, , , etc.) s'hauria de configurar de la seg¨¹ent manera:

  • L'URL del consumidor de l'afirmaci¨® s'ha d'establir a <path_to_zabbix_ui>/index_sso.php?acs
  • L'URL de sortida ¨²nica s'ha d'establir a <path_to_zabbix_ui>/index_sso.php?sls

Exemple <path_to_zabbix_ui>: https://exemple.cat/zabbix/ui, http://another.exemple.cat/zabbix, http://<any_public_ip_address>/zabbix

Configurant Áú»¢¶Ä²©

Cal instal¡¤lar php-openssl si voleu emprar l'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® SAML a la interf¨ªcie.

Per emprar l'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® SAML, Áú»¢¶Ä²© s'ha de configurar de la manera seg¨¹ent:

1. La clau privada i el certificat s'han d'emmagatzemar a ui/conf/certs/, tret que es proporcionin camins personalitzats a zabbix.conf.php.

De manera predeterminada, Áú»¢¶Ä²© buscar¨¤ a les ubicacions seg¨¹ents:

  • ui/conf/certs/sp.key - Fitxer de clau privada SP
  • ui/conf/certs/sp.crt - Fitxer de certificat SP
  • ui/conf/certs/idp.crt - Fitxer de certificat IDP

2. Tots els par¨¤metres m¨¦s importants es poden configurar a la interf¨ªcie de Áú»¢¶Ä²©. Tanmateix, ¨¦s possible especificar par¨¤metres addicionals al fitxer de configuraci¨®.

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ðs de configuraci¨®, disponibles a la interf¨ªcie de Áú»¢¶Ä²©:

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
Activa l'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® SAML Marqueu la casella de selecci¨® per habilitar l'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® SAML.
Activa el subministrament JIT Marqueu la casella de selecci¨® per habilitar el subministrament d'usuaris JIT.
ID d'entitat IDP L'identificador ¨²nic de l'entitat dins del prove?dor d'identitat SAML.
URL del servei SSO L'URL dels usuaris es redirigir¨¤ quan inici?n sessi¨®.
URL del servei SLO L'URL dels usuaris es redirigir¨¤ quan tanquin la sessi¨®. Si es deixa buit, no s'emprar¨¤ pas el servei SLO.
Atribut nom d'usuari Atribut SAML que s'emprar¨¤ com a nom d'usuari quan inicieu sessi¨® a Áú»¢¶Ä²©.
La llista de valors admesos la determina el prove?dor d'identitat.

Exemples:
uid
userprincipalname
samaccountname
nom d'usuari
nom d'usuari
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 d'entitat SP L'identificador ¨²nic del prove?dor de serveis (si no coincideix, l'operaci¨® ser¨¤ rebutjada).
?s possible especificar una URL o qualsevol cadena de dades.
SP Format ID de nom Demana un format d'ID de nom en concret a la resposta.

Exemples:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent


oasis:names:tc:SAML:2.0:nameid-format:unspecified


oasis:names:tc:SAML:2.0:nameid-format:unspecified>
Sign Marqueu les caselles de selecci¨® per triar les entitats per a les quals s'hauria d'activar la signatura SAML:
Missatges
Assercions
Peticions d'²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨®
Peticions de tancament de sessi¨®
Desconnexi¨® respostes
Xifrar Marqueu les caselles de selecci¨® per seleccionar les entitats per a les quals s'hauria d'activar el xifrat SAML:
ID de nom
Assercions
Inici de sessi¨® que distingeix entre maj¨²scules i min¨²scules Marqueu la casella de selecci¨® per habilitar l'inici de sessi¨® que distingeix entre maj¨²scules i min¨²scules (desactivat de manera predeterminada) per als noms d'usuari.
Exemple: desactiveu l'inici de sessi¨® que distingeix entre maj¨²scules i min¨²scules i inicieu sessi¨®, per exemple, amb l'usuari "ADMINISTRADOR", encara que l'usuari de Áú»¢¶Ä²© sigui "Administrador".
Tingueu en compte que amb l'inici de sessi¨® que distingeix entre maj¨²scules i min¨²scules desactivat, l'inici de sessi¨® es denegar¨¤ si hi ha diversos usuaris a Base de dades Áú»¢¶Ä²© amb noms d'usuari similars (per exemple, Admin, admin).
Configurar el subministrament JIT Marqueu aquesta casella de selecci¨® per mostrar les opcions relacionades amb el subministrament d'usuaris JIT.
Atribut del nom del grup Especifiqueu l'atribut del nom del grup per al subministrament d'usuaris JIT.
Atribut del nom d'usuari Especifiqueu l'atribut del nom d'usuari per al subministrament d'usuaris JIT.
Atribut del cognom de l'usuari Especifiqueu l'atribut del cognom de l'usuari per al subministrament d'usuaris JIT.
Mapatge de grups d'usuaris Mapeja un patr¨® de grup d'usuaris SAML al grup d'usuaris de Áú»¢¶Ä²© i al rol d'usuari.
Aix¨° ¨¦s necessari per determinar quin grup/rol d'usuaris obtindr¨¤ l'usuari subministrat a Áú»¢¶Ä²©.
Fes clic a Afegeix per afegir una assignaci¨®.
El camp patr¨® de grup SAML admet comodins. El nom del grup ha de coincidir amb un grup existent.
Si un usuari de SAML coincideix amb diversos grups d'usuaris de Áú»¢¶Ä²©, l'usuari esdev¨¦ membre de tots ells.
Si un usuari coincideix amb diversos rols d'usuari de Áú»¢¶Ä²©, l'usuari obtindr¨¤ el m¨¤xim nivell de perm¨ªs entre ells.
Mapatge de tipus de suport Mapeja els atributs de suports SAML de l'usuari (per exemple, correu electr¨°nic) als suports d'usuari de Áú»¢¶Ä²© per enviar notificacions.
Activa l'aprovisionament de SCIM Marqueu aquesta casella de selecci¨® per habilitar l'aprovisionament de SCIM 2.0.

Veieu exemples de configuraci¨® de prove?dors d'identitat SAML per iniciar la sessi¨® i subministrar usuaris a Áú»¢¶Ä²© amb:

Notes per l'aprovisionament SCIM

Per a l'aprovisionament SCIM, especifiqueu el cam¨ª a la interf¨ªcie Áú»¢¶Ä²© i afegiu-hi api_scim.php, al costat del prove?dor d'identitat, ¨¦s a dir:

 https://<ruta-al-zabbix-ui>/api_scim.php

Els atributs d'usuari que s'empren a Áú»¢¶Ä²© (nom d'usuari, nom d'usuari, cognom de l'usuari i atributs multim¨¨dia) s'han d'afegir com a atributs personalitzats i, si cal, l'espai de noms extern hauria de ser el mateix que l'esquema d'usuari: urn:ietf:params:scim: schemas:core:2.0:User.

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® avan?ada

Es poden configurar par¨¤metres SAML addicionals al fitxer de configuraci¨® de la interf¨ªcie de Áú»¢¶Ä²© (zabbix.conf.php):

  • $SSO['SP_KEY'] = '<cam¨ª al fitxer de clau privada SP>';
  • $SSO['SP_CERT'] = '<cam¨ª al fitxer de certificat SP>';
  • $SSO['IDP_CERT'] = '<cam¨ª al fitxer de certificat IDP>';
  • $SSO['SETTINGS']

Áú»¢¶Ä²© empra la biblioteca (versi¨® 3.4.1). L'estructura de la secci¨® $SSO['SETTINGS'] hauria de ser similar a l'estructura emprada per la biblioteca. Per a la descripci¨® de les opcions de configuraci¨®, veieu la de la biblioteca oficial.

Nom¨¦s es poden definir les opcions seg¨¹ents com a part de $SSO['SETTINGS']:

  • strict
  • baseurl
  • compress
  • contactPerson
  • organization
  • sp (nom¨¦s les opcions especificades en aquesta llista)
    • attributeConsumingService
    • x509certNew
  • idp (nom¨¦s les opcions especificades en aquesta llista)
    • singleLogoutService (nom¨¦s una opci¨®)
      • responseUrl
    • certFingerprint
    • certFingerprintAlgorithm
    • x509certMulti
  • security (nom¨¦s les opcions especificades en aquesta llista)
    • signMetadata
    • wantNameId
    • requestedAuthnContext
    • requestedAuthnContextComparison
    • wantXMLValidation
    • relaxDestinationValidation
    • destinationStrictlyMatches
    • rejectUnsolicitedResponsesWithInResponseTo
    • signatureAlgorithm
    • digestAlgorithm
    • lowercaseUrlencoding

Totes les altres opcions seran extretes de la base de dades i no es poden anul¡¤lar. L'opci¨® debug ser¨¤ ignorada.

A m¨¦s, si la interf¨ªcie d'usuari de Áú»¢¶Ä²© ¨¦s darrere d'un proxy o d'un equilibrador de c¨¤rrega, es pot emprar l'opci¨® personalitzada use_proxy_headers:

  • fals (per defecte) - ignora l'opci¨®;
  • cert - empreu les cap?aleres HTTP X-Forwarded-* per crear l'URL base.

Si empreu un equilibrador de c¨¤rrega per connectar-vos a la inst¨¤ncia de Áú»¢¶Ä²©, on l'equilibrador de c¨¤rrega empra TLS/SSL i Áú»¢¶Ä²© no, heu d'indicar els par¨¤metres "baseurl", "strict" i "use_proxy_headers" de la manera seg¨¹ent:

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

Exemple de configuraci¨®:

$SSO['SETTINGS'] = [
           'security' => [
               'signatureAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384'
               'digestAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#sha384',
               // ...
           ],
           // ...
       ];
°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de la interf¨ªcie amb Kerberos/ADFS

El fitxer de configuraci¨® de la interf¨ªcie de Áú»¢¶Ä²© (zabbix.conf.php) es pot utilitzar per configurar SSO amb ²¹³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® Kerberos i ADFS:

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

En aquest cas, al camp de configuraci¨® de SAML ID de nom d'SP es defineix:

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