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 vienotā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 izņemts parametrs acs.

Var izmantot arī "https". Lai to izmantotu ar Zabbix, pievienojiet tālāk norādīto rindu lietotāja saskarnes konfigurācijas failam (zabbix.conf.php):

$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 citus atribūtu nosaukumus, tomēr tiem ir jāatbilst attiecīgajai lauka vērtībai 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 pakalpojumu sniedzējs to nepieprasīja. Tāpēc tas ir jānorāda shēmā lietojumprogrammas konfigurācijas sadaļā.

  • SCIM Bearer Token: ievadiet Zabbix API pilnvaru ar Super admin atļaujām.

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

3. Lapā Provisioning iespējojiet opciju Provisioning:

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

  • Pārliecinieties, ka 'scimusername' atbilst lietotāja pieteikšanās vērtībai OneLogin (piemēram, e-pasta adresei);
  • Parametram 'Groups' atzīmējiet opciju Include in User Provisioning;
  • 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, noteikti atzīmējiet gan opciju 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, atdalot tās ar semikolu ;. OneLogin lietotāju lomas tiks izmantotas lietotāju grupu izveidei Zabbix:

Pārbaudiet parametru sarakstu:

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

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, nosū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 Iestatīšanas lauks OneLogin Piemēra vērtība
IdP entītijas ID Issuer URL
(skatiet savas lietojumprogrammas SSO cilni OneLogin)
SSO pakalpojuma URL SAML 2.0 Endpoint (HTTP)
(skatiet savas lietojumprogrammas SSO cilni OneLogin)
SLO pakalpojuma URL SLO Endpoint (HTTP)
(skatiet savas lietojumprogrammas 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ākonfigurē lietotāju grupu kartēšana.
Multivides kartēšana nav obligāta.
Noklikšķiniet uz Atjaunināt, lai saglabātu šos iestatījumus.

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

Ja lietotāja saskarnes konfigurācijas failā (zabbix.conf.php) ir iestatīts $SSO['CERT_STORAGE'] = 'database', SAML konfigurēšanas laikā sertifikāta tekstu var ielīmēt vai sertifikāta failu augšupielādēt lietotāja saskarnē — failu glabāšana failu sistēmā nav nepieciešama.

Ja konfigurācijas failā ir iestatīts $SSO['CERT_STORAGE'] = 'file', sertifikātam jābūt pieejamam failu sistēmā (pēc noklusējuma mapē ui/conf/certs vai konfigurācijas failā norādī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 glabāšana failā un sertifikāti tiek nolasīti no ui/conf/certs.

OneLogin sertifikāta lejupielādei varat piekļūt, atverot Applications > SSO un zem pašreizējā sertifikāta noklikšķinot uz View details.

3. Noklikšķiniet uz pogas Atjaunināt, 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ā.