11 Configuration SAML avec Okta

Cette section décrit comment configurer Okta pour activer l'authentification SAML 2.0 pour Zabbix.

Configuration Okta

1. Allez sur https://okta.com et enregistrez-vous ou connectez-vous à votre compte.

2. Dans l'interface Web d'Okta, accédez à * Applications → Applications * et appuyez sur le bouton "Ajouter une application" ().

3. Appuyez sur le bouton "Créer une nouvelle application" (). Dans une fenêtre contextuelle, sélectionnez Plate-forme : Web, Méthode de connexion : SAML 2.0 et appuyez sur le bouton "Créer".

4. Remplissez les champs de l'onglet Paramètres généraux (le premier onglet qui apparaît) selon vos préférences et appuyez sur "Suivant".

5. Dans l'onglet Configurer SAML, entrez les valeurs fournies ci-dessous, puis appuyez sur "Suivant".

  • Dans la section GÉNÉRAL :
    • URL d'authentification unique : https://<votre-url-zabbix>/ui/index_sso.php?acs
      La case Utiliser ceci pour l'URL du destinataire et l'URL de destination doit être cochée
    • Audience URI (SP Entity ID): zabbix
      Notez que cette valeur sera utilisée dans l'assertion SAML en tant qu'identifiant unique du fournisseur de services (si elle ne correspond pas, l'opération sera rejetée). Il est possible de spécifier une URL ou toute chaîne de données dans ce champ.
    • Default RelayState:
      Laissez ce champ vide ; si une redirection personnalisée est requise, elle peut être ajoutée dans Zabbix dans les paramètres Administration → Utilisateurs.
    • Remplissez les autres champs selon vos préférences.

Si vous envisagez d'utiliser une connexion cryptée, générez des certificats de cryptage privés et publics, puis téléchargez le certificat public sur Okta. Le formulaire de téléchargement de certificat s'affiche lorsque Cryptage d'assertion est défini sur Crypté (cliquez sur Afficher les paramètres avancés pour trouver ce paramètre).

  • Dans la section ÉNONCÉS D'ATTRIBUTS (FACULTATIF), ajoutez une déclaration d'attribut avec :
    • Nom : usrEmail
    • Format Nom : Non spécifié
    • Valeur : user.email

6. Dans l'onglet suivant, sélectionnez "Je suis un éditeur de logiciels. Je souhaite intégrer mon application à Okta" et appuyez sur "Terminer".

7. Maintenant, accédez à l'onglet Affectations et appuyez sur le bouton "Attribuer", puis sélectionnez Attribuer aux personnes dans le menu déroulant.

8. Dans une fenêtre contextuelle qui apparaît, attribuez l'application créée aux personnes qui utiliseront SAML 2.0 pour s'authentifier auprès de Zabbix, puis appuyez sur "Enregistrer et revenir en arrière".

9. Accédez à l'onglet Connexion et appuyez sur le bouton "Afficher les instructions de configuration". Les instructions de configuration seront affichées dans un nouvel onglet ; gardez cet onglet ouvert lors de la configuration de Zabbix.

Configuration de Zabbix

1. Dans Zabbix, accédez aux paramètres SAML dans la section Administration → Authentification et copier les informations des instructions de la configuration d'Okta dans les champs correspondants :

  • URL du service SSO → URL du service SSO
  • ID d'entité de l'IdP → ID d'entité IdP
  • Attribut du nom d'utilisateur → Nom d'attribut (usrEmail)
  • ID d'entité du SP → URI d'audience

2. Téléchargez le certificat fourni dans la page des instructions de configuration d'Okta dans le dossier ui/conf/certs en tant que idp.crt et définissez l'autorisation 644 par exécutant :

chmod 644 idp.crt

Notez que si vous avez mis à niveau vers Zabbix 5.0 à partir d'une version plus ancienne, vous devrait également ajouter manuellement ces lignes au fichier zabbix.conf.php (situé dans le répertoire /ui/conf/):

// Utilisé pour l'authentification SAML.
       $SSO['SP_KEY'] = 'conf/certs/sp.key' ; // Chemin vers votre clé privée.
       $SSO['SP_CERT'] = 'conf/certs/sp.crt' ; // Chemin vers votre clé publique.
       $SSO['IDP_CERT'] = 'conf/certs/idp.crt' ; // Chemin d'accès à la clé publique IdP.
       $SSO['SETTINGS'] = [] ; // Paramètres additionnels

Voir les instructions génériques Authentification SAML pour plus de détails.

3. Si Assertion Encryption a été défini sur Encrypted dans Okta, la case à cocher "Assertions" du paramètre Chiffrement doit être cochée dans Zabbix également.

4. Cliquez sur le bouton "Actualiser" pour enregistrer ces paramètres.

Pour vous connecter avec SAML, le nom d'utilisateur dans Zabbix doit correspondre à l'e-mail d'Okta. Ces paramètres peuvent être modifiés dans la section Administration → Utilisateurs de l'interface Web Zabbix.