Chapitre 4 - Active Directory, inventaire et plugins
LDAP, LDAPS, GLPI Agent, déploiement GPO et Marketplace.
- Préparation de LDAP et LDAPS
- Utilisateurs, groupes et dépannage LDAP
- Installation de GLPI Agent sous Windows
- Déploiement de GLPI Agent par GPO
- Agent Linux, OAuth et dépannage
- Plugins et Marketplace
Préparation de LDAP et LDAPS
7.1 Préparer un compte de service
Créer dans Active Directory un compte dédié, par exemple :
svc_glpi_ldap
Ce compte doit uniquement disposer des droits de lecture nécessaires dans l’annuaire. Il ne doit pas être administrateur du domaine.
7.2 Installer l’autorité de certification AD
Si le certificat LDAPS est signé par une autorité interne, copier son certificat sur le serveur GLPI :
sudo cp ad-ca.crt /usr/local/share/ca-certificates/ad-ca.crt
sudo update-ca-certificates
Tester LDAPS :
openssl s_client \
-connect dc1.snts.local:636 \
-servername dc1.snts.local \
-showcerts
Le nom utilisé dans GLPI doit correspondre au certificat du contrôleur de domaine.
7.3 Paramètres d’annuaire GLPI
Dans Configuration > Authentification > Annuaires LDAP, ajouter un annuaire :
| Champ | Exemple |
|---|---|
| Nom | Active Directory SNTS |
| Serveur | ldaps://dc1.snts.local |
| Port | 636 |
| Base DN | DC=snts,DC=local |
| Root DN | CN=svc_glpi_ldap,OU=Comptes de service,DC=snts,DC=local |
| Mot de passe | Mot de passe du compte de service |
| Champ de l’identifiant | sAMAccountName |
| Champ de synchronisation | objectGUID |
Filtre utilisateur possible :
(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Ce filtre sélectionne les utilisateurs et exclut les comptes désactivés.
7.4 Tester depuis Debian
ldapsearch -x \
-H ldaps://dc1.snts.local:636 \
-D "CN=svc_glpi_ldap,OU=Comptes de service,DC=snts,DC=local" \
-W \
-b "DC=snts,DC=local" \
"(sAMAccountName=alexandre)"
Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.
Utilisateurs, groupes et dépannage LDAP
7.5 Importer les utilisateurs
Dans Administration > Utilisateurs :
- ouvrir la liaison vers l’annuaire LDAP ;
- rechercher les nouveaux utilisateurs ;
- sélectionner les comptes ;
- les importer ;
- attribuer le profil et l’entité ;
- tester la connexion avec un compte standard.
Avant un import massif, configurer les règles d’attribution d’entités et de profils.
7.6 Groupes LDAP
Configurer ensuite l’import et la synchronisation des groupes. Vérifier :
- le champ de nom du groupe ;
- le champ d’appartenance ;
- l’utilisation de
memberOf; - la récursivité des groupes imbriqués ;
- la correspondance entre groupes AD et profils GLPI.
7.7 Erreurs LDAP courantes
A successful bind must be completed
Vérifier :
- que le Root DN est complet ;
- que le mot de passe du compte de service est renseigné ;
- que le compte n’est ni verrouillé ni expiré ;
- que le serveur autorise la méthode de liaison utilisée ;
- que le certificat LDAPS est approuvé par Debian.
Can't contact LDAP server
getent hosts dc1.snts.local
nc -vz dc1.snts.local 636
openssl s_client -connect dc1.snts.local:636
La connexion fonctionne mais aucun utilisateur n’apparaît
Vérifier :
- la Base DN ;
- le filtre ;
- les droits de lecture du compte de service ;
- le champ
sAMAccountName; - la présence des utilisateurs dans l’OU interrogée.
Conserver au moins un compte administrateur local GLPI afin de pouvoir intervenir lorsque l’Active Directory est indisponible.
Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.
Installation de GLPI Agent sous Windows
8.1 Préparer GLPI
Dans GLPI :
- vérifier que l’inventaire est activé ;
- définir les règles d’import et de liaison ;
- prévoir les entités et tags ;
- vérifier l’URL d’inventaire.
URL courante :
https://glpi.dreamsaphir.fr/front/inventory.php
Avec le plugin GLPI Inventory installé depuis la Marketplace, certaines tâches utilisent :
https://glpi.dreamsaphir.fr/marketplace/glpiinventory/
8.2 Windows — installation silencieuse
Télécharger le MSI x64 depuis les publications officielles de GLPI Agent, puis lancer la commande depuis cmd.exe en administrateur :
msiexec /i GLPI-Agent-1.18-x64.msi /quiet ^
SERVER="https://glpi.dreamsaphir.fr/front/inventory.php" ^
RUNNOW=1 ^
EXECMODE=1 ^
TAG="PARC-PRODUCTION"
Options utiles :
| Option | Rôle |
|---|---|
SERVER |
Adresse du serveur d’inventaire |
RUNNOW=1 |
Lance un inventaire après l’installation |
EXECMODE=1 |
Installe l’agent comme service |
TAG |
Sert aux règles d’affectation |
NO_SSL_CHECK=1 |
Désactive le contrôle TLS — déconseillé |
Ne pas utiliser NO_SSL_CHECK=1 en production. Installer correctement la chaîne de certification sur les postes.
Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.
Déploiement de GLPI Agent par GPO
Déploiement de GLPI Agent par GPO
8.3 Déploiement par GPO
Méthode conseillée :
- placer le MSI sur un partage réseau accessible aux ordinateurs ;
- créer une GPO liée aux OU contenant les postes ;
- déployer le MSI par Configuration ordinateur > Paramètres du logiciel ou par script de démarrage ;
- utiliser un tag par site ou population si nécessaire ;
- tester d’abord sur une OU pilote.
Exemple de script de démarrage :
@echo off
set "MSI=\\snts.local\NETLOGON\GLPI-Agent-1.18-x64.msi"
set "SERVER=https://glpi.dreamsaphir.fr/front/inventory.php"
if exist "C:\Program Files\GLPI-Agent\glpi-agent.exe" exit /b 0
msiexec /i "%MSI%" /quiet SERVER="%SERVER%" RUNNOW=1 EXECMODE=1 TAG="ROUEN"
exit /b %errorlevel%
8.4 Forcer un inventaire Windows
"C:\Program Files\GLPI-Agent\glpi-agent.bat" --force
Journal :
C:\Program Files\GLPI-Agent\logs\glpi-agent.log
Interface locale de l’agent :
http://127.0.0.1:62354
L’interface intégrée ne doit pas être exposée à tout le réseau sans contrôle.
Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.
Agent Linux, OAuth et dépannage
Agent Linux, OAuth et dépannage
8.5 Linux
Après installation du paquet ou de l’AppImage officiel, créer un fichier spécifique dans conf.d plutôt que modifier le fichier principal :
sudo tee /etc/glpi-agent/conf.d/server.cfg >/dev/null <<'CFG'
server = https://glpi.dreamsaphir.fr/front/inventory.php
tag = LINUX-PRODUCTION
CFG
Forcer un inventaire :
sudo glpi-agent --force
Contrôler le service et les journaux :
sudo systemctl status glpi-agent --no-pager
sudo journalctl -u glpi-agent -n 100 --no-pager
8.6 OAuth 2.0 pour l’inventaire GLPI 11
GLPI 11 permet de créer un client OAuth avec :
- le type d’octroi Client Credentials ;
- le scope inventory ;
- un identifiant client ;
- un secret client.
Les paramètres correspondants de l’agent sont :
OAUTH_CLIENT_ID
OAUTH_CLIENT_SECRET
Cette méthode améliore l’authentification de l’agent, mais le secret doit être protégé lors du déploiement. Valider la compatibilité de la version de l’agent utilisée avant un déploiement général.
8.7 Dépannage de l’agent
Vérifier depuis le poste :
Résolution DNS
Accès HTTPS
Validité du certificat
Présence du service GLPI Agent
URL SERVER
Journal de l’agent
Règles d’import GLPI
Sous Windows :
nslookup glpi.dreamsaphir.fr
curl.exe -I https://glpi.dreamsaphir.fr
sc query glpi-agent
Une remontée réussie peut malgré tout être rejetée ou placée dans les éléments ignorés si les règles d’import ne permettent pas son association.
Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.
Plugins et Marketplace
Plugins et Marketplace
Bonnes pratiques
- installer uniquement les plugins réellement nécessaires ;
- vérifier leur compatibilité avec GLPI 11 avant une mise à jour ;
- faire une sauvegarde avant installation ou mise à jour ;
- tester les plugins sur une instance de préproduction ;
- préférer la Marketplace intégrée ;
- supprimer les plugins abandonnés ;
- ne jamais télécharger un plugin depuis une source inconnue.
Plugins couramment utilisés
| Plugin | Fonction |
|---|---|
| GLPI Inventory | Découverte réseau, SNMP, déploiement et tâches avancées |
| Fields | Champs supplémentaires |
| Data Injection | Import de données |
| Formcreator | Formulaires avancés, surtout pour les environnements encore basés sur GLPI 10 |
| Reports | Rapports supplémentaires |
GLPI 11 intègre nativement des formulaires et des types d’actifs personnalisés. Vérifier si un besoin est déjà couvert nativement avant d’ajouter un plugin.
Commandes de gestion
Lister les commandes disponibles :
cd /var/www/glpi
sudo -u www-data php bin/console
Installer et activer un plugin :
sudo -u www-data php bin/console glpi:plugin:install NOM_DU_PLUGIN
sudo -u www-data php bin/console glpi:plugin:activate NOM_DU_PLUGIN
Désactiver un plugin :
sudo -u www-data php bin/console glpi:plugin:deactivate NOM_DU_PLUGIN
Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.