Skip to main content

Authentification LDAP / AD

Medulla peut utiliser un annuaire LDAP ou Microsoft Active Directory pour authentifier les utilisateurs.

Les utilisateurs se connectent avec leur identifiant et leur mot de passe habituels. Medulla vérifie leur identité auprès de l'annuaire, puis gère localement leurs profils, leurs entités et leurs droits d'accès.

Important :
L'annuaire LDAP ou Active Directory vérifie l'identité de l'utilisateur. Les droits d'accès à Medulla restent gérés dans Medulla.


Fonctionnement

Lorsqu'un utilisateur se connecte pour la première fois :

1.   L'utilisateur saisit son identifiant et son mot de passe

2.   Medulla interroge l'annuaire LDAP ou Active Directory

3.   L'annuaire vérifie les identifiants

4.   Si l'authentification réussit, Medulla crée automatiquement l'utilisateur

5.   Un administrateur lui attribue ensuite un profil et une entité

Information :
Lors de la première connexion, l'utilisateur peut être authentifié correctement sans disposer immédiatement des droits nécessaires pour accéder à Medulla.


Prérequis

Avant de commencer, récupérez les informations suivantes auprès de l'administrateur de l'annuaire :

•     l'adresse du serveur LDAP ou Active Directory ;

•     le Base DN ;

•     le compte utilisé pour interroger l'annuaire, appelé Bind DN ;

•     le mot de passe du compte Bind ;

•     l'attribut utilisé comme identifiant de connexion.

Pour Active Directory, l'attribut utilisé est généralement :

sAMAccountName

Pour un annuaire LDAP standard, il peut s'agir de :

uid

Télécharger le script de configuration

Téléchargez le script suivant sur le serveur Medulla :

https://dl.medulla-tech.io/ma/change_ldap_parameters.py

Rendez ensuite le script exécutable :

chmod +x change_ldap_parameters.py

Pour afficher l'aide :

./change_ldap_parameters.py --help

Information :
Tous les paramètres du script sont obligatoires.


Configurer l'authentification LDAP

Exécutez le script en remplaçant les valeurs d'exemple par celles de votre annuaire.

./change_ldap_parameters.py \
    --base-dn "DC=domain,DC=local" \
    --fqdn-ldap "ldaps://ad-server.domain.local" \
    --dn-bind "CN=medulla.bind,OU=Infra,DC=domain,DC=local" \
    --pass-bind "MyPassword" \
    --attr "sAMAccountName"

Description des paramètres

Paramètre Description
--base-dn Emplacement de l'annuaire dans lequel Medulla recherche les utilisateurs
--fqdn-ldap Adresse complète du serveur LDAP ou LDAPS
--dn-bind Compte utilisé par Medulla pour interroger l'annuaire
--pass-bind Mot de passe du compte Bind
--attr Attribut utilisé comme identifiant de connexion

Attention :
Le mot de passe du compte Bind apparaît dans la commande. Ne copiez pas cette commande dans une documentation, un ticket ou un message non sécurisé.


LDAP ou LDAPS

Deux modes sont principalement utilisés :

Mode Port Description
LDAP 389 Connexion non chiffrée, sauf si StartTLS est configuré
LDAPS 636 Connexion chiffrée avec un certificat TLS

Recommandation :
Utilisez LDAPS en production afin de chiffrer les échanges entre Medulla et l'annuaire.

En cas d'utilisation de LDAPS

Vérifiez que :

•     le certificat du serveur LDAP est valide ;

•     le serveur Medulla reconnaît l'autorité de certification ;

•     le nom DNS utilisé correspond au nom présent dans le certificat ;

•     le port 636 est accessible.


Première connexion d'un utilisateur

Après la configuration, demandez à l'utilisateur de se connecter une première fois à Medulla avec son compte LDAP ou Active Directory.

Cette première connexion permet à Medulla de créer automatiquement son compte.

Il est normal que le message suivant apparaisse :

You do not have required rights

Information :
Ce message signifie que l'authentification a réussi, mais qu'aucun profil ni aucune entité n'ont encore été attribués à l'utilisateur.


Attribuer les droits à l'utilisateur

Étape 1 – Se connecter avec un administrateur

Connectez-vous avec un compte autorisé à gérer les utilisateurs et les entités.

Pour la première configuration, il est recommandé d'utiliser le compte root.

Étape 2 – Ouvrir la gestion des utilisateurs

Accédez au menu :

Administration
    └── Entities Management

Sélectionnez l'entité concernée, puis cliquez sur :

Manage Users

Accès à la gestion des utilisateurs dans Medulla

Étape 3 – Modifier l'utilisateur

Recherchez l'utilisateur créé lors de sa première connexion, puis cliquez sur :

Edit

Modification d'un utilisateur dans Medulla

Étape 4 – Définir les autorisations

Attribuez :

•     un profil ;

•     une entité ;

•     le mode récursif si le profil doit s'appliquer aux sous-entités.

Les profils disponibles sont notamment :

•     Super-Admin ;

•     Admin ;

•     Technician.

Enregistrez ensuite les modifications.

Principe du moindre privilège :
Attribuez uniquement les droits nécessaires. Le profil Super-Admin doit être réservé aux administrateurs de la plateforme.


Valider l'accès

Après l'attribution des droits :

1.   Demandez à l'utilisateur de se déconnecter

2.   Demandez-lui de se reconnecter avec son compte LDAP ou Active Directory

3.   Vérifiez qu'il accède aux entités et aux fonctionnalités prévues


Résolution des problèmes

L'utilisateur reçoit « You do not have required rights »

L'authentification fonctionne, mais aucun droit n'a encore été attribué.

Attribuez un profil et une entité, puis demandez à l'utilisateur de se reconnecter.

L'utilisateur n'apparaît pas dans Medulla

Vérifiez que :

•     l'utilisateur a effectué une première connexion ;

•     son compte est actif dans l'annuaire ;

•     il est situé dans le périmètre défini par le Base DN ;

•     le compte Bind peut lire ses informations ;

•     l'attribut d'identification est correct ;

•     le serveur Medulla peut joindre l'annuaire.

La connexion LDAP échoue

Vérifiez :

•     l'adresse du serveur LDAP ;

•     le Base DN ;

•     le Bind DN ;

•     le mot de passe du compte Bind ;

•     l'ouverture du port 389 ou 636 ;

•     le certificat si LDAPS est utilisé.

Le compte utilisateur est refusé

Vérifiez que le compte :

•     n'est pas verrouillé ;

•     n'est pas désactivé ;

•     n'a pas un mot de passe expiré ;

•     utilise le bon format d'identifiant.


Bonnes pratiques

•     Utiliser LDAPS en production

•     Utiliser un compte Bind dédié à Medulla

•     Donner uniquement des droits de lecture au compte Bind

•     Renouveler régulièrement le mot de passe du compte Bind

•     Limiter le Base DN au périmètre nécessaire

•     Conserver un compte administrateur natif Medulla

•     Vérifier régulièrement les profils et les entités attribués


Résumé

Élément Description
Authentification LDAP ou Active Directory
Création automatique du compte Oui, lors de la première connexion
Attribution automatique des droits Non
Attribut Active Directory courant sAMAccountName
Port LDAP 389
Port LDAPS 636
Mode recommandé LDAPS
Action après la première connexion Attribuer un profil et une entité
Reconnexion nécessaire Oui

Bonne pratique :
Demandez toujours au nouvel utilisateur d'effectuer une première connexion avant de lui attribuer ses droits. Medulla pourra ainsi créer automatiquement son compte, puis appliquer son profil et son entité lors de la connexion suivante.