Dit gedeelte biedt richtlijnen voor het configureren van single sign-on en gebruikersvoorziening in Zabbix vanuit OneLogin met behulp van SAML 2.0-authenticatie.
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.
In Configuration -> Application details, stel de Zabbix single sign-on endpoint http://<zabbix-instance-url>/zabbix/index_sso.php?acs
in als de waarde voor deze velden:
Let op het gebruik van "http", en niet "https", zodat de acs
parameter 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:
https://<zabbix-instance-url>/zabbix/api_scim.php
user_name
, user_lastname
, user_email
en user_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.
Klik op Enable om de verbinding te activeren.
Op de pagina Provisioning activeer je de Provisioning-optie:
De pagina Parameters bevat een lijst met standaardparameters:
user_name
, user_lastname
, user_email
en user_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.
;
. 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.
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_email |
Group name attribute | Aangepaste parameter | group |
User name attribute | Aangepaste parameter | user_name |
User last name attribute | Aangepaste parameter | user_lastname |
Het 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/certs
van de Zabbix frontend-installatie, als idp.crt.
Geef het de rechten 644 met het volgende commando:
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.