samedi 11 juillet 2015

SetSPN pour intégrer un serveur PostgreSQL dans un domaine windows

Notre besoin : permettre de se connecter à PostgreSQL sans devoir retenir un mot de passe supplémentaire et probablement différent de notre mot de passe du domaine Windows.

Solution : Il est possible d'intégrer un serveur PostgreSQL au sein d'un domaine windows afin d'utiliser l'authentification SSPI.
Ceci permet d'utiliser des comptes de l'ActiveDirectory pour authentifier des utilisateurs sans devoir maintenir des comptes différents avec login/pwd dans le serveur PostgreSQL.

Comment :
Vu que le service PostgreSQL est configuré pour être exécuté avec le compte NETWORK SERVICE, (depuis la version 9.2), il est possible de directement l'intégrer avec la commande SetSPN.

L'instruction à utiliser est setspn -S POSTGRES/FQDN nomserveur

Si, par exemple, votre serveur s'appelle serveur1 et est membre du domaine pdc2008.corp.
L'instruction à utiliser est :
 setspn -S POSTGRES/serveur1.pdc2008.corp serveur1

Cette action doit être exécutée dans une fenêtre "En tant qu'administrateur".
Selon la configuration de votre domaine, elle risque de devoir être exécutée par un compte ayant les droits d'administration du domaine.

Et c'est tout !

Attention qu'avec cette solution, tous les services exécutés sur la machine avec le compte NETWORK SERVICE ont accès aux fichiers de PostgreSQL.
Si cela va à l'encontre de vos besoins en sécurité, veuillez suivre la deuxième démarche exposée sur le wiki de PostgreSQL : Configuring for single sign-on using SSPI on Windows.

À suivre : créer les utilisateurs et adapter pg_hba.conf

Aucun commentaire:

Publier un commentaire

Ce commentaire sera validé par notre modérateur.