Synchronisation LDAP
La souscription professionnelle BlueMind permet d'accéder à des outils facilitant l'intégration de BlueMind dans un système d'informations.
En effet, si la console d'administration permet de créer et gérer des entités directement dans BlueMind, les systèmes d'information disposent souvent d'un annuaire centralisé, de type LDAP ou Active Directory, sur lequel il est préférable de s'appuyer.
Cette section décrit le fonctionnement et la mise en place du module d'accès à un annuaire LDAP.
Le fonctionnement de l'outil
Les fonctionnalités
Avec le plugin LDAP, la gestion des utilisateurs est déléguée à un annuaire LDAP et la création des comptes est automatisée grâce à la synchronisation avec BlueMind.
Cette synchronisation permet :
- l'import de la base utilisateurs et groupes de l'annuaire :
BlueMind importe et permet d'utiliser les utilisateurs et les groupes depuis un système LDAP. L'import est réalisé pour chaque domaine côté BlueMind, de manière incrémentale. - l'authentification des utilisateurs BlueMind :
Lorsque le Type d'authentification du domaine est configuré en authentification interne et que la synchronisation LDAP est activée, alors l'authentification des utilisateurs importés de l'annuaire se fait sur l'annuaire LDAP. Les mots de passe des utilisateurs importés sont alors validés auprès du serveur LDAP. BlueMind ne stocke aucun mot de passe. - la connexion de nouveaux utilisateurs :
Un nouvel utilisateur peut se connecter à un serveur BlueMind même s'il n'a pas encore été importé. Son compte BlueMind sera créé automatiquement si le processus d'authentification réussit.
Cet outil évite ainsi la gestion d'une base utilisateurs dans BlueMind et les problèmes de multiplication de mots de passe. Le mot de passe est centralisé dans l'annuaire LDAP et n'est ni connu, ni importé par BlueMind.
Principes de la synchronisation
Le provisioning (création ou modification) d'un utilisateur ou d'un groupe depuis LDAP vers BlueMind a lieu :
- lors la configuration du serveur, avec l'import initial
- régulièrement au cours d'une journée, via les tâches planifiées
- ou lorsqu'un utilisateur se connecte, automatiquement, à la volée.
Pour cela, le plugin LDAP fonctionne de 3 façons complémentaires :
-
Import global
Parcourt l'intégralité des utilisateurs et groupes de LDAP (en tenant compte de la racine l'annuaire et des filtres) et les importe dans BlueMind. Ceux qui n'existent pas sont créés, ceux qui existaient déjà sont modifiés si nécessaire.
Le mode global s'exécute automatiquement à la première exécution, lors de l'import initial. Par la suite, c'est uniquement en cliquant sur le bouton "Démarrer synchronisation globale" de la console d'administration (voir le paragraphe "Configuration" ci-après) qu'on le déclenche.⚠️ En fonction du nombre d'entrées de l'annuaire, la synchronisation globale peut être très longue. Cette action ne doit être lancée que dans des cas exceptionnels.
-
Import incrémental
Parcourt uniquement les utilisateurs modifiés depuis le dernier import sans erreurs. Seules les données qui ont été créées, supprimées ou modifiées dans LDAP depuis la date du dernier import réussi sont importées dans BlueMind.
Le mode incrémental s'exécute automatiquement et régulièrement via la tâche planifiéeImportLDAPJob, créée lors de l'installation du plugin.Pour plus d'informations sur la gestion des tâches planifiées consulter la page La planification des tâches.💡 Grâce à ce système la synchronisation est optimisée.
-
Import en temps réel
Recherche l'utilisateur dans LDAP lorsqu'il n'est pas connu dans BlueMind ; s'il le trouve, il l'importe et l'authentifie sur LDAP pour lui donner accès immédiatement à BlueMind.
Installation
Afin d'accéder aux fonctionnalités de synchronisation avec un annuaire LDAP, il est nécessaire d'installer le plugin ldap-import.
Pour cela, se connecter sur le serveur et utiliser les commandes suivantes pour lancer l'installation du plugin :
- Debian/Ubuntu
- RedHat/CentOS
sudo aptitude update
sudo aptitude install bm-plugin-admin-console-ldap-import bm-plugin-core-ldap-import
yum update
yum install bm-plugin-admin-console-ldap-import bm-plugin-core-ldap-import
Une fois l'installation terminée, redémarrer le composant bm-core à l'aide de la commande suivante :
bmctl restart
Configuration
Seul l'administrateur global peut configurer la synchronisation LDAP pour un domaine.
Les administrateurs de domaine peuvent quant à eux voir les paramètres et lancer la tâche d'import ImportLDAPJob dans La planification des tâches.
Pour configurer la connexion LDAP :
- Se connecter en tant qu'administrateur global admin0@global.virt
- Se rendre dans Gestion du système > Domaines supervisés > choisir le domaine > onglet Import LDAP :

