Configuration LDAP
Depuis la version GRR 1.7, il est possible de se connecter à GRR en s'authentifiant auprès d'un annuaire LDAP. LDAP (Lightweight Directory Access Protocol) est un protocole permettant d’interroger un annuaire contenant des informations d’utilisateurs (nom, login, email, ...).
Dans le panneau d'administration de GRR, une page « configuration LDAP » permet d'activer et de configurer l'authentification LDAP. A l'ouverture de cette page, GRR détecte si PHP a été compilé avec le support LDAP. Dans le cas contraire, un message en avertit l'administrateur qui ne peut aller plus loin dans le paramétrage LDAP.
L'activation LDAP consiste à choisir le statut par défaut des utilisateurs venant de l'annuaire (« usager » ou « visiteur »).
Une fois LDAP activé, il faut configurer le fichier « config_ldap.inc.php », ce qui est relativement simple en utilisant la procédure automatique accessible à partir de cette page (attention à donner les droits d'écriture sur le fichier « config_ldap.inc.php »).
Attention : si vous configurez manuellement le fichier « config_ldap.inc.php » (sans passer par la configuration en ligne), vous devez tout de même activer LDAP en choisissant le statut par défaut des utilisateurs importés.
Une fois la configuration correctement effectuée, deux types d'utilisateurs peuvent cohabiter :
- les utilisateurs gérés directement par GRR dans la base locale de GRR et
- les utilisateurs importés de l'annuaire LDAP.
Dans le tableau de gestion des utilisateurs un champ indique le type d'authentification (« local » ou « ext ») de l'utilisateur.
Quand le type d'authentification d'un utilisateur est « ext », il ne peut changer son mot de passe dans GRR (celui-ci en effet n'est pas stocké dans GRR mais dans l'annuaire LDAP).
L'administrateur peut modifier tous les paramètres d'un utilisateur « ext » tout comme pour un utilisateur « local », à l'exception du mot de passe qui est laissé vide dans la base locale.
L'administrateur a la possibilité de changer un utilisateur « ext » en un utilisateur « local ». La procédure est irréversible. Il y a alors perte de synchronisation entre GRR et LDAP pour cet utilisateur.
GRR n'inscrit aucune donnée dans l'annuaire. Ainsi GRR n’a besoin que d’un accès en lecture seule à l’annuaire LDAP.
Concrètement, quand un utilisateur tente de se connecter à GRR en tapant un identifiant et un mot de passe, GRR suit la procédure suivante :
- GRR regarde si un utilisateur ayant cet identifiant et ce mot de passe est présent dans la base des utilisateurs de GRR.
Si oui : l'utilisateur est connecté à GRR.
- Dans le cas contraire : si ldap n'est pas activé ou pas configuré, la procédure s'arrête et il y a échec de la connexion. Si ldap est activé et configuré, GRR tente une authentification de l'utilisateur dans l'annuaire.
- Si cette authentification échoue,la procédure s'arrête et il y a échec de la connexion.
- Si l'authentification réussit :
- si c'est la première connexion à GRR, GRR crée l'utilisateur « ldap » dans la table « utilisateurs » en tentant d'importer le nom et l'adresse email. Le champ « mot de passe » est laissé vide. Le statut « usager » ou « visiteur » est celui défini par défaut dans la configuration LDAP. L'administrateur pourra par la suite modifier ces paramètres au cas par cas. La procédure s'arrête : l'utilisateur est alors connecté à GRR. (remarque : si un utilisateur « local » existant porte déjà le même identifiant, l'importation ne pourra avoir lieu : il y a échec de la connexion).
- Si ce n'est pas la première connexion, GRR récupère dans sa base les informations concernant l'utilisateur (paramètres par défaut, langue, ...). L'utilisateur peut se connecter à GRR.
Une fois un utilisateur « ldap » connecté, il est traité par la voie classique, c’est-à-dire simplement avec le cookie de session. Ainsi on ne se connecte à LDAP que lors de la procédure de connexion à GRR. De même, les paramètres pris en compte dans la navigation dans GRR (affichage par défaut, nom, prénom, email, ...) sont ceux de GRR.