Dans un précédent article nous avons vu comment installer GLPI afin de piloter l’activité de notre service informatique.
Si vous possédez un serveur LDAP (Active Directory ou Samba AD par exemple) vous pourrez utiliser votre annuaire comme base pour vos utilisateurs GLPI.

Nous allons voir ici comment connecter et utiliser un annuaire LDAP.

Pré requis


Nous utiliserons ici un server Microsoft ayant pour rôles:

  • Active Directory (AD DS)
  • DNS

Ce serveur aura pour IP 192.168.1.100.
L’Active Directory contiendra plusieurs utilisateurs fictifs de l’entreprise domaintest, classés dans des OU représentant chaque services:

OU Utilisateurs
Direction directeur01
Direction assistante.direction
DSI dsi01
DSI administrateur.sys01
DSI technicien01
DSI chef.proj01
Finances daf01
Finances compta01
RH drh01
RH rh01

L’ensemble de ces utilisateurs seront membres d’un groupe « user-glpi » présent dans l’OU « GLPI ».
Il nous faudra créer un utilisateur servant à la synchronisation. Cet utilisateur doit être utilisateur du domaine et ne requiert aucun droit particulier (membre du groupe « utilisateurs du domaine »). Ici notre utilisateur s’appellera « glpi-ldap ».

Notre serveur GLPI aura été installé selon cette procédure et aura pour IP 192.168.1.101.

Principe général de gestion

Le but de cette configuration est de permettre de donner l’accès a GLPI directement depuis l’AD.
Lorsqu’un nouvel utilisateur sera créé dans l’AD, nous l’intègrerons au groupe « user-glpi » afin de lui donner accès au portail.
Une règle d’attribution automatique permettra d’attribuer le bon profil à l’utilisateur lors de sa synchronisation dans GLPI.
Lorsqu’un utilisateur sera désactivé ou supprimé au niveau Active Directory, ce dernier sera désactivé dans GLPI.

L’administration s’en trouvera par conséquent automatisée et simplifiée.

Connexion de GLPI 10 à l’Active Directory

Pour connecter GLPI à notre serveur Active Directory nous nous connecterons avec l’administrateur local.
Puis nous irons dans le menu « Configuration », « Authentification », et enfin « Annuaire LDAP ».

Nous cliquerons alors sur le bouton « Ajouter » en haut de la fenêtre.

Dans l’assistant de création nous commencerons par cliquer sur « Active Directory » au niveau de la ligne « Préconfiguration ».

Nous configurerons le connecteur comme cela:

  • Nom: nous donnerons ici un nom au connecteur. Nous ferons le choix de donner le nom de notre serveur Active Directory
  • Serveur par défaut: Nous choisirons « Oui »
  • Actif: Nous choisirons d’activer le connecteur via ce menu en choisissant « Oui »
  • Serveur: Nous donnerons l’adresse IP de notre serveur, ici 192.168.1.100.
  • Port: Nous laisserons le port par défaut, le 389.
  • Filtre de connexion: Ici nous configurerons la manière dont l’AD sera scanné et quels éléments seront intégrés dans les recherches de synchronisation. Nous rentrerons les paramètres suivants:
