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ā kontā OneLogin. 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ēsieties 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 iestatiet Zabbix vienreizējās pierakstīšanās galapunktu http://<zabbix-instance-url>/zabbix/index_sso.php?acs kā šo lauku vērtību:

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

Ņemiet vērā, ka tiek izmantots "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: tam 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 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ā: 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 parametru 'group', 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.

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

chmod 644 idp.crt

Zabbix konfigurācija

1. Zabbix 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. Multivides 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', SAML konfigurācijas laikā varat lietotāja saskarnē ielīmēt sertifikāta tekstu vai augšupielādēt sertifikāta failu — failus failu sistēmā nav nepieciešams glabāt.

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 ceļā, kas konfigurēts zabbix.conf.php), un lietotāja saskarne sertifikātus datubāzē nesaglabās. Ņemiet vērā, ka, 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 > zem pašreizējā sertifikāta noklikšķiniet View details.

3. Noklikšķiniet pogu 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 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āju var redzēt Zabbix lietotāju sarakstā.