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ē pārejiet 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 parametrsacs. 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ā 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.
- Single sign-on URL:
-
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 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. Pārejiet 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 tiem lietotājiem, 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. Pārejiet 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 Okta | Parauga 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ājvārda atribūts | Attribute name | user_name |
| Lietotāja uzvārda atribūts | Attribute name | user_lastname |
Ir arī nepieciešams konfigurēt lietotāju grupu un mediju kartēšanu.
2. Pievienojiet Base64 sertifikātu, kas norādīts Okta SAML iestatīšanas norādījumos.
Ja zabbix.conf.php ir iestatīts $SSO['CERT_STORAGE'] = 'database', SAML konfigurācijas 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 ui/conf/certs vai zabbix.conf.php konfigurētajā ceļā), un lietotāja saskarne sertifikātus datubāzē nesaglabās.
Ņemiet vērā, ka, ja $SSO['CERT_STORAGE'] nav iestatīts vai ir komentēts, tiek pieņemta failu krātuve, 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, 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 Test Connector Configuration, lai pārbaudītu savienojumu. Ja viss ir pareizi, tiks parādīts veiksmīgas darbības paziņ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 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 "Provisioning" -> "To App" -> "Attribute Mappings" savā lietotnē. 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š 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 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.