PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 25/09/2018 14:33:17

EPTBSGL
Membre

Connexion via active directory

Bonjour,

J'essaie de configurer ma base postgresql pour que l'authentification se fasse par active directory. Nous avons un annuaire AD d'adresse IP x.y.z.t.
Dans le fichier pg_hba.conf, j'ai ajouté la ligne suivante :
host all all x.y.z.0/24 ldap  1dapserver=x.y.z.t ldapbasedn="OU=UnitéA,OU=UnitéB,DC=DomaineC,DC=DomaineD" ldapbinddn="CN=userldap,OU=UnitéE,OU=UnitéB,DC=DomaineC,DC=DomaineD" ldapbindpasswd=passwduserldap ldapsearchattribute=sAMAccountName
Si je fais un "reload", je n'ai pas d'erreur mais la connexion ne se fait pas m'indiquant que l'utilisateur avec lequel je me connecte n'est pas présent dans pg_hba.conf
Si je fais un restart de postgresql, j'ai un message d'erreur et le moteur postgresql ne redémarre pas.

La base de donnée postgresql est sur un serveur CentOS 7 d'adresse IP x.y.z.u
L'AD est sur un serveur windows server 2012 d'adresse x.y.z.v
Je me suis assuré d'avoir accès à l'AD à partir du serveur postgresql en utilisant la commande :
ldapsearch -h x.y.z.t -b "OU=UnitéA,OU=UnitéB,DC=DomaineC,DC=DomaineD" -D "OU=UnitéA,OU=UnitéB,DC=DomaineC,DC=DomaineD" -W samaccountname=prenom.nom
Elle me retourne bien l'ensemble des attributs pour ce samaccountname.
J'ai également créé l'utilisateur postgresql "prenom.nom" avec le droit de se connecter à toutes les bases.
Je fais les tests avec pgadmin4 version 3.3 depuis mon poste en Windows 10. Les accès en md5 fonctionnent.
Auriez-vous une idée d'où vient le problème ?

En vous remerciant d'avance pour vos réponses,

Philippe NICOLAS

Dernière modification par EPTBSGL (25/09/2018 14:52:25)

Hors ligne

#2 25/09/2018 14:50:17

gleu
Administrateur

Re : Connexion via active directory

Il faudrait le contenu complet, sans les commentaires, du fichier pg_hba.conf (notamment parce que l'ordre des lignes a une importance), ainsi que les messages d'erreur complet en anglais.

Hors ligne

#3 25/09/2018 16:14:21

EPTBSGL
Membre

Re : Connexion via active directory

Merci pour la rapidité de votre réponse.
Dans le pg_hba.conf, je n'ai laissé que ces 2 lignes (les autres sont commentées)
local   all             all                                     md5
host all all x.y.z.0/24 ldap  1dapserver=x.y.z.t ldapbasedn="OU=UnitéA,OU=UnitéB,DC=DomaineC,DC=DomaineD" ldapbinddn="CN=userldap,OU=UnitéE,OU=UnitéB,DC=DomaineC,DC=DomaineD" ldapbindpasswd=passwduserldap ldapsearchattribute=sAMAccountName
Quand je fais un systemctl restart postgresql-9.5, j'ai le message suivant :
Job for postgresql-9.5.service failed because the control process exited with error code. See "systemctl status postgresql-9.5.service" and "journalctl -xe" for details.

La commande journalctl -xe me donne:
-- L'unité (unit) postgresql-9.5.service a commencé à démarrer.
sept. 25 16:07:32 srvv-bd01-test pg_ctl[5068]: < 2018-09-25 16:07:32.224 CEST >LOG:  redirection des traces vers le processus de récupération des traces
sept. 25 16:07:32 srvv-bd01-test pg_ctl[5068]: < 2018-09-25 16:07:32.224 CEST >ASTUCE :  Les prochaines traces apparaîtront dans le répertoire « pg_log ».
sept. 25 16:07:33 srvv-bd01-test pg_ctl[5068]: pg_ctl : n'a pas pu démarrer le serveur
sept. 25 16:07:33 srvv-bd01-test pg_ctl[5068]: Examinez le journal applicatif.
sept. 25 16:07:33 srvv-bd01-test systemd[1]: postgresql-9.5.service: control process exited, code=exited status=1
sept. 25 16:07:33 srvv-bd01-test systemd[1]: Failed to start PostgreSQL 9.5 database server.
-- Subject: L'unité (unit) postgresql-9.5.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/li … temd-devel
--
-- L'unité (unit) postgresql-9.5.service a échoué, avec le résultat failed.
sept. 25 16:07:33 srvv-bd01-test systemd[1]: Unit postgresql-9.5.service entered failed state.
sept. 25 16:07:33 srvv-bd01-test systemd[1]: postgresql-9.5.service failed.
sept. 25 16:07:33 srvv-bd01-test polkitd[696]: Unregistered Authentication Agent for unix-process:5056:8463599 (system bus name :1.97, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale fr_FR.UTF-8) (disconnected from bus)

En vous remerciant d'avance

Hors ligne

#4 25/09/2018 16:37:51

gleu
Administrateur

Re : Connexion via active directory

Si c'est bien du copier/coller, il y a un "1dapserver" (un dap server) au lieu de ldapserver.

Hors ligne

#5 26/09/2018 09:35:39

EPTBSGL
Membre

Re : Connexion via active directory

Merci beaucoup. Désolé de vous avoir dérangé pour une erreur aussi idiote !
Tout fonctionne.
Vous pouvez passer en "résolu" le problème.

Philippe NICOLAS

Hors ligne

Pied de page des forums