- Cocher la case "Activer l'import LDAP"
- Remplir les informations demandées avec les paramètres de l'annuaire :
Champ Note Nom ou IP du serveur LDAP IP ou FQDN du serveur LDAP de la forme: ip-ou-fqdn[:port]
Si le port n'est pas spécifié, le port utilisé dépend du protocole sélectionné dans Protocole.Protocole Choisir le protocole à utiliser:
- PLAIN, port par défaut1: 389
- SSL, port par défaut1: 636
- SSL/accepter tous les certificats, port par défaut1: 636
- TLS, port par défaut1: 389
- TLS/accepter tous les certificats, port par défaut1: 389
1: le port indiqué dans le champ Nom ou IP du serveur LDAP est utilisé en priorité. Si le port n'est pas précisé dans le champ Nom ou IP du serveur LDAP, le port par défaut correspondant au Protocole est utilisé.Racine de l'annuaire Spécifier la racine LDAP (un accès en ReadOnly est un prérequis) DN de l'utilisateur DN de l'utilisateur root utilisé pour se connecter au serveur LDAP Mot de passe Mot de passe de l'utilisateur utilisé pour se connecter au serveur LDAP Filtre des utilisateurs LDAP Seuls les utilisateurs correspondants au filtre appliqué sont importés dans BlueMind. La syntaxe des filtres LDAP est décrite par la RFC 4515. Par exemple :
- pour afficher toutes les personnes ayant leur numéro de téléphone renseigné dans la base :(&(objectclass=person)(telephoneNumber=\*))
- pour afficher tous les comptes qui ont le accountStatus "MAIL" et qui ne sont pas dans la branche MAILSHARE de l'annuaire :(&(!(ou:dn:=MAILSHARE))(&(objectClass=posixAccount)(accountStatus=MAIL)))Filtre des groupes LDAP Seuls les groupes correspondants au filtre appliqué sont importés dans BlueMind. La syntaxe des filtres LDAP est décrite par la RFC 4515. Par exemple :
- pour afficher les groupes des branches dont le dn contient cn=system ou cn=users :
(&(objectClass=group)((cn:dn:=System)(cn:dn:=Users)))
- pour afficher les groupes ayant une description :(&(objectCategory=group)(description=\*))ID externe Attribut correspondant à un identifiant d'entrée LDAP invariant et unique. Utilisé pour faire le lien entre une entrée LDAP et une entrée BlueMind Groupe de segmentation du domaine Ce champ peut être vide.
Ce champ sera ignoré si la fonctionnalité de segmentation de domaine n'est pas configurée pour BlueMind.
Les mails destinés aux utilisateurs membres de ce groupe sont redirigés vers un autre serveur de messagerie du même domaine (configuré via la segmentation de domaine).Dernière exécution réussie Date du dernier import exécuté sans rencontrer d'erreurs.
Le mode incrémental de l'import prend en compte les modifications faites dans LDAP depuis cette date.Statut du dernier import Date et statuy de la dernière exécution de l'import LDAP.
En cas d'erreurs, les logs de la tâche planifiée de l'import LDAP de ce domaine donnent plus d'informations dans La planification des tâchesDémarrer synchronisation incrémentale Forcer une exécution de l'import LDAP en mode incrémental.
Seul les changements effectuées depuis la date de Dernière exécution réussie sont pris en compte dans LDAP.
Cette opération correspond à l'exécution de la tâche planifiée d'import LDAP de ce domaine, consultable dans La planification des tâchesDémarrer synchronisation globale Forcer une exécution de l'import LDAP en mode global.
Dans ce mode, la date de Dernière exécution réussie n'est pas prise en compte. L'ensemble des entrées correspondantes aux paramètres de l'import sont traitées.
Cette opération peut-être longue en fonction du nombre d'entrée LDAP à traiter.
Méthode de connexion
La synchronisation LDAP est conçue pour s'appuyer sur un schéma d'annuaire de type InetOrgPerson.
Par défaut, l'ensemble des utilisateurs et des groupes sont récupérés de LDAP. Des filtres permettant d'interroger une partie de l'annuaire peuvent être configurés avec les informations suivantes :
- la racine de l'annuaire
- les filtres à utiliser pour la synchronisation des utilisateurs et des groupes, permettant de restreindre les données importées
Un dernier paramètre permet d'indiquer le groupe de segmentation du domaine.
Le bouton "Tester la connexion" permet de vérifier directement si l'annuaire est bien accessible et l'accès correctement configuré.
Pour des raisons de sécurité, il est nécessaire de renseigner le mot de passe d'accès à l'annuaire LDAP avant chaque test de connexion, même si celui-ci a précédemment été renseigné et enregistré.
Mapping LDAP - BlueMind
Attributs des utilisateurs
| BlueMind | Attribut LDAP | Note |
|---|---|---|
| login | uid | Un mapping (remplacement de caractères) est réalisé lors de l'import pour des raisons de compatibilité : - remplacement des lettres accentuées par la lettre non accentuée correspondante - passage en minuscule - remplacement des espaces par des '_' |
| firstname | givenName | |
| lastname | sn | |
| formatedName | displayName | Si l'attribut displayName est absent, le champ sera généré par BlueMind par concaténation des différentes parties non vides de prénom, nom, titre, etc. de la même façon que le Nom complet dans les fiches contacts. |
| description | description | |
| mail mailLocalAddress mailAlternateAddress gosaMailAlternateAddress | L'adresse BlueMind par défaut est définie par la première des valeurs trouvées dans les champs suivants (dans l'ordre) :
Les suivantes sont utilisées comme alias. ⚠️ Si aucun de ces attributs n'est renseigné ou valide, il sera attribué une adresse de la forme : login@<domaine par défaut> | |
| user mail quota | mailQuotaSize mailQuota gosaMailQuota | Doivent être exprimé en octets dans LDAP. Le premier de ces attributs LDAP trouvé est utilisé : mailQuotaSize > mailQuota > gosaMailQuota |
| work phones | telephoneNumber | |
| home phones | homePhone | |
| mobile phones | mobile | |
| fax | facsimileTelephoneNumber | |
| pager | pager | |
| memberOf | memberOf | Liste des groupes dont l'utilisateur est membre. L'utilisateur BlueMind ne peut être ajouté qu'à des groupes LDAP déjà importés |
| photoID | jpegPhoto | Photo de l'utilisateur : le contenu de cet attribut est importé comme photo du compte correspondant |
| user.value.contactInfos.organizational.title | title | |
| user.value.contactInfos.organizational.org.company | o | |
| user.value.contactInfos.organizational.org.division | ou | |
| user.value.contactInfos.organizational.org.department | departmentNumber | |
| address.locality | l | |
| address.postalCode | postalCode | |
| address.countryName | st | |
| address.streetAddress | postalAddress | |
| address.postOfficeBox | postOfficeBox |
Attributs des groupes
| BlueMind | Attribut LDAP | Note |
|---|---|---|
| name | cn | |
| description | description | |
| Si ce champ n'est pas renseigné alors le groupe n'aura pas de messagerie dans BlueMind | ||
| member | memberUid (méthode Unix) | Le groupe dans l'annuaire contient autant d'attributs memberUid qu'il a de membres. Contrairement à l'attribut member des annuaires AD, il contient l'uid en mode unix de l'utilisateur. Avec ce mode de fonctionnement memberOf n'est pas possible.Seuls les utilisateurs et groupes déjà importés dans BlueMind sont ajoutés aux membres du groupe |
| member | member (méthode de Synchronisation Active Directory) | Le groupe dans l'annuaire contient autant d'attributs member qu'il a de membres. Optionnellement l'annuaire peut fournir les memberOf. Cet attribut est contenu dans l'utilisateur et pointe vers tous les groupes dont il fait partie.Seuls les groupes et utilisateurs synchronisés sont ajoutés aux membres du groupe BlueMind |
Les deux méthodes de gestion de groupe (Active Directory ou Unix) peuvent être utilisées indifféremment mais une seule à la fois :
- soit en utilisant l'attribut
member(etmemberOfsi disponible) - soit en utilisant l'attribut
memberUid
Si l'annuaire utilise les deux, la synchronisation ne se fait pas correctement.
Gestion des comptes
Donner l'accès aux applications
L'accès aux applications passe par les rôles qui sont attribués aux utilisateurs. L'import LDAP ne gérant pas les rôles, les utilisateurs n'en ont donc aucun une fois qu'ils ont été importés et n'accèdent pas aux applications (webmail, contacts, calendrier).
La façon la plus simple et efficace de gérer cela est de passer par les groupes :
- dans LDAP, attribuer un groupe commun aux utilisateurs (ou plusieurs, si souhaité)
- lancer un 1er import : le ou les groupe(s) sont importés dans BlueMind avec les utilisateurs
- se rendre dans la console d'administration BlueMind et affecter les rôles souhaités au(x) groupe(s)
Lors des imports et synchronisations suivants, les rôles seront conservés.
Par la suite, pour les nouveaux utilisateurs, il suffit de les affecter à ce(s) groupe(s) afin de leur attribuer les rôles souhaités.
Lors de sorties de nouvelles versions, BlueMind est régulièrement amené à apporter de nouveaux rôles.
Afin de s'assurer que lors de la mise à jour le nouveau droit sera bien activé chez les utilisateurs déjà existants, il convient de désigner le ou les groupes dans lesquels on a placé les utilisateurs provenant de LDAP comme étant des groupes par défaut.
Suspendre un compte
Les comptes importés d'un annuaire LDAP respectant le filtre configuré sont automatiquement activés.
À l'inverse, ils peuvent être suspendus ou supprimés dans l'annuaire LDAP afin que l'accès à la messagerie leur soit interdit. Un utilisateur supprimé dans LDAP est simplement suspendu dans BlueMind.
Forcer ou corriger un UID
L'UID d'un utilisateur peut être renseigné ou corrigé sur la fiche d'administration de l'utilisateur dans BlueMind.
Pour cela, se rendre dans la console d'administration > Annuaires > Entrées d'annuaire > choisir la fiche de l'utilisateur > onglet Maintenance : renseigner le champ ExternalID avec l'UID de l'utilisateur dans LDAP puis enregistrer.
Les informations de l'utilisateur seront synchronisées avec l'annuaire LDAP à la prochaine exécution de la tâche ImportLDAPJob, consultable dans La planification des tâches.
L'ExternalID doit être préfixé par "ldap://".
Par exemple :
ldap://5d6b50-399a6-1e6f2-d01267d1f-0fbecb