Il est possible d’administrer le serveur LDAP directement dans le conteneur, à travers l’exécution de fichiers LDIF. Néanmoins, ils sont pénibles à construire en pratique, et une interface graphique est très utile.
Pour administrer le serveur LDAP, nous utilisons Apache Directory Studio.
Installer Apache Directory Studio en suivant ces instructions.
On peut maximiser toutes les fenêtres concernant le LDAP en cliquant sur l’icône Restore
en haut à droite.
On peut également minimiser le panneau Welcome
pour avoir plus de place.
On va ensuite créer une connexion LDAP en tant qu’administrateur, qui va nous permettre d’effectuer toutes les modifications souhaitées.
(Les mots de passe sont chiffrés dans notre vaultwarden.
Créer une nouvelle connexion :
Spécifier les paramètres (en particulier, utiliser LDAPS pour une connexion chiffrée) :
Spécifier l’utilisateur admin : cn=admin,dc=picasoft,dc=net
:
On peut confirmer puis double cliquer sur la connexion nouvellement créée : on a alors accès aux entrées du LDAP et on peut les modifier.
En théorie, la configuration devrait être modifiée sur le dépôt Git. Cependant, il peut arriver qu’on ait besoin de modifier la configuration d’un serveur LDAP déjà lancé, auquel cas les modifications doivent être consignées sur une page de Wiki et référencées sur le dépôt Git.
Historiquement, OpenLDAP est configuré de manière statique : on a un fichier de configuration (slapd.conf
), chargé au démarrage. Pour changer un paramètre de configuration, on doit redémarrer LDAP.
Depuis la version 2.3, la configuration est gérée dynamiquement, à travers une entrée spéciale appelée cn=config
. Les entrées de cet arbre sont des entrées d’annuaire “comme les autres”. Cette fonctionnalité est appelée OLC (On-Line Configuration).
Chaque modification d’une entrée applique immédiatement la configuration sans avoir besoin de redémarrage.
Pour se connecter avec l’utilisateur de configuration, on utilisera le même tutoriel, mais on utilisera :
cn=config
comme Base DN
Une fois connecté, on arrive sur une fenêtre comme celle-ci :
On voit par exemple que l’on peut dynamiquement modifier le niveau de log, utile pour faire du debug sans avoir à redémarrer le serveur!
On retrouve aussi l’ensemble des schémas disponibles sur le serveur LDAP sous cn=schema
. Par exemple, on constatera que celui-ci contient cn={10}openssh-lpk
, qui contient la définition pour l’attribut sshPublicKey
. La plupart des tutoriels utilisant cet attribut demandent d’ajouter le schéma manuellement. C’est une manière de vérifier qu’il est nécessaire de le faire ou non.
Pour comprendre comment fonctionne la configuration (assez cryptique), on pourra se référer à cette référence.