13 Configuració de SAML amb OneLogin

Vista general

Aquesta secció ofereix directrius per configurar l'inici de sessió únic i el subministrament d'usuaris a Zabbix des de OneLogin mitjançant l'autenticació SAML 2.0.

Configuració de OneLogin

Crear una aplicació

1. Inicieu sessió al vostre compte a OneLogin. Amb finalitats de prova, podeu crear un compte de desenvolupador gratuït a OneLogin.

2. A la interfície web de OneLogin, navegueu a Aplicacions → Aplicacions.

3. Feu clic a "Afegir aplicació" i cerqueu l'aplicació adequada. Les directrius d'aquesta pàgina es basen en l'exemple de l'aplicació SCIM Provisioner amb SAML (SCIM v2 Enterprise, SAML complet).

4. Per començar, és possible que vulgueu personalitzar el nom de visualització de la vostra aplicació. També podeu afegir la icona i els detalls de l'aplicació. Després d'això, feu clic a Desar.

Configuració del subministrament SSO/SCIM

1. A Configuració -> Detalls de l'aplicació, configureu el punt final d'inici de sessió únic de Zabbix http://<zabbix-instance-url>/zabbix/index_sso.php?acs com el valor d'aquests camps:

  • Validador d'URL ACS (consumidor)
  • URL ACS (consumidor)

Tingueu en compte l'ús de "http" i no de "https", de manera que el paràmetre acs no es retalla a la petició.

També és possible emprar "https". Perquè això funcioni amb Zabbix, cal afegir a conf/zabbix.conf.php la línia següent:

$SSO['SETTINGS'] = ['use_proxy_headers' => true];

Deixeu les altres opcions amb els seus valors predeterminats.

2. A Configuració -> Connexió API, establiu els valors següents:

  • URL base SCIM: https://<zabbix-instance-url>/zabbix/api_scim.php
  • SCIM JSON Template: hauria de contindre tots els atributs personalitzats que us agradaria passar a Zabbix mitjançant SCIM, com ara user_name, user_lastname, user_email i 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}"
       }

Els noms dels atributs són arbitraris. Es poden emprar diferents noms d'atributs, però cal que coincideixin amb el valor del camp respectiu a la configuració de Zabbix SAML.

Tingueu en compte que perquè el subministrament d'usuaris funcioni, OneLogin ha de rebre com a resposta un atribut name amb givenName i familyName, encara que el proveïdor de serveis no ho requereixi. Per tant, cal especificar-ho a l'esquema de la part de configuració de l'aplicació.

  • SCIM Bearer Token: introduïu un testimoni de l'API Zabbix amb permisos de superadministrador.

Feu clic a Habilitar per activar la connexió.

3. A la pàgina Aprovisionament, activeu l'opció Aprovisionament:

4. La pàgina Paràmetres conté una llista de paràmetres predeterminats:

  • Assegureu-vos que el 'scimusername' coincideixi amb el valor d'inici de sessió de l'usuari a OneLogin (per exemple, correu electrònic);
  • Marqueu l'opció Inclou a l'aprovisionament d'usuaris per al paràmetre Grups;
  • Feu clic a "+" per crear els paràmetres personalitzats necessaris per a les afirmacions SAML i el subministrament d'usuaris, com ara user_name, user_lastname, user_email i user_mobile:

Quan afegiu un paràmetre, assegureu-vos de marcar les opcions Inclou a l'asserció SAML i Inclou a l'aprovisionament d'usuari.

  • Afegiu un paràmetre "grup" que coincideixi amb els rols d'usuari a OneLogin. Els rols d'usuari es passaran com una cadena, separats per un punt i coma ;. Els rols d'usuari de OneLogin s'utilitzaran per crear grups d'usuaris a Zabbix:

Comproveu la llista de paràmetres:

5. A la pàgina Regles, creeu mapes de rols d'usuari amb el paràmetre Grups predeterminat.

Podeu emprar una expressió regular per passar rols específics com a grups. Els noms de rol no han de contindre ; ja que OneLogin l'empra com a separador quan envia un atribut amb diversos rols.

Configuració Zabbix

1. A Zabbix, aneu a Configuració SAML i ompliu les opcions de configuració basades en la configuració de OneLogin:

Camp Zabbix Camp de configuració a OneLogin Valor de mostra
ID d'entitat IdP URL de l'emissor
(veieu la pestanya SSO de la vostra aplicació a OneLogin)
URL del servei SSO Punt final SAML 2.0 (HTTP)
(veieu la pestanya SSO de la vostra aplicació a OneLogin)
URL del servei SLO SLO Endpoint (HTTP)
(veieu la pestanya SSO de la vostra aplicació a OneLogin)
Atribut nom d'usuari Paràmetre personalitzat email_usuari
Atribut del nom del grup Paràmetre personalitzat grup
Atribut del nom d'usuari Paràmetre personalitzat nom_usuari
Atribut del cognom de l'usuari Paràmetre personalitzat cognom_usuari

També és necessari per configurar l'assignació de grups d'usuaris. El mapatge de suport és opcional. Feu clic a Actualitzra per desar aquesta configuració.

2. Baixeu el certificat proporcionat per OneLogin i poseu-lo a "conf/certs" de la instal·lació frontal de Zabbix, com a idp.crt.

Establiu-hi permisos 644 executant:

 chmod 644 idp.crt

Podeu accedir a la descàrrega del certificat a OneLogin a Aplicacions -> SSO -> feu clic a Veure els detalls sota el certificat actual.

És possible emprar un nom i una ubicació de certificat diferents. En aquest cas, assegureu-vos d'afegir a conf/zabbix.conf.php la línia següent:

$SSO['IDP_CERT'] = 'path/to/certname.crt';

Aprovisionament d'usuaris SCIM

Amb l'aprovisionament d'usuaris habilitat, ara és possible afegir/actualitzar usuaris i els seus rols a OneLogin i passar-los de seguida a Zabbix.

Per exemple, podeu crear un usuari nou:

Afegir-lo a un rol d'usuari i a l'aplicació que subministrarà l'usuari:

En desar l'usuari, es lliurarà a Zabbix. A Aplicació -> Usuaris podeu comprovar l'estat de subministrament dels usuaris actuals de l'aplicació:

Si s'ha subministrat correctament, l'usuari es pot veure a la llista d'usuaris de Zabbix.