11 Konfiguracja SAML z Okta

Ta sekcja opisuje, jak skonfigurować Okta, aby umożliwić uwierzytelnianie SAML 2.0 dla Zabbix.

Konfiguracja Okta

1. Przejdź do https://okta.com i zarejestruj się lub zaloguj na swoje konto.

2. W interfejsie Okta przejdź do Applications → Applications i naciśnij przycisk "Add Application" ().

3. Naciśnij przycisk "Create New App" (). W okienku wybierz Platform: Web, Sign on method: SAML 2.0 i naciśnij przycisk "Create".

4. Wypełnij pola na karcie General settings (pierwsza karta, która się pojawi) zgodnie z preferencjami i naciśnij "Next".

5. Na karcie Configure SAML wprowadź poniższe wartości, a następnie naciśnij "Next".

  • W sekcji GENERAL:
    • Single sign on URL: https://<your-zabbix-url>/ui/index_sso.php?acs
      Checkbox Use this for Recipient URL and Destination URL powinien być zaznaczony.
    • Audience URI (SP Entity ID): zabbix
      Zauważ, że ta wartość będzie używana w ramach potwierdzeniu SAML jako unikalny identyfikator dostawcy usług (jeśli się nie zgadza, operacja zostanie odrzucona). Można podać URL lub dowolny ciąg znaków w tym polu.
    • Default RelayState:
      Pozostaw to pole puste; jeśli wymagane jest niestandardowe przekierowanie, można je dodać w Zabbix w ustawieniach Administracja → Użytkownicy.
    • Wypełnij inne pola zgodnie z preferencjami.

Jeśli planujesz używać zaszyfrowanego połączenia, wygeneruj prywatne i publiczne certyfikaty szyfrowania, a następnie prześlij publiczny certyfikat do Okta. Formularz przesyłania certyfikatu pojawi się, gdy Assertion Encryption zostanie ustawione na Encrypted (kliknij Show Advanced Settings, aby znaleźć ten parametr).

  • W sekcji ATTRIBUTE STATEMENTS (OPTIONAL) dodaj atrybut z:
    • Name: usrEmail
    • Name format: Unspecified
    • Value: user.email

6. Na następnej karcie wybierz "I'm a software vendor. I'd like to integrate my app with Okta" i naciśnij "Finish".

7. Teraz przejdź do karty Assignments i naciśnij przycisk "Assign", a następnie wybierz Assign to People z rozwijanego menu.

8. W okienku, które się pojawi, przypisz utworzoną aplikację osobom, które będą używać SAML 2.0 do uwierzytelniania w Zabbix, a następnie naciśnij "Save and go back".

9. Przejdź do karty Sign On i naciśnij przycisk "View Setup Instructions". Instrukcje konfiguracji zostaną wyświetlone na nowej karcie; pozostaw tę kartę otwartą podczas konfigurowania Zabbix.

Konfiguracja Zabbix

1. W Zabbix przejdź do ustawień SAML w sekcji Administracja → Uwierzytelnianie i skopiuj informacje z instrukcji konfiguracji Okta do odpowiednich pól:

  • Identity Provider Single Sign-On URL → URL usługi SSO
  • Identity Provider Issuer → ID jednostki IdP
  • Atrybut użytkownika → Attribute name (usrEmail)
  • ID jednostki SP → Audience URI

2. Pobierz certyfikat podany na stronie instrukcji konfiguracji Okta do folderu ui/conf/certs jako idp.crt i ustaw uprawnienia 644, uruchamiając:

chmod 644 idp.crt

Zwróć uwagę, że jeśli zaktualizowałeś Zabbix do wersji 5.0 z wcześniejszej wersji, będziesz musiał ręcznie dodać te linie do pliku zabbix.conf.php (znajdującego się w katalogu //ui/conf//):

// Used for SAML authentication.
       $SSO['SP_KEY'] = 'conf/certs/sp.key'; // Ścieżka do twojego klucza prywatnego.
       $SSO['SP_CERT'] = 'conf/certs/sp.crt'; // Ścieżka do twojego klucza publicznego.
       $SSO['IDP_CERT'] = 'conf/certs/idp.crt'; // Ścieżka do klucza publicznego IdP.
       $SSO['SETTINGS'] = []; // Dodatkowe ustawienia

Zobacz ogólne instrukcje Uwierzytelniania SAML po więcej szczegółów.

3. Jeśli Assertion Encryption zostało ustawione na Encrypted w Okta, checkbox "Zapewnienia" parametru Szyfruj powinien być zaznaczony również w Zabbix.

4. Naciśnij przycisk "Zaktualizuj", aby zapisać te ustawienia.

Aby zalogować się za pomocą SAML, nazwa użytkownika w Zabbix powinna odpowiadać adresowi e-mail w Okta. Te ustawienia można zmienić w sekcji Administracja → Użytkownicy w interfejsie WWW Zabbix.