L'autenticació SAML 2.0 es pot emprar per iniciar la sessió a Zabbix.
Si només es configura l'inici de sessió SAML, l'usuari també ha d'existir a Zabbix, però no s'emprarà el seu mot de pas de Zabbix. Si l'autenticació té èxit, Zabbix farà coincidir un nom d'usuari local amb l'atribut de nom d'usuari retornat per SAML.
É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 Zabbix. El compte d'usuari es pot crear quan l'usuari inicia sessió a Zabbix per primer cop.
Si l'aprovisionament JIT és habilitat, s'ha d'especificar un grup d'usuaris per als usuaris desaprovisionats a la pestanya Autenticació.
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 Zabbix (amb permisos de superadministrador) per autenticar-se a Zabbix.
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 Zabbix; si s'esborra un usuari d'un grup SAML, l'usuari també s'esborrarà del grup a Zabbix 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 Zabbix 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 Zabbix.
Si l'autenticació 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.
Per treballar amb Zabbix, un proveïdor d'identitat SAML (onelogin.com, auth0.com, okta.com, etc.) s'hauria de configurar de la següent manera:
<path_to_zabbix_ui>/index_sso.php?acs
<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
Cal instal·lar php-openssl si voleu emprar l'autenticació SAML a la interfície.
Per emprar l'autenticació SAML, Zabbix 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, Zabbix buscarà a les ubicacions següents:
2. Tots els paràmetres més importants es poden configurar a la interfície de Zabbix. Tanmateix, és possible especificar paràmetres addicionals al fitxer de configuració.
Paràmetres de configuració, disponibles a la interfície de Zabbix:
Paràmetre | Descripció |
---|---|
Activa l'autenticació SAML | Marqueu la casella de selecció per habilitar l'autenticació 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 Zabbix. 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. |
Format d'identificador de nom de SP | Defineix quin format d'identificador de nom s'ha d'emprar. Exemples: 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> |
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'autenticació 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 Zabbix 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 Zabbix 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 Zabbix i al rol d'usuari. Això és necessari per determinar quin grup/rol d'usuaris obtindrà l'usuari subministrat a Zabbix. 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 Zabbix, l'usuari esdevé membre de tots ells. Si un usuari coincideix amb diversos rols d'usuari de Zabbix, 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 Zabbix 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 Zabbix amb:
Per a l'aprovisionament SCIM, especifiqueu el camí a la interfície Zabbix i afegiu-hi api_scim.php, al costat del proveïdor d'identitat, és a dir:
Els atributs d'usuari que s'empren a Zabbix (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
.
Es poden configurar paràmetres SAML addicionals al fitxer de configuració de la interfície de Zabbix (zabbix.conf.php):
Zabbix empra la biblioteca kit d'eines SAML PHP de OneLogin (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 documentació de la biblioteca oficial.
Només es poden definir les opcions següents com a part de $SSO['SETTINGS']:
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 Zabbix és darrere d'un proxy o d'un equilibrador de càrrega, es pot emprar l'opció personalitzada use_proxy_headers:
Si empreu un equilibrador de càrrega per connectar-vos a la instància de Zabbix, on l'equilibrador de càrrega empra TLS/SSL i Zabbix 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ó: