
Comment intégrer Drupal avec LDAP ? Un guide complet étape par étape
Dans cet article, je vais vous montrer comment intégrer Drupal avec un serveur Lightweight Directory Access Protocol (LDAP), en utilisant JumpCloud comme exemple. Avec ce guide, vous pourrez gérer rapidement et en toute sécurité les utilisateurs sur votre site web. Je vous encourage à lire le billet de blog ou à regarder la vidéo de la série “Nowoczesny Drupal”.
Introduction à la gestion des utilisateurs
Gérer les utilisateurs à travers les systèmes et les applications devient de plus en plus difficile dans les environnements informatiques modernes, surtout dans les grandes entreprises et organisations. À mesure que le nombre d'utilisateurs augmente, les administrateurs doivent souvent mettre à jour les données de chaque personne à plusieurs endroits. Cette démarche peut non seulement être chronophage, mais elle augmente aussi le risque d'erreurs et d'incohérences dans les informations.
De plus, tout changement de poste ou d'informations personnelles signifie que les profils dans tous les systèmes doivent être mis à jour manuellement, ce qui peut être très difficile à maintenir à jour. Pour simplifier la gestion des données des utilisateurs, de nombreuses organisations choisissent de mettre en œuvre des répertoires centraux qui stockent les informations sur les utilisateurs et leurs permissions.
Drupal, en tant que CMS choisi de manière volontaire, est excellent pour s'intégrer avec de tels répertoires, car il permet d'utiliser un point central unique pour la gestion des utilisateurs, facilitant ainsi le travail des administrateurs. Grâce à l'intégration avec un serveur LDAP, Drupal permet aux utilisateurs de se connecter à plusieurs systèmes avec un seul ensemble d'identifiants.
Plus loin dans cet article, vous verrez comment intégrer Drupal avec un serveur LDAP pour activer le Single Sign-On (SSO) et la gestion centrale des utilisateurs en utilisant JumpCloud comme exemple. De même, vous pouvez reproduire cela pour un autre serveur LDAP, tel que Microsoft Entra ou OpenLDAP.
Où l'utilisation de LDAP est-elle justifiée et qui en bénéficiera ?
L'intégration LDAP est particulièrement utile pour les organisations qui emploient de grandes équipes, exploitent de nombreux systèmes informatiques ou ont besoin d'une gestion centralisée des données utilisateur. LDAP est utilisé dans :
- Entreprises et corporations - qui ont besoin d'un système de connexion unifié pour plusieurs applications. Avec LDAP, les employés peuvent se connecter à divers outils avec un seul compte. Dans ce cas, une telle intégration se fait le plus souvent dans les systèmes intranet.
- Portails d'actualités- employant de nombreux rédacteurs avec différents niveaux d'autorité. LDAP sur CMSs pour les médias et éditeurs de nouvelles permet de mettre à jour rapidement les données utilisateur.
- Secteur éducatif- dans les écoles et les universités, où vous devez gérer les données de nombreux étudiants, enseignants et personnel administratif. Le répertoire central LDAP permet d'accorder des permissions de manière pratique, d'accéder aux ressources et de synchroniser automatiquement les profils.
- Institutions gouvernementales- qui traitent de nombreuses données confidentielles et nécessitent un système unifié pour gérer l'accès à divers systèmes et stocker les données utilisateur en toute sécurité.
En centralisant les données, l'intégration LDAP permet aux administrateurs de mieux contrôler les systèmes et offre aux utilisateurs la commodité du Single Sign-On (SSO) et une plus grande sécurité.

Comment préparer Drupal pour l'intégration LDAP ?
Pour configurer une telle intégration, vous n'aurez besoin que d'un seul module - Lightweight Directory Access Protocol (LDAP). Ce module propose plusieurs sous-modules, tels que :
- Serveurs LDAP,
- Utilisateurs LDAP,
- Requête LDAP,
- Autorisation LDAP.
Ces éléments sont nécessaires pour configurer et synchroniser les données avec le serveur LDAP.

J'ai déjà installé ce module, mais vous pouvez voir à quoi cela ressemble sur la page d'installation du module :

Installation et activation des modules LDAP
- Installez le module LDAP sur la page des modules Drupal.
- Après l'installation, activez les sous-modules nécessaires, tels que Authorization, Provider Query, Servers, et Users, qui sont requis pour le bon fonctionnement de l'intégration.
Configuration de la connexion au serveur LDAP
Lors de l'installation d'un serveur LDAP pour Drupal, vous devrez entrer des informations essentielles, telles que l'adresse du serveur, le port et les paramètres de cryptage. Avec JumpCloud et d'autres serveurs LDAP populaires, ces informations devraient être facilement disponibles.
En plus de la configuration elle-même, pour qu'il y ait une connexion à ce serveur, je vais vous montrer comment intégrer les données du serveur pour les utilisateurs individuels et comment entrer ces données dans Drupal pour l'utilisateur.
Configuration du serveur LDAP dans Drupal
- Allez dans l'onglet "Configuration" > "Personnes" > "LDAP".
- Sélectionnez l'onglet "Serveurs" et configurez les paramètres du serveur. Pour JumpCloud, vous devrez entrer les détails du port et du cryptage.
- Après avoir entré les données du serveur, vous pouvez tester la connexion pour vous assurer que toutes les informations sont correctes. Pour ce faire, allez à l'option "Test". Là, vous pouvez sélectionner l'utilisateur dont vous souhaitez tester la connexion.
- Continuez vers le panneau de gestion des utilisateurs, des permissions et de leurs données.
Le test sur l'exemple d'utilisateur s'est révélé positif. En vert, vous pouvez voir FoundTestUser, ce qui signifie que cette connexion est bonne. Comme elle est établie avec la connexion au serveur LDAP, plusieurs données différentes pourront être utilisées plus tard dans le mappage de champs ou d'autres données déjà présentes dans Drupal lui-même.

Dans le tableau de gauche, vous pouvez voir le token utilisé, et à côté est donnée la valeur de ce token particulier :

Synchronisation des données utilisateur du serveur LDAP vers Drupal
Passons à l'intégration de Drupal avec LDAP, qui vous permet de récupérer automatiquement les données des utilisateurs depuis le serveur et de les assigner aux champs correspondants dans Drupal. Ce processus peut être configuré en mappant les champs du serveur LDAP aux champs dans Drupal.
Nous avons une connexion fonctionnelle et des champs de mappage configurés.
Mappage des champs utilisateur
- Allez dans la configuration LDAP dans Drupal : Pour commencer, allez à "Configuration" > "Personnes" > "LDAP." Ici, vous aurez accès aux paramètres de mappage des données utilisateur.
- Sélectionnez l'onglet de mappage des champs : Dans l'onglet LDAP, vous trouverez la possibilité d'assigner des champs du serveur LDAP aux champs utilisateur de Drupal. Ici, vous pouvez définir quels champs de LDAP doivent correspondre à des champs utilisateur spécifiques dans Drupal.
- Mappage des champs de base :
- Commencez par définir des champs de base, tels que nom d'utilisateur, email, et photo. Par exemple, vous pouvez assigner le champ nom d'utilisateur du serveur LDAP au champ nom d'utilisateur dans Drupal, de sorte que lorsque l'utilisateur se connecte, les données seront automatiquement synchronisées.
- En outre, vous pouvez configurer la synchronisation pour les champs email et photo s'ils sont disponibles dans le répertoire LDAP.

Connexion à Drupal après l'intégration LDAP
Une fois l'intégration de Drupal avec le serveur LDAP terminée, la connexion est simple si toutes les données du serveur LDAP ont été correctement configurées et mappées. Alors, procédons à la connexion après que le mappage des champs soit complété.
Comme vous pouvez le voir, je me suis connecté ici avec mon nom d'utilisateur et mon mot de passe. Ici, c’est le titre "Développeur Drupal." Ce sont des données qui viennent d'être téléchargées depuis JumpCloud.
Nous savons que l'intégration fonctionne et fonctionnera probablement pour le reste des utilisateurs. Nous pouvons donc mapper un autre champ. Par exemple, vérifions quels champs existent encore dans "utilisateur" juste dans ce répertoire LDAP. Alors, allons dans "détails" et voyons Type d'employé - b2b. Supposons que ce soit les données que nous aimerions avoir dans notre utilisateur Drupal.

