Aller au contenu principal
Version: 21.10

Configurer une authentification par SSO

Exemple d'architecture SSO​

Voici un exemple d’architecture SSO avec LemonLDAP :

image

  1. L’utilisateur s’authentifie sur le portail SSO.

  2. Le portail d’authentification vĂ©rifie les droits d’accĂšs auprĂšs du serveur LDAP.

  3. Le serveur LDAP renvoie les donnĂ©es de l’utilisateur.

  4. Le portail d’authentification crĂ©e une session pour stocker les donnĂ©es de l’utilisateur et renvoie un cookie SSO Ă  l’utilisateur.

  5. L’utilisateur est redirigĂ© vers Centreon Web et interceptĂ© par le handler SSO qui vĂ©rifie les droits d’accĂšs de l’utilisateur.

  6. Le handler envoie une requĂȘte Ă  Centreon Web avec l’en-tĂȘte d’authentification (ex: HTTP_AUTH_USER).

  7. Centreon Web vĂ©rifie les droits d’accĂšs auprĂšs du serveur LDAP grĂące Ă  l’en-tĂȘte de la requĂȘte.

  8. Le serveur LDAP renvoie les informations de l’utilisateur.

  9. Centreon Web renvoie les informations au handler.

  10. Le handler SSO transfùre les informations à l’utilisateur.

Configurer une authentification par SSO​

  1. Le SSO est géré par Apache : modifiez la configuration Apache pour inclure les paramÚtres de configuration.

  2. Remplissez les champs suivants à la page Administration > ParamÚtres > Centreon web, section Propriétés d'authentification.

    • La case Activer l'authentification SSO active l'authentification SSO.
    • Champ Mode SSO :
      • Seulement SSO : l'authentification doit avoir lieu uniquement par SSO (toute autre adresse que celle des clients de confiance sera bloquĂ©e)
      • Mixte : les utilisateurs autres que les clients de confiance pourront se connecter par identifiant/mot de passe. Vous devez quand mĂȘme remplir le champ Adresse des clients de confiance SSO.
    • Le champ Adresses des clients SSO de confiance indique quelles sont les adresses IP/DNS qui seront autorisĂ©es Ă  se connecter en SSO (par exemple l'adresse d'un reverse proxy). SĂ©parez les adresses par une virgule.
    • Le champ Adresses des clients de bloquĂ©s indique quelles sont les adresses IP/DNS des clients qui seront refusĂ©s.
    • Le champ EntĂȘte HTTP SSO indique la variable de l'en-tĂȘte qui sera utilisĂ©e comme login/pseudo.
    • Entrez Ă©ventuellement dans le champ Chaine de recherche (pattern) pour l'authentification (login) une expression rĂ©guliĂšre Ă  rechercher dans l'identifiant. Par exemple, entrez /@.*/ pour trouver la fin de l'adresse email de votre identifiant.
    • Entrez dans le champ Chaine de remplacement (pattern) pour l'authentification (login) la chaĂźne par laquelle remplacer celle dĂ©finie dans le champ Chaine de recherche (pattern) pour l'authentification (login). Laissez le champ vide pour supprimer cette chaĂźne.

La fonctionnalitĂ© SSO doit ĂȘtre activĂ©e seulement dans un environnement dĂ©diĂ© et sĂ©curisĂ© pour le SSO. Les accĂšs directs des utilisateurs Ă  Centreon Web doivent ĂȘtre dĂ©sactivĂ©s.

Exemple de configuration​

Exemple de configuration d'Apache pour Kerberos (extrait du fichier /etc/httpd/conf.d/10-centreon.conf) :

 <Location /centreon>
AuthType Kerberos
AuthName "Kerberos Login"
KrbServiceName HTTP/supervision.int.centreon.com
RequestHeader set X-Remote-User %{REMOTE_USER}s
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbSaveCredentials Off
KrbVerifyKDC On
KrbAuthRealms SUPERVISION.INT
Krb5KeyTab /opt/rh/httpd24/root/etc/httpd/conf/centreon.keytab
<RequireAny>
# Allow this IP without auth
Require ip xx.xx.xx.xx xx.xx.xx.xx xx.xx.xx.xx
# Everyone else needs to authenticate
Require valid-user
</RequireAny>
</Location>