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/pierakstieties savā kontā.

2. Okta tīmekļa saskarnē atveriet Applications → Applications.

3. Noklikšķiniet uz Create App Integration.

Kā pierakstīšanās metodi atlasiet "SAML 2.0" 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 izgriezts parametrs acs. 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 pakalpojuma sniedzēja identifikators (ja tā nesakritīs, darbība tiks noraidīta). Šajā laukā iespējams norādīt URL vai jebkādu datu virkni.
    • Default RelayState:
      Atstājiet šo lauku tukšu; ja nepieciešama pielāgota pāradresācija, to var pievienot Zabbix sadaļas Users > Users iestatījumos.
    • Aizpildiet pārējos 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. Jūs varat izmantot citus atribūtu nosaukumus, tomēr ir nepieciešams, lai tie atbilstu attiecīgā lauka vērtībai 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 uz 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 noklikšķiniet uz Finish.

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

8. Parādītajā uznirstošajā logā piešķiriet lietotni lietotājiem, kuri izmantos SAML 2.0 autentifikācijai ar Zabbix, pēc tam noklikšķiniet uz Save and go back.

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

chmod 644 idp.crt

10. Atveriet cilni "Sign On" un noklikšķiniet uz pogas View Setup Instructions.

Iestatīšanas norādījumi tiks atvērti 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 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 Atribūta nosaukums usrEmail
SP entītijas ID Audience URI zabbix
Grupas nosaukuma atribūts Atribūta nosaukums groups
Lietotāja vārda atribūts Atribūta nosaukums user_name
Lietotāja uzvārda atribūts Atribūta nosaukums user_lastname

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

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', SAML konfigurēšanas laikā lietotāja saskarnē varat ielīmēt sertifikāta tekstu vai augšupielādēt sertifikāta failu — faili failu sistēmā nav nepieciešami.

Ja zabbix.conf.php 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 ceļā, kas konfigurēts zabbix.conf.php), un lietotāja saskarne nesaglabās sertifikātus datubāzē. Ņemiet vērā, ka, ja $SSO['CERT_STORAGE'] nav iestatīts vai ir aizkomentēts, tiek pieņemta glabāšana failā un sertifikāti tiek nolasīti no ui/conf/certs.

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

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

SCIM nodrošināšana

1. Lai ieslēgtu SCIM nodrošināšanu, dodieties uz lietotnes "General" -> "App Settings" sadaļu Okta.

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 saskarne 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 veiksmes 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 uz Go to Profile Editor.

Noklikšķiniet uz Add Attribute. Aizpildiet laukus 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. Parādīsies jaunpievienotie atribūti.

7. Kartējiet katru pievienoto atribūtu.

8. Pievienojiet lietotājus cilnē "Assignments". Lietotājiem iepriekš jābūt pievienotiem 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 šablonam 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 grupu dalībniekiem tiek nosūtīta katru reizi, kad tiek veiktas kādas izmaiņas.