Aller au contenu principal

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ée ImportLDAPJob, 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 :

sudo aptitude update
sudo aptitude 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 :
    ChampNote
    Nom ou IP du serveur LDAPIP 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.
    ProtocoleChoisir 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'annuaireSpécifier la racine LDAP (un accès en ReadOnly est un prérequis)
    DN de l'utilisateurDN de l'utilisateur root utilisé pour se connecter au serveur LDAP
    Mot de passeMot de passe de l'utilisateur utilisé pour se connecter au serveur LDAP
    Filtre des utilisateurs LDAPSeuls 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 LDAPSeuls 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 externeAttribut 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 domaineCe 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éussieDate 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 importDate 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âches
    Démarrer synchronisation incrémentaleForcer 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âches
    Démarrer synchronisation globaleForcer 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

info

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.


Tester la connexion

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

BlueMindAttribut LDAPNote
loginuidUn 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 '_'
firstnamegivenName
lastnamesn
formatedNamedisplayNameSi 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.
descriptiondescription
mailmail
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) :
  1. mail
  2. mailLocalAddress
  3. mailAlternateAddress
  4. gosaMailAlternateAddress

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 quotamailQuotaSize
mailQuota
gosaMailQuota
Doivent être exprimé en octets dans LDAP.
Le premier de ces attributs LDAP trouvé est utilisé : mailQuotaSize > mailQuota > gosaMailQuota
work phonestelephoneNumber
home phoneshomePhone
mobile phonesmobile
faxfacsimileTelephoneNumber
pagerpager
memberOfmemberOfListe des groupes dont l'utilisateur est membre.
L'utilisateur BlueMind ne peut être ajouté qu'à des groupes LDAP déjà importés
photoIDjpegPhotoPhoto de l'utilisateur : le contenu de cet attribut est importé comme photo du compte correspondant
user.value.contactInfos.organizational.titletitle
user.value.contactInfos.organizational.org.companyo
user.value.contactInfos.organizational.org.divisionou
user.value.contactInfos.organizational.org.departmentdepartmentNumber
address.localityl
address.postalCodepostalCode
address.countryNamest
address.streetAddresspostalAddress
address.postOfficeBoxpostOfficeBox

Attributs des groupes

BlueMindAttribut LDAPNote
namecn
descriptiondescription
mailmailSi ce champ n'est pas renseigné alors le groupe n'aura pas de messagerie dans BlueMind
membermemberUid
(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
membermember
(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
méthode de gestion des groupes

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 (et memberOf si 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)

Pour plus d'informations sur les rôles et leur attribution à des groupes consulter les pages :

Mise à jour

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.


Modification des rôles

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.
Pour plus d'informations sur la gestion des groupes consulter la page Éditer les groupes

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.

Préfixe

L'ExternalID doit être préfixé par "ldap://".

Par exemple :

ldap://5d6b50-399a6-1e6f2-d01267d1f-0fbecb

Pour aller plus loin

Consultez la documentation BlueMind en relation