Pour ce faire, nous devons créer un nouveau champ dans "utilisateur."
Ajout de champs personnalisés aux utilisateurs dans Drupal
Si les données dans LDAP sont plus riches et que vous souhaitez importer des informations utilisateur supplémentaires, vous pouvez ajouter de nouveaux champs dans Drupal et configurer leur mappage avec les données du serveur LDAP.
Création de nouveaux champs pour les données de LDAP
- Allez dans "Configuration" > "Personnes" > "Paramètres de compte" et sélectionnez "Gérer les champs."

- Ajoutez un nouveau champ : "texte clair" et nommez-le : type d'employé. Passez à l’étape suivante, et enregistrez les modifications.
Ici, vous pouvez voir que le champ est créé :
- Allez dans les paramètres LDAP dans Drupal : Après avoir créé un nouveau champ, allez à "Configuration" > "Personnes" > "LDAP."
- Mappage de champ depuis LDAP : Sélectionnez la section "Serveurs" ou "Utilisateurs", où vous pouvez gérer le mappage des champs. Trouvez l'option pour mapper les champs de Drupal avec les champs correspondants sur le serveur LDAP.
- Entrez le token de LDAP : Entrez un token du serveur LDAP qui correspond à un nouveau champ, tel que type d'employé. Vous pouvez prévisualiser les tokens dans l'onglet de test du serveur LDAP.
- Enregistrez les paramètres : Après avoir assigné un token à un nouveau champ dans Drupal, enregistrez les modifications.

Tester la synchronisation des utilisateurs et la connexion
Une fois la configuration terminée, vous pouvez tester que l'intégration fonctionne correctement. Connectez-vous à Drupal avec un compte de JumpCloud ou un autre serveur LDAP et vérifiez que toutes les données sont correctement synchronisées.
Vérification des performances de l'intégration
- Déconnectez-vous de Drupal et reconnectez-vous en utilisant les identifiants LDAP de l'utilisateur.
- Vérifiez que les champs utilisateur tels que nom d'utilisateur, email, titre de poste et d'autres champs personnalisés ont été correctement synchronisés.
- S'il y a des erreurs de synchronisation, assurez-vous que le mappage des champs et la synchronisation sont correctement configurés.
Gestion de la synchronisation et des mises à jour des données
Lorsque vous configurez le mappage des champs, vous pouvez décider quand les données doivent être mises à jour : lors de la création d'un nouveau compte ou à chaque synchronisation. Cela vous donne le contrôle sur le processus de mise à jour des données utilisateur dans Drupal.
Configuration des événements de synchronisation
- Sélectionnez les options de synchronisation appropriées dans les paramètres LDAP pour vous assurer que les données sont mises à jour chaque fois qu'un utilisateur se connecte.

- D'un autre côté, pour les nouveaux champs, assurez-vous qu'ils sont assignés aux événements de synchronisation pour les nouveaux comptes et les utilisateurs existants.
Après une synchronisation et une connexion correctes, nous devrions voir les champs sélectionnés.

La synchronisation et la connexion fonctionnent. Aussi, comme vous pouvez le constater, configurer la connexion de Drupal au serveur avec un répertoire utilisateur basé sur LDAP n'est pas difficile.
Tout ce qu'il requiert est d'avoir un serveur LDAP et une configuration appropriée, ce qui peut être le processus le plus long lors de la création de cette intégration.
Intégrer Drupal avec LDAP - résumé
L'intégration de Drupal avec un serveur LDAP, tel que JumpCloud, permet une gestion efficace des données utilisateur en un seul endroit central. Avec le mappage des champs et la synchronisation automatique, les administrateurs peuvent simplifier le processus de connexion et de gestion des données utilisateur, économisant du temps et réduisant le risque d'erreurs. La configuration de LDAP dans Drupal est relativement simple, et sa flexibilité lui permet de s'adapter à différents systèmes LDAP.
Avec l'intégration LDAP, Drupal est devenu un outil puissant pour la gestion des utilisateurs, particulièrement utile pour les grandes organisations et les portails avec de nombreux éditeurs. Nous vous encourageons à mettre en œuvre les étapes ci-dessus pour améliorer votre gestion des utilisateurs et l'efficacité de l'administration dans Drupal. Si vous rencontrez des problèmes ou avez simplement besoin de conseils, nos experts de l'agence Drupal seront heureux de vous aider.