Aller au contenu


Forcer autoprov Zimbra - OpenLDAP

Autoprov openldap

  • Veuillez vous connecter pour répondre
15 réponses à ce sujet

#1 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 09 juillet 2019 - 13:21

Bonjour,

Suite à de nombreuses recherches, je n'ai pas pu trouver de solution à mon problème que vous expose plus bas.

Contexte :
1) annuaire OpenLDAP avec plusieurs comptes existants
2) déploiement automatisé de Zimbra avec authentification externe depuis OpenLDAP
3) création de nouveaux comptes sur OpenLDAP

Mon autoprovisioning est correctement configuré vu qu'il crée bien mes comptes du LDAP sur Zimbra.

Mon problème se situe au niveau du fonctionnement qui m'impose quelques contraintes :
La création d'un user sur le LDAP se fait en deux étapes :

a) je spécifie son login, son nom, son mot de passe puis il est créé

b ) je peux éditer ses informations et son mail


A cause de ce fonctionnement de l'annuaire que je ne peux pas modifier, le problème avec l'AP (autoprov) en mode EAGER est que c'est risqué car si jamais il s'exécute entre l'étape "a)" et l'étape "b )" alors il va créer le compte dans Zimbra sans avoir toutes les infos.
Et vu qu'il ne met pas à jour les informations des comptes lors des prochains AP, ça veut dire qu'il faudrait vérifier à la main tous les comptes et les corriger si nécessaire.

Ainsi, la solution à laquelle j'ai pensé est de d'abord faire un autoprov en mode "EAGER" afin qu'il crée tous les comptes déjà existants à l'étape "1)" (voir contexte en haut) puis de passer en "LAZY" avant de passer à l'étape "3)" pour ne pas rencontrer le risque de création entre "a)" et "b )".

Le problème qui se pose est qu'au premier AP, je vois dans mailbox.log qu'il attend une durée initiale de 300 000ms (5 minutes) bien que mon intervalle est de 2 minutes.
Du coup, dans le cadre de mon déploiement automatisé, je ne peux pas me permettre d'attendre cette durée initiale de 5 minutes.

Connaissez-vous un moyen de modifier cette valeur ou alors de forcer manuellement l'AP s'il vous plaît ?
Ou bien avez-vous une autre solution qui pourrait répondre à mon problème ?

Merci à vous,

Cordialement,

Ziminte
Zimbra v8.8.12

#2 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 09 juillet 2019 - 15:16

Bonjour,

plus simple, tu mets un filtre memberOf + lazy mode , quand ton user est fini de créer tu le pousses dans le groupe Zimbra.

L'autoprov à ma connaissance ne fait aucun différentiel que tu fasses un premier prov en eager puis un second en lazy.

  Cordialement,
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#3 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 09 juillet 2019 - 15:52

Bonjour,

Je vous remercie pour votre retour.

De manière similaire, j'avais pensé à créer un template sur OpenLDAP qui lors de l'étape "a)" attribuerait automatiquement les infos importantes lors de la création de l'user et du coup ne causerait aucun problème au mode EAGER.

Le problème est que je ne peux pas toucher à la configuration du OpenLDAP mais seulement à la configuration de Zimbra et c'est pour ça que je cherche un moyen de modifier le délai initial de 5min au premier AP ou bien de pouvoir le forcer manuellement.

