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 izvēlieties "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 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ā iespējams norādīt URL vai jebkuru 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 vajadzībā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, taču tiem 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 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ē izvēlieties "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, atveriet lietotnes sadaļu "General" -> "App Settings" pakalpojumā Okta.
Atzīmējiet izvēles rūtiņu Enable SCIM provisioning. Rezultātā parādīsies jauna cilne Provisioning.
2. Atveriet 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. Savas lietotnes profila redaktoru varat atvērt sadaļā "Provisioning" -> "To App", noklikšķinot uz Go to Profile Editor.
Noklikšķiniet uz Add Attribute.
Laukus Display name, Variable name, External name aizpildiet ar SAML atribūta nosaukumu, piemēram, user_name.

External namespace jābūt tādai pašai kā lietotāja shēmai: urn:ietf:params:scim:schemas:core:2.0:User
6. Atveriet 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 pirms tam jābūt pievienotiem sadaļā Directory -> People. Visi šie piešķīrumi tiks nosūtīti uz Zabbix kā pieprasījumi.
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 veikta kāda izmaiņa.