11 SAML-configuratie met Okta

Deze sectie biedt richtlijnen voor het configureren van Okta om SAML 2.0-authenticatie en gebruikersprovisionering voor Zabbix mogelijk te maken.

Okta-configuratie

  1. Ga naar https://developer.okta.com/signup/ en registreer/meld u aan bij uw account.

  2. Navigeer in de Okta-webinterface naar Applications → Applications.

  3. Klik op Create App Integration.

Selecteer "SAML 2.0" als de aanmeldingsmethode en klik op Next.

  1. In de algemene instellingen, vul de app-naam in en klik op Next.

  2. In SAML-configuratie, voer de onderstaande waarden in en klik vervolgens op Next.

  • In General voeg toe:
    • Single sign-on URL: http://<uw-zabbix-url>/zabbix/index_sso.php?acs
      Let op het gebruik van "http", en niet "https", zodat de acs parameter niet wordt weggelaten in het verzoek. Het selectievakje Use this for Recipient URL and Destination URL moet ook worden aangevinkt.
    • Audience URI (SP Entity ID): zabbix
      Merk op dat deze waarde binnen de SAML-assertie wordt gebruikt als een unieke serviceprovider-identificatie (als deze niet overeenkomt, wordt de bewerking afgewezen). Het is mogelijk om een URL of een willekeurige tekenreeks in dit veld op te geven.
    • Default RelayState:
      Laat dit veld leeg; als een aangepaste omleiding vereist is, kan deze worden toegevoegd in Zabbix in de instellingen van Users → Users.
    • Vul andere velden in volgens uw voorkeuren.
  • In Attribute Statements/Group Attribute Statements voeg toe:

Deze attribuutverklaringen worden ingevoegd in de SAML-asserties die worden gedeeld met Zabbix.

De attribuutnamen die hier worden gebruikt, zijn willekeurige voorbeelden. U kunt andere attribuutnamen gebruiken, maar het is vereist dat ze overeenkomen met de respectievelijke veldwaarde in de SAML-instellingen van Zabbix.

Als u SAML-aanmelding in Zabbix wilt configureren zonder JIT-gebruikersprovisionering, is alleen het e-mailattribuut vereist.

Als u van plan bent een versleutelde verbinding te gebruiken, genereer dan de privé- en openbare versleutelingscertificaten en upload het openbare certificaat naar Okta. Het formulier voor het uploaden van het certificaat verschijnt wanneer Assertion Encryption is ingesteld op "Encrypted" (klik op Show Advanced Settings om deze parameter te vinden).

  1. Selecteer in het volgende tabblad "I'm a software vendor. I'd like to integrate my app with Okta" en klik op "Finish".

  2. Navigeer naar het tabblad "Assignments" van de nieuw gemaakte applicatie en klik op de knop Assign, selecteer vervolgens "Assign to People" in het dropdown-menu.

  1. In het verschijnende pop-upvenster kent u de app toe aan personen die SAML 2.0 zullen gebruiken om zich aan te melden bij Zabbix en klik vervolgens op Save and go back.

  2. Ga naar het tabblad "Sign On" en klik op de knop View Setup Instructions.

De instructies voor de installatie worden geopend in een nieuw tabblad; houd dit tabblad open terwijl u Zabbix configureert.

Zabbix-configuratie

  1. Ga in Zabbix naar de SAML-instellingen en vul de configuratieopties in op basis van de installatie-instructies van Okta:

Zabbix-veld Instellingsveld in Okta Voorbeeldwaarde
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

Het is ook vereist om de toewijzing van gebruikersgroepen en media in te stellen.

  1. Download het certificaat dat wordt verstrekt in de Okta SAML-instellingen naar de map ui/conf/certs als idp.crt.

Geef het certificaat 644 machtigingen door het volgende uit te voeren:

chmod 644 idp.crt
  1. Als Assertion Encryption is ingesteld op "Encrypted" in Okta, moet het selectievakje "Assertions" van de parameter Encrypt ook in Zabbix worden aangevinkt.

  2. Druk op de knop "Update" om deze instellingen op te slaan.

SCIM-provisioning

  1. Ga naar "Algemeen" -> "App-instellingen" van de toepassing in Okta om SCIM-provisioning in te schakelen.

Markeer het selectievakje Enable SCIM provisioning. Hierdoor wordt een nieuw tabblad Provisioning weergegeven.

  1. Ga naar het tabblad "Provisioning" om een SCIM-verbinding in te stellen:
  • Geef bij SCIM-connector basis-URL het pad naar de Zabbix-frontend op en voeg api_scim.php eraan toe, bijvoorbeeld:
    https://<your-zabbix-url>/zabbix/api_scim.php
  • Uniek identificatieveld voor gebruikers: email
  • Authenticatiemodus: HTTP header
  • Voer bij Authorization een geldige API-token in met Super admin-rechten

Als u Apache gebruikt, moet u mogelijk de standaard Apache-configuratie in /etc/apache2/apache2.conf wijzigen door de volgende regel toe te voegen:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

Anders stuurt Apache de autorisatieheader niet mee in het verzoek.

  1. Klik op Test Connector Configuration om de verbinding te testen. Bij correcte instellingen wordt een succesbericht weergegeven.

  2. Zorg ervoor dat de attributen die in SAML zijn gedefinieerd ook in SCIM zijn gedefinieerd. U kunt de profielbewerker voor uw app openen in "Provisioning" -> "To App", door te klikken op Go to Profile Editor.

Klik op Add Attribute. Vul de waarden in voor Display name, Variable name en External name met de naam van het SAML-attribuut, bijvoorbeeld user_name.

External namespace moet hetzelfde zijn als het gebruikersschema: urn:ietf:params:scim:schemas:core:2.0:User

  1. Ga naar "Provisioning" -> "To App" -> "Attribute Mappings" van uw toepassing. Klik onderaan op Show Unmapped Attributes. Nieuw toegevoegde attributen verschijnen.

  2. Wijs elk toegevoegd attribuut toe.

  1. Voeg gebruikers toe in het tabblad "Assignments". De gebruikers moeten eerder zijn toegevoegd in Directory -> People. Al deze toewijzingen worden als verzoeken naar Zabbix gestuurd.

  2. Voeg groepen toe in het tabblad "Push Groups". Het groepstoewijzingspatroon in de Zabbix SAML-instellingen moet overeenkomen met een hier gespecificeerde groep. Als er geen overeenkomst is, kan de gebruiker niet in Zabbix worden aangemaakt.

Informatie over groepsleden wordt telkens wanneer er een wijziging wordt aangebracht verzonden.