Aller au contenu principal
Version: 22.04

Configurer une authentification par SSO

L'authentification Web SSO repose sur le serveur Web Apache. C'est Apache qui, selon sa configuration, se charge d'authentifier l'utilisateur avant d'autoriser l'accès à l'interface web de Centreon. De nombreux modules Apache permettent l'authentification via les protocoles OIDC, SAMLv2, TLS, Kerberos, etc.

L'utilisateur doit être présent dans la configuration de Centreon pour accéder à l'interface.

Configurer l'authentification Web SSO‚Äč

L'authentification se paramètre à la page Administration > Authentication > Web SSO Configuration :

image

√Čtape 1 : Activer l'authentification‚Äč

Activez l'authentification :

  • Enable Web SSO authentication permet d'activer ou de d√©sactiver l'authentification Web SSO.
  • Mode d'authentification : indique si l'authentification doit se faire uniquement par Web SSO ou en utilisant √©galement l'authentification locale (Mixte). En mode mixte, des utilisateurs cr√©√©s manuellement dans Centreon (et non identifi√©s par Web SSO) pourront √©galement se connecter.

Lors du paramétrage, il est recommandé d'activer le mode "mixte". Cela vous permettra de garder l'accès au compte local admin en cas de configuration érronée.

√Čtape 2 : Configurer les informations d'acc√®s au fournisseur d'identit√©‚Äč

Configurez les informations du fournisseur d'identité:

  • Login header attribute name: Quelle variable des en-t√™tes doit √™tre utilis√©e pour r√©cup√©rer le login de l'utilisateur. Par exemple REMOTE_USER.
  • Pattern match login (regex): une expression r√©guli√®re √† rechercher dans l'identifiant. Par exemple, entrez /@.*/ pour trouver la fin de l'adresse email de votre identifiant.
  • Pattern replace login (regex): la cha√ģne par laquelle remplacer celle d√©finie dans le champ Pattern match login (regex) pour l'authentification (login). Laissez le champ vide pour supprimer cette cha√ģne.

√Čtape 3 : Configurer les adresses des clients‚Äč

Si vous laissez ces deux champs vides, toutes les adresses IP seront autorisées à accéder à l'interface Centreon.

  • Adresses de clients de confiance : Si vous entrez des adresses IP dans ce champ, seules ces adresses IP seront autoris√©es √† acc√©der √† l'interface Centreon. Toutes les autres adresses IP seront bloqu√©es. S√©parez les adressses IP par des virgules.
  • Adresses de clients sur liste noire : Ces adresses IP seront bloqu√©es. Toutes les autres adresses IP seront autoris√©es.

√Čtape 4 : Configurer le serveur web Apache‚Äč

Vous devez configurer le module Apache permettant l'authentification auprès du fournisseur d'identité. Une fois cette configuration effectuée, vous devez modifier la configuration de Centreon pour Apache afin de n'autoriser l'accès qu'aux utilisateurs authentifiés.

  1. √Čditez le fichier /etc/httpd/conf.d/10-centreon.conf et recherchez le bloc suivant :

        Header set X-Frame-Options: "sameorigin"
    Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;SameSite=Strict
    ServerSignature Off
    TraceEnable Off

    Alias ${base_uri}/api ${install_dir}
    Alias ${base_uri} ${install_dir}/www/
  2. Remplacez-le par :

        Header set X-Frame-Options: "sameorigin"
    Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;SameSite=Strict
    ServerSignature Off
    TraceEnable Off

    RequestHeader set X-Forwarded-Proto "http" early

    Alias ${base_uri}/api ${install_dir}
    Alias ${base_uri} ${install_dir}/www/

    <Location ${base_uri}>
    AuthType openid-connect
    Require valid-user
    </Location>

    Dans cet exemple, le module Apache utilisé était mod_auth_openidc. C'est pourquoi l'authentification est openid-connect.

  3. Validez la configuration d'Apache à l'aide de la commande suivante :

    /opt/rh/httpd24/root/usr/sbin/httpd -t
  4. Redémarrez ensuite le serveur Web Apache :

    systemctl restart httpd24-httpd
  5. Pour conclure, reconstruisez le cache :

    sudo -u apache /usr/share/centreon/bin/console cache:clear

Step 5: Configurer le fournisseur d'identit√©‚Äč

Configurer votre fournisseur d'identité pour ajouter l'application Centreon à utiliser votre protocole pour authentifier vos utilisateur, et pour autoriser l'uri de redirection suivante une fois vos utilisateurs authentifiés :

{protocol}://{server}:{port}/centreon/websso

Remplacez {protocol}, {server} et {port} par l'URI permettant d'accéder à votre serveur Centreon. Par exemple : https://centreon.domain.net/centreon/websso