14 SAML iestatīšana ar OneLogin

Pārskats

Šajā sadaļā ir sniegtas vadlīnijas vienotās pierakstīšanās un lietotāju nodrošināšanas konfigurēšanai Zabbix no OneLogin, izmantojot SAML 2.0 autentifikāciju.

OneLogin konfigurācija

Lietotnes izveide

1. Piesakieties savā OneLogin kontā. Testēšanas nolūkos varat izveidot bezmaksas izstrādātāja kontu OneLogin.

2. OneLogin lietotāja saskarnē pārejiet uz Applications → Applications.

3. Noklikšķiniet uz "Add App" un meklējiet atbilstošo lietotni. Šajā lapā sniegtās vadlīnijas ir balstītas uz SCIM Provisioner with SAML (SCIM v2 Enterprise, full SAML) lietotnes piemēru.

4. Vispirms, iespējams, vēlēsities pielāgot savas lietotnes attēlojamo nosaukumu. Varat arī pievienot ikonu un lietotnes informāciju. Pēc tam noklikšķiniet uz Save.

SSO/SCIM nodrošināšanas iestatīšana

1. Sadaļā Configuration -> Application details kā šo lauku vērtību iestatiet Zabbix vienreizējās pierakstīšanās galapunktu http://<zabbix-instance-url>/zabbix/index_sso.php?acs:

  • ACS (Consumer) URL Validator
  • ACS (Consumer) URL

Ņemiet vērā, ka jāizmanto "http", nevis "https", lai pieprasījumā netiktu nogriezts parametrs acs.

Ir iespējams izmantot arī "https". Lai tas darbotos ar Zabbix, failā conf/zabbix.conf.php ir jāpievieno šāda rinda:

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

Pārējām opcijām atstājiet noklusējuma vērtības.

2. Sadaļā Configuration -> API connection iestatiet šādas vērtības:

  • SCIM Base URL: https://<zabbix-instance-url>/zabbix/api_scim.php
  • SCIM JSON Template: tajā jāietver visi pielāgotie atribūti, kurus vēlaties nodot Zabbix, izmantojot SCIM, piemēram, user_name, user_lastname, user_email un 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}"
}

Atribūtu nosaukumi ir brīvi izvēlami. Var izmantot arī citus atribūtu nosaukumus, tomēr tiem ir jāsakrīt ar attiecīgo lauka vērtību Zabbix SAML iestatījumos.

Ņemiet vērā, ka, lai lietotāju nodrošināšana darbotos, OneLogin atbildē ir jāsaņem atribūts 'name' ar 'givenName' un 'familyName', pat ja pakalpojuma sniedzējs to neprasīja. Tāpēc ir nepieciešams to norādīt shēmā lietotnes konfigurācijas daļā.

  • SCIM Bearer Token: ievadiet Zabbix API marķieri ar Super admin tiesībām.

Noklikšķiniet uz Enable, lai aktivizētu savienojumu.

3. Lapā Provisioning iespējojiet Provisioning opciju:

4. Lapā Parameters ir noklusējuma parametru saraksts:

  • Pārliecinieties, ka 'scimusername' atbilst lietotāja pieteikšanās vērtībai OneLogin (piem., e-pastam);
  • Atzīmējiet opciju Include in User Provisioning parametram 'Groups';
  • Noklikšķiniet uz "+" , lai izveidotu pielāgotos parametrus, kas nepieciešami SAML apgalvojumiem un lietotāju nodrošināšanai, piemēram, user_name, user_lastname, user_email un user_mobile:

Pievienojot parametru, pārliecinieties, ka ir atzīmētas gan opcija Include in SAML assertion, gan Include in User Provisioning.

  • Pievienojiet 'group' parametru, kas atbilst lietotāju lomām OneLogin. Lietotāju lomas tiks nodotas kā virkne, kas atdalīta ar semikolu ;. OneLogin lietotāju lomas tiks izmantotas Zabbix lietotāju grupu izveidei:

Pārbaudiet parametru sarakstu:

5. Lapā Rules izveidojiet lietotāju lomu kartējumus uz noklusējuma Groups parametru.

Varat izmantot regulāro izteiksmi, lai nodotu noteiktas lomas kā grupas. Lomu nosaukumos nedrīkst būt ;, jo OneLogin to izmanto kā atdalītāju, sūtot atribūtu ar vairākām lomām.

Zabbix konfigurācija

1. Zabbix lietotāja saskarnē atveriet SAML iestatījumus un aizpildiet konfigurācijas opcijas, pamatojoties uz OneLogin konfigurāciju:

Zabbix lauks OneLogin iestatīšanas lauks Parauga vērtība
IdP entītijas ID Issuer URL
(skatiet savas lietotnes SSO cilni OneLogin)
SSO pakalpojuma URL SAML 2.0 Endpoint (HTTP)
(skatiet savas lietotnes SSO cilni OneLogin)
SLO pakalpojuma URL SLO Endpoint (HTTP)
(skatiet savas lietotnes SSO cilni OneLogin)
Lietotājvārda atribūts Custom parameter user_email
Grupas nosaukuma atribūts Custom parameter group
Lietotāja vārda atribūts Custom parameter user_name
Lietotāja uzvārda atribūts Custom parameter user_lastname

Nepieciešams arī konfigurēt lietotāju grupu kartēšanu. Mediju kartēšana ir izvēles. Noklikšķiniet uz Update, lai saglabātu šos iestatījumus.

2. Lejupielādējiet OneLogin nodrošināto sertifikātu un ievietojiet to conf/certs Zabbix lietotāja saskarnes instalācijā kā idp.crt.

Piešķiriet tam 644 atļaujas, izpildot:

chmod 644 idp.crt

Sertifikāta lejupielādi OneLogin varat atrast sadaļā Applications -> SSO -> noklikšķiniet uz View details zem pašreizējā sertifikāta.

Ir iespējams izmantot citu sertifikāta nosaukumu un atrašanās vietu. Tādā gadījumā pārliecinieties, ka conf/zabbix.conf.php ir pievienota šāda rinda:

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

SCIM lietotāju nodrošināšana

Ja lietotāju nodrošināšana ir iespējota, tagad ir iespējams pievienot/atjaunināt lietotājus un viņu lomas OneLogin un nekavējoties nodrošināt tos Zabbix.

Piemēram, varat izveidot jaunu lietotāju:

Pievienojiet to lietotāja lomai un lietojumprogrammai, kas nodrošinās lietotāju:

Saglabājot lietotāju, tas tiks nodrošināts Zabbix. Sadaļā Application -> Users varat pārbaudīt pašreizējo lietojumprogrammas lietotāju nodrošināšanas statusu:

Ja nodrošināšana ir veiksmīga, lietotājs būs redzams Zabbix lietotāju sarakstā.