11 SAML-installatie met Microsoft Azure AD
Overzicht
Dit gedeelte biedt richtlijnen voor het configureren van Single Sign-On en gebruikersvoorziening in Zabbix vanuit Microsoft Azure Active Directory met behulp van SAML 2.0-authenticatie.
Microsoft Azure configuratie
Applicatie aanmaken
-
Log in op uw account op Microsoft Azure. Voor testdoeleinden kunt u een gratis proefaccount aanmaken in Microsoft Azure.
-
Selecteer vanuit het hoofdmenu (linksboven op het scherm) Azure Active Directory.
-
Kies Ondernemingsapps -> Nieuwe app toevoegen -> Uw eigen app maken.
-
Voeg de naam van uw app toe en selecteer de optie Elke andere app integreren.... Klik daarna op Maken.

Instellen van Single Sign-On
-
Ga op uw toepassingspagina naar Single Sign-On instellen en klik op Aan de slag. Selecteer vervolgens SAML.
-
Bewerk Basis-SAML-configuratie:
- In Identificatiegegevens (Entiteits-ID) stelt u een unieke naam in om uw app te identificeren bij Azure Active Directory, bijvoorbeeld
zabbix; - In Antwoord-URL (Assertion Consumer Service-URL) stelt u het Zabbix Single Sign-On-eindpunt in:
https://<zabbix-instance-url>/zabbix/index_sso.php?acs:

Let op dat dit veld "https" vereist. Om dit te laten werken met Zabbix, moet u de volgende regel toevoegen aan
conf/zabbix.conf.php:$SSO['SETTINGS'] = ['use_proxy_headers' => true]; - In Identificatiegegevens (Entiteits-ID) stelt u een unieke naam in om uw app te identificeren bij Azure Active Directory, bijvoorbeeld
-
Bewerk Attributen en claims. U moet alle attributen toevoegen die u naar Zabbix wilt doorgeven (user_name, user_lastname, user_email, user_mobile, groups).
De attribuutnamen zijn willekeurig. Verschillende attribuutnamen kunnen worden gebruikt, maar het is vereist dat ze overeenkomen met de respectievelijke veldwaarde in de Zabbix SAML-instellingen.
- Klik op Nieuwe claim toevoegen om een attribuut toe te voegen:

- Klik op Een groepsclaim toevoegen om een attribuut toe te voegen voor het doorgeven van groepen naar Zabbix:

-
In SAML-certificaten downloadt u het door Azure verstrekte certificaat en plaatst u het in
conf/certsvan de Zabbix frontend-installatie.Geef het de rechten 644 door het volgende commando uit te voeren:
chmod 644 azure.cerZorg ervoor dat
conf/zabbix.conf.phpde volgende regel bevat:$SSO['IDP_CERT'] = 'conf/certs/azure.cer'; -
Gebruik de waarden van Single Sign-On instellen in Azure om Zabbix SAML-authenticatie te configureren (zie volgende sectie):

Zabbix-configuratie
-
Ga in Zabbix naar de SAML-instellingen en vul de configuratieopties in op basis van de Azure-configuratie:

Zabbix-veld Instelling in Azure Voorbeeldwaarde IdP-entiteit-ID Azure AD-identificator SSO-service-URL Aanmeldings-URL SLO-service-URL Afmeldings-URL Gebruikersnaam-attribuut Aangepast attribuut (claim) user_emailGroepsnaam-attribuut Aangepast attribuut (claim) groupsGebruikersnaam-attribuut Aangepast attribuut (claim) user_nameAchternaam-attribuut van gebruiker Aangepast attribuut (claim) user_lastnameHet is ook nodig om de toewijzing van gebruikersgroepen te configureren. Media-toewijzing is optioneel.
Klik op Update om deze instellingen op te slaan.
SCIM-gebruikersvoorziening
-
Ga naar de pagina van je Azure AD-applicatie en open vanuit het hoofdmenu de pagina Provisioning. Klik op Get started en selecteer vervolgens de automatische voorzieningsmodus:
- Bij Tenant URL stel je de volgende waarde in:
https://<zabbix-instance-url>/zabbix/api_scim.php - Bij Secret token voer je een Zabbix API-token in met Super admin-rechten.
- Klik op Test connection om te controleren of de verbinding tot stand is gebracht.

Sla de instellingen op.
- Bij Tenant URL stel je de volgende waarde in:
-
Nu kun je alle attributen toevoegen die via SCIM aan Zabbix worden doorgegeven. Klik hiervoor op Mappings en vervolgens op Provision Azure Active Directory Users.

Onder aan de lijst met attribuutmappingen schakel je Show advanced options in en klik je vervolgens op Edit attribute list for customappsso.
Onder aan de lijst met attributen voeg je je eigen attributen toe met het type 'String':

Sla de lijst op.
-
Nu kun je mappings toevoegen voor de toegevoegde attributen. Onder aan de lijst met attribuutmappingen klik je op Add New Mapping en maak je mappings zoals hieronder wordt getoond:

Sla de lijst met mappings op wanneer alle mappings zijn toegevoegd.

-
Als een voorwaarde voor gebruikersvoorziening in Zabbix, moeten gebruikers en groepen zijn geconfigureerd in Azure.
Ga hiervoor naar Azure Active Directory in het hoofdmenu van Azure (linksboven op het scherm) en voeg gebruikers/groepen toe op de respectievelijke pagina's Users en Groups.
-
Wanneer gebruikers en groepen zijn gemaakt in Azure AD, ga je naar het Users and groups-menu van je applicatie en voeg je ze toe aan de app.
-
Ga naar het Provisioning-menu van je app en klik op Start provisioning om gebruikers voor te zien in Zabbix.
Houd er rekening mee dat het PATCH-verzoek voor gebruikers in Azure geen wijzigingen in media ondersteunt.
Authentication request signing
It is possible to configure Entra ID to validate the signature of signed authentication requests.
To make this work, create public/private keys:
openssl req -x509 -newkey rsa:4096 -keyout /usr/share/zabbix/conf/certs/request-sign.key -out /usr/share/zabbix/conf/certs/request-sign.pem -sha256 -days 1825 -nodes
Assign permissions:
chown apache /usr/share/zabbix/conf/certs/request-sign.key
chmod 400 /usr/share/zabbix/conf/certs/request-sign.key
Update Zabbix frontend configuration by adding:
$SSO['SP_KEY'] = 'conf/certs/request-sign.key';
$SSO['SP_CERT'] = 'conf/certs/request-sign.crt';
Troubleshooting
Authentication issues may occur with MicroSoft Edge browsers when a user, trying to login to Zabbix via SAML, is already logged in with the MicroSoft Edge profile. As a sign of such issue the user may be able to log in to Zabbix using MicroSoft Edge in private mode.
To avoid authentication issues in this case it may be necessary to set requestedAuthnContext to "false" in the Zabbix frontend configuration file (zabbix.conf.php).
$SSO['SETTINGS'] = [
'security' => [
'requestedAuthnContext' => false
]
];