informatique:reseau:ldap:chain

Ceci est une ancienne révision du document !


Module Chain

Cette overlay permet depuis un serveur esclave de proxifier, de manière transparente pour l'utilisateur, les requêtes en écriture sur le serveur maître.

Il faut d'abord charger le module back_ldap :

  • Créer le fichier /tmp/load-module.ldif :
    cat << EOF > /tmp/load-module.ldif
    dn: cn=module{0},cn=config
    changetype: modify
    add: olcModuleLoad
    olcModuleLoad: back_ldap
    EOF
  • Jouer ce LDIF via ldapmodify :
    ldapmodify -x -D cn=admin,cn=config -W -f /tmp/load-module.ldif
    # Ou :
    ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/load-module.ldif

Il faut ensuite activer ce module pour votre database :

  • Créer le fichier /tmp/config-module.ldif :
    cat << EOF > /tmp/config-module.ldif
    dn: olcOverlay={0}chain,olcDatabase={1}mdb,cn=config
    objectClass: olcOverlayConfig
    objectClass: olcChainConfig
    olcOverlay: {0}chain
    olcChainReturnError: TRUE
     
    dn: olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={1}mdb,cn=config
    objectClass: olcLDAPConfig
    objectClass: olcChainDatabase
    olcDatabase: {0}ldap
    olcDbURI: ldaps://ldap.example.org
    olcDbRebindAsUser: TRUE
    olcDbIDAssertBind: bindmethod=simple binddn="uid=syncrepl,ou=sysaccounts,o=example" credentials="secret" mode=self
    EOF
  • Jouer ce LDIF avec ldapadd :
    ldapadd -x -D cn=admin,cn=config -W -f /tmp/config-module.ldif
    # Ou :
    ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/config-module.ldif
Ici on ajoute la configuration de l'overlay chain pour la database o=example avec la configuration de sa database ldap fournissant les informations de connexion à l'annuaire LDAP mâitre. Les identifiants de connexion renseignés dans le paramètre olcDbIDAssertBind sont utilisés pour se connecter à l'annuaire LDAP maître, mais les droits endossés lors de l'exécution de la requête sur le serveur maître sont bien ceux de l'utilisateur d'origine (=celui qui a fait la requête sur le serveur esclave).

Pour finir, assurez-vous que le paramètre olcUpdateRef de votre database est bien renseigné et égal à l'attribut olcDbURI du LDIF précédent ( ldaps://ldap.example.org ).

  • informatique/reseau/ldap/chain.1614595675.txt.gz
  • Dernière modification : 2021/03/01 10:47
  • de bn8