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 parametrsacs. 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.
- Single sign-on URL:
-
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.