13 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 uz Create App Integration.

Atlasiet "SAML 2.0" kā pierakstīšanās metodi un noklikšķiniet uz Next.

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

5. SAML konfigurācijā ievadiet tālāk norādītās vērtības, pēc tam noklikšķiniet uz 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 acs parametrs. Jāatzīmē arī izvēles rūtiņa Use this for Recipient URL and Destination URL.
    • Audience URI (SP Entity ID): zabbix
      Ņemiet vērā, ka šī vērtība tiks izmantota SAML apliecinājumā kā unikāls pakalpojumu 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 apliecinājumos, 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 uz 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 nospiediet Finish.

7. Dodieties uz jaunizveidotās lietotnes cilni "Assignments" un noklikšķiniet uz pogas 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 uz Save and go back.

9. Dodieties uz cilni "Sign On" un noklikšķiniet uz pogas 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āiestata lietotāju grupu un mediju kartēšana.

2. Lejupielādējiet sertifikātu, kas norādīts Okta SAML iestatīšanas instrukcijās, uz ui/conf/certs mapi kā idp.crt.

Piešķiriet tam 644 atļaujas, izpildot:

chmod 644 idp.crt

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

4. Nospiediet pogu "Update", lai saglabātu šos iestatījumus.

SCIM nodrošināšana

1. Lai ieslēgtu SCIM nodrošināšanu, lietotnē Okta 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 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 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 šāda veida pieprasījumi 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 uz Go to Profile Editor.

Noklikšķiniet uz Add Attribute. Aizpildiet vērtības laukiem Display name, Variable name, 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. Dodieties uz savas lietotnes sadaļu "Provisioning" -> "To App" -> "Attribute Mappings". Apakšā noklikšķiniet uz Show Unmapped Attributes. Tiks parādīti 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 grupu kartēšanas modelim Zabbix SAML iestatījumos 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.