12 SAML installatie met OneLogin
Overzicht
Dit gedeelte biedt richtlijnen voor het configureren van single sign-on en gebruikersvoorziening in Zabbix vanuit OneLogin met behulp van SAML 2.0-authenticatie.
OneLogin configuratie
Applicatie aanmaken
-
Log in op je account bij OneLogin. Voor testdoeleinden kun je een gratis ontwikkelaarsaccount aanmaken bij OneLogin.
-
In de OneLogin webinterface ga naar Applications → Applications.
-
Klik op "App toevoegen" en zoek de juiste app. De richtlijnen op deze pagina zijn gebaseerd op het voorbeeld van de app SCIM Provisioner with SAML (SCIM v2 Enterprise, volledige SAML).
-
Als eerste wil je mogelijk de weergavenaam van je app aanpassen. Je wilt ook het pictogram en de app-details toevoegen. Klik daarna op Opslaan.
SSO/SCIM provisioning instellen
-
In Configuration -> Application details, stel de Zabbix single sign-on endpoint
http://<zabbix-instance-url>/zabbix/index_sso.php?acsin als de waarde voor deze velden:- ACS (Consumer) URL Validator
- ACS (Consumer) URL
Let op het gebruik van "http", en niet "https", zodat de
acsparameter niet wordt weggelaten in het verzoek.Het is ook mogelijk om "https" te gebruiken. Om dat te laten werken met Zabbix, is het nodig om de volgende regel toe te voegen aan
conf/zabbix.conf.php:$SSO['SETTINGS'] = ['use_proxy_headers' => true];Laat andere opties met hun standaardwaarden.
-
In Configuration -> API connection, stel de volgende waarden in:
- SCIM Base URL:
https://<zabbix-instance-url>/zabbix/api_scim.php - SCIM JSON Template: moet alle aangepaste attributen bevatten die je via SCIM aan Zabbix wilt doorgeven, zoals
user_name,user_lastname,user_emailenuser_mobile:
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "{$parameters.scimusername}", "name": { "familyName": "{$user.lastname}", "givenName": "{$user.firstname}" }, "user_name": "{$user.firstname}", "user_lastname": "{$user.lastname}", "user_mobile": "{$user.phone}", "user_email": "{$user.email}" }De attribuutnamen zijn willekeurig. Verschillende attribuutnamen kunnen worden gebruikt, maar ze moeten overeenkomen met de respectieve veldwaarde in de Zabbix SAML-instellingen.
Let op dat OneLogin voor gebruikersvoorziening een 'name'-attribuut moet ontvangen in de respons met 'givenName' en 'familyName', zelfs als dit niet vereist was door de serviceprovider. Daarom is het nodig om dit te specificeren in het schema in het gedeelte van de applicatieconfiguratie.
- SCIM Bearer Token: voer een Zabbix API-token in met Super admin-rechten.
Klik op Enable om de verbinding te activeren.
- SCIM Base URL:
-
Op de pagina Provisioning activeer je de Provisioning-optie:

-
De pagina Parameters bevat een lijst met standaardparameters:
- Zorg ervoor dat 'scimusername' overeenkomt met de gebruikersaanmeldingswaarde in OneLogin (bijvoorbeeld e-mail);
- Markeer de optie Include in User Provisioning voor de parameter 'Groups';
- Klik op "+" om de aangepaste parameters te maken die vereist zijn voor SAML-asserties en gebruikersvoorziening, zoals
user_name,user_lastname,user_emailenuser_mobile:

Als je een parameter toevoegt, zorg er dan voor dat zowel de opties Include in SAML assertion als Include in User Provisioning zijn gemarkeerd.
- Voeg een 'group'-parameter toe die overeenkomt met gebruikersrollen in OneLogin. Gebruikersrollen worden doorgegeven als een tekenreeks, gescheiden door een puntkomma
;. De gebruikersrollen van OneLogin worden gebruikt voor het maken van gebruikersgroepen in Zabbix:

Controleer de lijst met parameters:

-
Op de pagina Rules maak je gebruikersroltoewijzingen aan de standaard Groups-parameter.

Je kunt een reguliere expressie gebruiken om specifieke rollen als groepen door te geven. De rolnamen mogen geen
;bevatten, omdat OneLogin dit gebruikt als scheidingsteken wanneer een attribuut met meerdere rollen wordt verzonden.
Zabbix-configuratie
-
In Zabbix ga je naar de SAML-instellingen en vul je de configuratieopties in op basis van de OneLogin-configuratie:

Zabbix-veld Setup-veld in OneLogin Voorbeeldwaarde IdP entity ID Issuer URL
(zie het tabblad SSO van je applicatie in OneLogin)SSO service URL SAML 2.0 Endpoint (HTTP)
(zie het tabblad SSO van je applicatie in OneLogin)SLO service URL SLO Endpoint (HTTP)
(zie het tabblad SSO van je applicatie in OneLogin)Username attribute Aangepaste parameter user_emailGroup name attribute Aangepaste parameter groupUser name attribute Aangepaste parameter user_nameUser last name attribute Aangepaste parameter user_lastnameHet is ook nodig om de gebruikersgroepmapping te configureren. Mediamapping is optioneel. Klik op Update om deze instellingen op te slaan.
-
Download het certificaat dat door OneLogin wordt verstrekt en plaats het in
conf/certsvan de Zabbix frontend-installatie, als idp.crt.Geef het de rechten 644 met het volgende commando:
chmod 644 idp.crt
Je kunt het certificaat downloaden in OneLogin via Applications -> SSO -> klik op View details onder het huidige certificaat.
Het is mogelijk om een andere certificaatnaam en -locatie te gebruiken. Voeg in dat geval de volgende regel toe aan
conf/zabbix.conf.php:$SSO['IDP_CERT'] = 'path/naar/certnaam.crt';
Met gebruikersvoorziening ingeschakeld, is het nu mogelijk om gebruikers en hun rollen toe te voegen/wijzigen in OneLogin en ze onmiddellijk te voorzien in Zabbix.
Bijvoorbeeld, je kunt een nieuwe gebruiker aanmaken:

Voeg deze gebruiker toe aan een gebruikersrol en de applicatie die de gebruiker zal voorzien:

Wanneer je de gebruiker opslaat, wordt deze voorzien in Zabbix. In Application -> Users kun je de voorzieningsstatus van huidige applicatiegebruikers controleren:

Indien succesvol voorzien, is de gebruiker zichtbaar in de Zabbix-gebruikerslijst.
