SAML iestatīšana ar Okta

Šī sadaļa sniedz norādījumus par Okta konfigurēšanu, lai iespējotu SAML 2.0 autentifikāciju un lietotāju nodrošināšanu Zabbix.

Okta konfigurācija

1. Dodieties uz https://developer.okta.com/signup/ un reģistrējieties/piesakieties savā kontā.

2. Okta lietotāja saskarnē dodieties uz Applications > Applications.

3. Noklikšķiniet Create App Integration.

Kā pierakstīšanās metodi atlasiet "SAML 2.0" un noklikšķiniet Next.

4. Vispārīgajos iestatījumos ievadiet lietotnes nosaukumu un noklikšķiniet Next.

5. SAML konfigurācijā ievadiet tālāk norādītās vērtības, pēc tam noklikšķiniet Next.

  • Sadaļā General pievienojiet:

    • Single sign-on URL: http://<your-zabbix-url>/zabbix/index_sso.php?acs
      Ņemiet vērā, ka jāizmanto "http", nevis "https", lai pieprasījumā netiktu nogriezts parametrs acs. Jābūt atzīmētai arī izvēles rūtiņai Use this for Recipient URL and Destination URL.
    • Audience URI (SP Entity ID): zabbix
      Ņemiet vērā, ka šī vērtība tiks izmantota SAML apgalvojumā kā unikāls pakalpojuma sniedzēja identifikators (ja tā nesakritīs, darbība tiks noraidīta). Šajā laukā ir iespējams norādīt URL vai jebkuru teksta virkni.
    • Default RelayState:
      Atstājiet šo lauku tukšu; ja nepieciešama pielāgota pāradresācija, to var pievienot Zabbix sadaļā Users > Users.
    • Aizpildiet citus laukus atbilstoši savām vēlmēm.
  • Sadaļā Attribute Statements/Group Attribute Statements pievienojiet:

Šie atribūtu paziņojumi tiek ievietoti SAML apgalvojumos, kas tiek kopīgoti ar Zabbix.

Šeit izmantotie atribūtu nosaukumi ir patvaļīgi piemēri. Varat izmantot citus atribūtu nosaukumus, tomēr tiem ir jāsakrīt ar attiecīgā lauka vērtību Zabbix SAML iestatījumos.

Ja vēlaties konfigurēt SAML pierakstīšanos Zabbix bez JIT lietotāju nodrošināšanas, tad ir nepieciešams tikai e-pasta atribūts.

Ja plānojat izmantot šifrētu savienojumu, ģenerējiet privāto un publisko šifrēšanas sertifikātu, pēc tam augšupielādējiet publisko sertifikātu Okta. Sertifikāta augšupielādes forma parādās, kad Assertion Encryption ir iestatīts uz "Encrypted" (noklikšķiniet Show Advanced Settings, lai atrastu šo parametru).

6. Nākamajā cilnē atlasiet "I'm a software vendor. I'd like to integrate my app with Okta" un noklikšķiniet Finish.

7. Dodieties uz jaunizveidotās lietotnes cilni "Assignments" un noklikšķiniet pogu Assign, pēc tam nolaižamajā izvēlnē atlasiet Assign to People.

8. Uznirstošajā logā piešķiriet lietotni cilvēkiem, kuri izmantos SAML 2.0 autentifikācijai ar Zabbix, pēc tam noklikšķiniet Save and go back.

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

chmod 644 idp.crt

10. Dodieties uz cilni "Sign On" un noklikšķiniet pogu View Setup Instructions.

Iestatīšanas instrukcijas tiks atvērtas jaunā cilnē; konfigurējot Zabbix, atstājiet šo cilni atvērtu.

Zabbix konfigurācija

1. Zabbix lietotāja saskarnē atveriet SAML iestatījumus un aizpildiet konfigurācijas opcijas, pamatojoties uz Okta iestatīšanas norādījumiem:

Zabbix lauks Iestatīšanas lauks pakalpojumā Okta Piemēra vērtība
IdP entītijas ID Identity Provider Issuer
SSO pakalpojuma URL Identity Provider Single Sign-On URL
Lietotājvārda atribūts Attribute name usrEmail
SP entītijas ID Audience URI zabbix
Grupas nosaukuma atribūts Attribute name groups
Lietotāja vārda atribūts Attribute name user_name
Lietotāja uzvārda atribūts Attribute name user_lastname

Ir nepieciešams arī konfigurēt lietotāju grupu un datu nesēju kartēšanu.

2. Pievienojiet Okta SAML iestatīšanas norādījumos sniegto Base64 sertifikātu.

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

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 nesaglabās sertifikātus datubāzē. Ņ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.

3. Ja pakalpojumā Okta Assertion Encryption ir iestatīts uz “Encrypted”, arī Zabbix parametra Encrypt izvēles rūtiņai “Assertions” jābūt atzīmētai.

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

SCIM nodrošināšana

1. Lai ieslēgtu SCIM nodrošināšanu, Okta lietojumprogrammai atveriet General > App Settings.

Atzīmējiet izvēles rūtiņu Enable SCIM provisioning. Tā rezultātā tiks parādīta jauna cilne Provisioning.

2. Lai iestatītu SCIM savienojumu, atveriet cilni Provisioning:

  • Laukā SCIM connector base URL norādiet ceļu uz Zabbix lietotāja saskarni un pievienojiet tam api_scim.php, piemēram:
    https://<your-zabbix-url>/zabbix/api_scim.php
  • Unique identifier field for users: email
  • Authentication mode: HTTP header
  • Laukā Authorization ievadiet derīgu API tokenu ar Super admin tiesībām.

Ja rodas autentifikācijas problēmas, skatiet Authorization header forwarding.

3. Noklikšķiniet uz Test Connector Configuration, lai pārbaudītu savienojumu. Ja viss ir pareizi, tiks parādīts ziņojums par veiksmīgu izpildi.

4. Sadaļā Provisioning > To App noteikti atzīmējiet šādas izvēles rūtiņas:

  • Create Users
  • Update User Attributes
  • Deactivate Users

Tādējādi tiks nodrošināts, ka šie pieprasījumu veidi tiks nosūtīti uz Zabbix.

5. Pārliecinieties, ka visi SAML definētie atribūti ir definēti arī SCIM. Lietojumprogrammas profila redaktoram var piekļūt sadaļā Provisioning > To App, noklikšķinot uz Go to Profile Editor.

Noklikšķiniet uz Add Attribute. Aizpildiet laukus Display name, Variable name un External name ar SAML atribūta nosaukumu, piemēram, user_name.

External namespace jābūt tādam pašam kā lietotāja shēmai: urn:ietf:params:scim:schemas:core:2.0:User

6. Atveriet savas lietojumprogrammas sadaļu Provisioning > To App > Attribute Mappings. Apakšdaļā noklikšķiniet uz Show Unmapped Attributes. Tiks parādīti tikko pievienotie atribūti.

7. Kartējiet katru pievienoto atribūtu.

8. Cilnē "Assignments" pievienojiet lietotājus. Vispirms lietotāji jāpievieno sadaļā Directory > People. Visi šie piešķīrumi tiks nosūtīti uz Zabbix kā pieprasījumi.

9. Cilnē "Push Groups" pievienojiet grupas. Lietotāju grupu kartēšanas paraugam Zabbix SAML iestatījumos jāatbilst šeit norādītajai grupai. Ja atbilstības nav, lietotāju nevar izveidot Zabbix.

Informācija par grupu dalībniekiem tiek nosūtīta ikreiz, kad tiek veiktas izmaiņas.