Oui j'avais remarqué qu'il ne faisait pas de différentiel mais le but est :
- de faire le déploiement de Zimbra en EAGER pour qu'il crée les comptes déjà existants du OpenLDAP dans Zimbra
- de passer ensuite en LAZY pour la création des futures comptes (pour éviter qu'en EAGER, un AP se fasse entre les étapes "a)" et "b )")

Cordialement,

Ziminte
Zimbra v8.8.12

#4 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 16 juillet 2019 - 12:50

Bonjour,

Qeulqu'un aurait une idée ou une piste s'il vous plaît ?

Cordialement,

Ziminte
Zimbra v8.8.12

#5 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 16 juillet 2019 - 12:59

soit plus précis, parce que là je vois pas trop.
Tu peux effectivement faire un EAGGER puis un LAZY.
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#6 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 18 juillet 2019 - 11:03

Bonjour,

Je voudrais savoir :
- est-ce qu'il y aurait une commande qui permette de forcer manuellement le provisioning EAGER LDAP -> Zimbra ? Par exemple : zmprov force autoprovisioning;

OU BIEN

- est-ce qu'il serait possible de changer la valeur du premier auto-provisioning qui est de 5 minutes (300 000ms) par défaut ? Cette durée initiale semble indépendante du "PollingInterval".

Cordialement,

Ziminte
Zimbra v8.8.12

#7 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 18 juillet 2019 - 18:25

Bonjour,

Après pas mal de recherche je ne trouve pas de moyen de faire les deux choses.

Du coup je vais partir sur la solution du "memberOf + EAGER mode" et forcer la chose du côté de l'OpenLDAP.

De base, l'authentification et la synchro en EAGER fonctionnaient sans problème avec la config suivante :
- zimbraAuthLdapSearchBase: cn=users,cn=accounts,dc=test,dc=com
- zimbraAuthLdapSearchFilter: (&(objectClass=inetOrgPerson)(objectClass=posixAccount)(uid=%u))
- zimbraAutoProvLdapSearchBase: cn=users,cn=accounts,dc=test,dc=com
- zimbraAutoProvLdapSearchFilter: (&(objectClass=inetOrgPerson)(objectClass=posixAccount)(uid=%u))

J'ai donc modifié le filtre Autoprov de cette manière :
- zimbraAutoProvLdapSearchFilter: (&((memberOf=cn=mail_group,cn=groups,cn=accounts,dc=test,dc=com)(uid=%u))

Sauf que ça ne fonctionne plus.

Dans les logs j'ai :
[AutoProvision] [] autoprov - unable to auto provision account for test.com
ExceptionId:Autoprovision:1563469670003:c24a54c6d06e6f15
	 at com.zimbra.cs.account.ldap.AutoProvision.searchAutoProvDirectory(AutoProvision.java:671)
	 -------------------------------------AutoProvisionEager.searchAccounts(AutoProvisionEager.java:251)
	 -------------------------------------------------------------createAccountBatch--------------
	 -------------------------------------------------------------handleBatch------------------------
	 -------------------------------------------------------------handleScheduledDomains--------
	 -------------------------------------LdapProvisioning.autoProvAccountEager -------------
	 -------------------------------------AutoProvisionThread.run---------------------------------

Je précise que le groupe "mail_group" a bien été créé et les users ajoutés dedans.

Je me doute bien que le problème vient du filtre mais après plusieurs essais, j'ai toujours le même résultat.

Auriez-vous une solution s'il vous plaît ?

Cordialement,

Ziminte
Zimbra v8.8.12

#8 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 19 juillet 2019 - 09:29

je sais pas si c'est ton copier/coller, mais il manque une paranthèse fermante ici :

Citation

- zimbraAutoProvLdapSearchFilter: (&((memberOf=cn=mail_group,cn=groups,cn=accounts,dc=test,dc=com)(uid=%u))

Sinon d'après le message d'erreur il essaie de créer le compte test.com, alors qu'il devrait créer le compte accounts@test.com , si je lis bien ce que tu as écrit.
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#9 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 19 juillet 2019 - 11:13

Bonjour,

Je te remercie pour ton retour.

Je viens de tester en ayant bien ajouté la parenthèse fermante :
zimbraAutoProvLdapSearchFilter : (&((memberOf=cn=mail_group,cn=groups,cn=accounts,dc=test,dc=com)(uid=%u)))

J'avais oublié le mot "domain" dans la réecriture.

Voici un copié/collé, ce sera plus précis :

- Configuration :
zimbraAutoProvAccountNameMap: uid
zimbraAutoProvAttrMap: description=description
zimbraAutoProvAttrMap: displayName=displayName
zimbraAutoProvAttrMap: givenName=givenName
zimbraAutoProvAttrMap: cn=cn
zimbraAutoProvAttrMap: sn=sn
zimbraAutoProvAuthMech: LDAP
zimbraAutoProvBatchSize: 40
zimbraAutoProvLdapAdminBindDn: uid=admin,cn=users,cn=accounts,dc=test,dc=com
zimbraAutoProvLdapAdminBindPassword: secret
zimbraAutoProvLdapBindDn: ldapadmin@test.com
zimbraAutoProvLdapSearchBase: cn=users,cn=accounts,dc=test,dc=com
zimbraAutoProvLdapSearchFilter: (&((memberOf=cn=mail_group,cn=groups,cn=accounts,dc=test,dc=com)(uid=%u)))
zimbraAutoProvLdapURL: ldaps://srv-ldap:636
zimbraAutoProvMode: EAGER

- Erreur dans /opt/zimbra/log/mailbox.log :
2019-07-19 09:59:32,974 INFO [AutoProvision] [] autoprov - Auto provisioning accounts on domain test.com
2019-07-19 09:59:32,977 WARN [AutoProvision] [] autoprov - Unable to auto provision accounts for domain test.com
ExceptionId:AutoProvision:1563530372975:29cf3f41dc15fd27
at com.zimbra.cs.account.ldap.AutoProvision.searchAutoProvDirectory(AutoProvision.java:671)
at com.zimbra.cs.account.ldap.AutoProvisionEager.searchAccounts(AutoProvisionEager.java:251)
at com.zimbra.cs.account.ldap.AutoProvisionEager.createAccountBatch(AutoProvisionEager.java:152)
at com.zimbra.cs.account.ldap.AutoProvisionEager.handleBatch(AutoProvisionEager.java:132)
at com.zimbra.cs.account.ldap.AutoProvisionEager.handleScheduledDomains(AutoProvisionEager.java:103)
at com.zimbra.cs.account.ldap.LdapProvisioning.autoProvAccountEager(LdapProvisioning.java:1198)
at com.zimbra.cs.account.AutoProvisionThread.run(AutoProvisionThread.java:150)
2019-07-19 09:59:32,977 INFO [AutoProvision] [] autoprov - Sleeping for 120000 milliseconds.

Zimbra v8.8.12

#10 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 19 juillet 2019 - 13:54

là je sais pas ...
Tu peux éventuellement tester tes paramètres LDAP/AD en utilisant la commande ldapsearch et voir ce que cela te renvoie.
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#11 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 19 juillet 2019 - 15:38

Je viens d'identifier le problème, à cause de mes nombreux tests, j'ai fait une erreur dans l'une de mes variables qui contenait la base de recherche >_<

Désolé pour ça et merci pour ton temps et ton aide.

Par contre, maintenant j'ai un autre problème : si la synchro passe avant que j'ajoute l'user dans le groupe "mail_group", l'user n'est pas créé dans Zimbra, ce qui est normal.
Mais si je l'ajoute dans le group et que la synchro repasse ensuite, elle ne l'ajoute quand même pas alors qu'elle devrait.

Si la synchro ne passe pas entre le moment où je crée l'user et son ajout dans le groupe mais qu'elle passe ensuite, l'user est bien créé dans Zimbra.

J'ai trouvé une solution manuelle à ce problème en faisant :
zmprov md test.com zimbraAutoProvLastPolledTimestamp ""

Sauf que ce bug est censé être corrigé depuis la version 8.0.7 et j'utilise actuellement la version 8.8.12.

Mis à part créer un cron qui remettrait cette variable à "null" avant chaque synchro, auriez-vous une autre solution s'il vous plaît ?

Cordialement,

Ziminte
Zimbra v8.8.12

#12 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 19 juillet 2019 - 15:55

supprime les caches Zimbra et recommence pour voir.
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#13 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 19 juillet 2019 - 16:05

J'ai flush les caches (GUI Home >> Configure >> Servers >> Selection server >> Flush cache >> Fluch zimlet cache + Flush theme cache + Flush locale cache >> Flush).

Ensuite j'ai créé un user sans le mettre dans le groupe, j'ai laissé passé un autoprov puis je l'ai ajouté dans le groupe.

L'autoprov est repassé mais n'a pas créé le compte sur Zimbra.

J'ai de nouveau flush les caches et attendu l'autoprov mais il n'a quand même pas créé le compte.
Zimbra v8.8.12

#14 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 19 juillet 2019 - 16:31

je fais toujours la vidange des caches en ligne de commande pour ma part.
Après ...
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#15 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 19 juillet 2019 - 16:57

J'ai refait le même test mais avec cette fois un "zmprov flushCache all" et c'est la même chose.
Zimbra v8.8.12

#16 Ziminte

Ziminte

    Membre

  • Membres
  • 11 messages

Posté 19 juillet 2019 - 17:11

Et je me dis qu'au final ça serait quand même une action manuelle à effectuer à chaque autoprov à moins qu'elle ne corrige le bug définitivement.

Du coup pour un système automatisé et sans correctif, je ne vois pas mieux qu'un cron pour le moment.

Par contre c'est assez dommage que l'autoprov ne mette pas à jour sur Zimbra les données modifiées des comptes sur OpenLDAP.

Je pense faire un tour sur le script de cette page : https://www.zimbrafr...-ldap-complete/ qui devrait pouvoir résoudre pas mal de problème.

Merci en tout cas pour ton aide.
Zimbra v8.8.12




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)