Nous quittons aujourd’hui la thématique « Information géographique » chère à Agaric IG pour se pencher sur celle de la gestion des utilisateurs dans les applications.
Chez Agaric IG, nous utilisons au quotidien (en interne, en lien avec nos clients ou pour le compte de nos clients) de nombreux outils (Nextcloud, Redmine, Geoserver, Lizmap, etc.) qui disposent tous de leur propre mécanisme de gestion des utilisateurs
L’administration de tous ces comptes (création, modification, suppression) dans les différentes applications est une tâche un peu fastidieuse et source d’erreurs. Le confort pour les utilisateurs n’est également pas au rendez vous car chaque application vient enrichir une liste d’identifiants et de mots de passe déjà bien riche.
Pour essayer d’apporter un peu de cohérence, nous nous sommes intéressés à la mise en place de solutions facilitant la gestion de nos utilisateurs. Comme toujours, les solutions opensource ont été privilégiées et nous avons retenu les premières briques techniques OpenLDAP et LDAP ToolBox.
OpenLDAP
OpenLDAP est un logiciel open source qui utilise le protocole LDAP. Il permet de créer et de gérer des annuaires et constitue donc un outil régulièrement utilisé pour l’authentification et la gestion des utilisateurs de nos applications.
La mise en place d’un annuaire LDAP présente de nombreux avantages :
- Centralisation des utilisateurs et des permissions
- Authentification unique sur plusieurs services
- Interopérabilité (c’est notamment le cas avec de nombreux outils exploités au quotidien par Agaric IG comme Nextcloud, Redmine , Lizmap, GeoServer, etc.)
La configuration et l’administration de cet outil s’avérant un peu complexe et fastidieuse, des outils complémentaires ont été développés pour faciliter les tâches de gestion au quotidien. Chez Agaric IG, nous avons fait le choix de d’OpenLDAP LTB (LDAP Toolbox)
OpenLDAP LTB
Les outils LDAP Toolbox ajoutent une interface utilisateur et des fonctionnalités qui facilitent l’administration en proposant :
- Des paquets OpenLDAP pour Ubuntu, Debian, CentOS, Rhel enrichis de bonus:
- Un script de démarrage et d’arrêt basé sur un script CLI proposant des actions comme
- la sauvegarde et la restauration des données et de la configuration (slapd.conf et cn=config, ldapmodify etc),
- le test de la configuration,
- la réindexation,
- le démarrage en mode debug
- la vérification du statut de la réplication.
- Des modules de contrôle de la politique de mot de passe (ppm et check_password)
- Des scripts de rotation des logs pour gérer et maintenir les fichiers de logs à jours
- Des algorithmes de chiffrement des mots de passe (sha2 et pbkdf2)
- Des overlays contribués (lastbind, autogroup etc)
- Un script de démarrage et d’arrêt basé sur un script CLI proposant des actions comme
- Des outils de surveillance permettant aux administrateurs de suivre les performances et d’identifier les problèmes potentiels
- Des outils accessibles en web
- Self Service Password est une application PHP permettant au utilisateurs de réinitialiser leur mot de passe.

- Des outils accessibles en web
- White Pages est une application PHP qui permet aux utilisateurs de rechercher et d’afficher des données stockées dans un répertoire LDAP.
- Service Desk est une application destinée au support. Elle permet de parcourir les comptes dans un annuaire LDAP, de visualiser les informations et de mettre à jour les statuts (exemple : verrouiller un utilisateur)
- Des scripts et des guides pour diverses taches administratives comme la gestion des certificats, l’authentification pass-through avec SASL etc
- Un rôle Ansible pour automatiser la configuration et la gestion d’openldap
Conclusion
Les outils de gestion d’annuaire OpenLDAP et LDAP ToolBox devraient prochainement être déployés en interne pour faciliter l’accès aux différents outils proposées par Agaric IG à ses clients. Ces solutions pourront également être valorisées dans le cadre du déploiement d’IDG (Infrastructure de Données Géographiques) pour lesquelles le nombre d’outils, la gestion des utilisateurs et des droits constituent un enjeu majeur.
Agaric IG ne souhaite pas se limiter à ces outils « LDAP » seuls et a déjà entamé des travaux visant à valoriser ces annuaires au travers de la solution open source de gestion des identités et des accès Keycloak… Affaire à suivre.