13 SAML iestatīšana ar Okta

Šajā sadaļā ir sniegtas vadlīnijas Okta konfigurēšanai, 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 instrukcijām:

Zabbix lauks Iestatīšanas lauks Okta Parauga vērtība
IdP entity ID Identity Provider Issuer
SSO service URL Identity Provider Single Sign-On URL
Username attribute Attribute name usrEmail
SP entity ID Audience URI zabbix
Group name attribute Attribute name groups
User name attribute Attribute name user_name
User last name attribute Attribute name user_lastname

Ir arī jākonfigurē lietotāju grupu un mediju kartēšana.

2. Pievienojiet Base64 sertifikātu, kas norādīts Okta SAML iestatīšanas instrukcijās.

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ā — 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ē neglabā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.

3. Ja Okta ir iestatīts Assertion Encryption uz "Encrypted", Zabbix arī jāatzīmē parametra Encrypt izvēles rūtiņa "Assertions".

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 lietotnē atveriet General > App Settings.

Atzīmējiet izvēles rūtiņu Enable SCIM provisioning. Rezultātā parādīsies jauna cilne Provisioning.

2. Dodieties uz cilni "Provisioning", lai iestatītu SCIM savienojumu:

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

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

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

4. Sadaļā Provisioning > To App pārliecinieties, ka ir atzīmētas šādas izvēles rūtiņas:

  • Create Users
  • Update User Attributes
  • Deactivate Users

Tas nodrošinās, ka šie pieprasījumu tipi tiks nosūtīti uz Zabbix.

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

Noklikšķiniet Add Attribute. Aizpildiet Display name, Variable name, External name vērtības 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. Dodieties uz savas lietotnes sadaļu Provisioning > To App > Attribute Mappings. Apakšā noklikšķiniet Show Unmapped Attributes. Parādīsies tikko pievienotie atribūti.

7. Kartējiet katru pievienoto atribūtu.

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

9. Pievienojiet grupas cilnē "Push Groups". Lietotāju grupas kartēšanas paraugam Zabbix SAML iestatījumos ir jāsakrīt ar šeit norādīto grupu. Ja sakritības nav, lietotāju nevar izveidot Zabbix.

Informācija par grupas dalībniekiem tiek nosūtīta katru reizi, kad tiek veiktas kādas izmaiņas.