(&(objectClass=user)(objectCategory=person)(memberOf=CN=user-glpi,OU=GLPI,DC=DOMAINTEST,DC=LOC)(cn=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

Ici nous indiquons de ne tenir compte que des utilisateurs faisant partie du groupe « user-glpi’.

  • Base DN: Nous indiquerons notre domaine active directory
DC=domaintest,DC=loc
  • Utiliser un compte: Nous sélectionnerons « Oui »
  • DN du compte: Nous indiquerons le compte que nous avons créé a destination de la synchronisation, ici glpi-ldap@domaintest.loc
  • Mot de passe du compte: Nous indiquerons le mot de passe du compte de synchronisation
  • Champ de l’identifiant: En ayant cliqué sur le bouton « Active Directory », ce champs doit être pré rempli avec la valeur « samaccountname »
  • Champ de synchronisation: En ayant cliqué sur le bouton « Active Directory », ce champs doit être pré rempli avec la valeur « objectguid »

Enfin nous cliquerons sur le bouton « Ajouter » pour créer le connecteur.

Une fois le connecteur créé nous cliquerons dessus afin de tester dans son paramétrage.

Nous irons dans le menu « Tester », puis nous cliquerons sur le bouton « Tester ».
Si tous va bien nous aurons un message indiquant un test réussi.

Synchronisation des utilisateurs

Pour synchroniser nos utilisateurs nous aurons deux possibilités, via l’interface graphique ou via la ligne de commande de GLPI.

Via l’interface graphique:

Nous irons dans le menu « Administration », puis « Utilisateurs ».
Nous cliquerons alors sur le bouton « Liaison annuaire LDAP ».

Dans la nouvelle fenêtre, le bouton « Synchronisation des utilisateurs déjà importés » permettra de synchroniser les éventuelles modifications apportées aux comptes déjà importés. Le bouton « Importation de nouveau utilisateurs » permettra d’importer les utilisateurs. Nous cliquerons sur ce dernier.

 

A l’étape suivante nous cliquerons sur le bouton « Rechercher » afin de trouver les comptes Active Directory étant dans le groupe « user-glpi » et par conséquent autoriser à disposer de GLPI.

Les comptes s’afficheront alors:

Nous les sélectionnerons tous puis dans le bouton « Action » nous choisirons d’importer les comptes.

Un pop up de confirmation d’importation apparaitra.

Nos utilisateurs apparaitrons dans le menu de gestion des utilisateurs.

Détail important, un certain nombre d’informations remonterons avec les utilisateurs. Si vos utilisateurs Active Directory sont parfaitement remplis, les éléments tel que les numéros de téléphone, les adresses ou les adresses mails apparaitront (il faudra afficher les colonnes via le bouton clé a molette ).

Importation via le CLI

Une méthode plus rapide et automatisée est d’utiliser une commande via un tâche cron sur le serveur GLPI.

Pour cela nous éditerons la config de cron avec la commande :

sudo crontab -e

Puis nous rajouterons la ligne suivante:

0 */1 * * * /usr/bin/php8.1 /var/www/glpi.domaintest.loc/bin/console glpi:ldap:synchronize_users -d 3

Le paramètre « -d 3 » permettra la désactivation des utilisateurs de GLPI lorsque ceux ci sont supprimés ou désactivés dans l’Active Directory.

 

Règles d’attribution

Il est possible dans GLPI, d’attribuer un profil en fonction de l’OU ou est placé l’utilisateur Active Directory. 
Par exemple un utilisateur présent dans l’OU « DSI » aura automatiquement le profil « Technicien » attribué par défaut.
Nous pourrons ainsi créer les profils correspondants au particularités que nous souhaitons attribuer à chaque utilisateur.

Dans le cas ou rien n’est précisé c’est le profil « self-service » qui sera attribué.

Pour commencer nous irons dans « Administration », « Règles », et « Règles d’affectation d’habilitation à un utilisateur ».

Puis nous cliquerons sur le bouton « Ajouter » .

Nous donnerons un nom à notre règle : « Profil Technicien » et nous l’activerons en sélectionnant « Oui » sur la ligne « Actif » :

Nous rentrerons dans la règle pour la paramétrer.
Nous commencerons par définir les critères d’application de la règle en cliquant sur « Ajouter un nouveau critère ».

Nous sélectionnerons alors le paramètre « (LDAP)DistinguishedName » puis « finit par » « ou=DSI,dc=domaintest,dc=loc » indiquant ainsi les utilisateurs de l’OU DSI.

Puis dans le menu « Actions », nous cliquerons sur le bouton « Ajouter une nouvelle action » .

Nous définirons l’action « d’Assigner » un « Profil » de « Technician ». Nous validerons en cliquant sur le bouton « Ajouter »:

Les utilisateurs ayant déjà été importés auront besoin d’être resynchronisés avec la commande:

sudo /usr/bin/php8.1 /var/www/glpi.domaintest.loc/bin/console glpi:ldap:synchronize_users -d 3

 

Il vous ai maintenant possible de contrôler l’entièreté de l’accessibilité a GLPI via l’Active Directory, facilitant ainsi votre gestion.

 

 

 

Comments are closed