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ē dodieties 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 vienotā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: 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 patvaļīgi. Var izmantot dažādus 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 tas ir jānorāda shēmā lietotnes konfigurācijas daļā.

  • SCIM Bearer Token: ievadiet Zabbix API tokenu 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 konkrētas 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.

6. Lejupielādējiet IdP sertifikātu. Iestatiet tam 644 atļaujas, izpildot:

chmod 644 idp.crt

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

Ir arī jāiestata lietotāju grupu kartēšana. Mediju kartēšana ir izvēles. Noklikšķiniet Update, lai saglabātu šos iestatījumus.

2. Pievienojiet OneLogin nodrošināto Base64 sertifikātu.

Ja zabbix.conf.php ir iestatīts $SSO['CERT_STORAGE'] = 'database', sertifikāta tekstu varat ielīmēt vai augšupielādēt sertifikāta failu lietotāja saskarnē SAML konfigurācijas laikā — faili failu sistēmā nav nepieciešami.

Ja zabbix.conf.php ir iestatīts $SSO['CERT_STORAGE'] = 'file', sertifikātam jābūt pieejamam failu sistēmā (pēc noklusējuma ui/conf/certs vai zabbix.conf.php konfigurētajā ceļā), un lietotāja saskarne sertifikātus datubāzē nesaglabās. Ņemiet vērā: ja $SSO['CERT_STORAGE'] nav iestatīts vai ir komentēts, tiek pieņemta failu glabāšana, un sertifikāti tiek nolasīti no ui/conf/certs.

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

3. Noklikšķiniet uz pogas Update, lai saglabātu šos iestatījumus.

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 vidē un panākt, ka tie tiek nekavējoties nodrošināti Zabbix.

Piemēram, varat izveidot jaunu lietotāju:

Pievienojiet to lietotāja lomai un lietotnei, 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 lietotnes lietotāju nodrošināšanas statusu:

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