Configuration de la connexion distante à PostgreSQL

Pour autoriser les connexions distantes à une instance PostgreSQL, il est nécessaire d'ajuster les fichiers de configuraton principaux. Cette procédure implique de modifier les règles d'authentification et d'adapter les paramètres réseau du serveur.

Modification des règles d'authentification dans pg_hba.conf

Le fichier pg_hba.conf contrôle les accès en fonction du type de connexion, de la base de données, de l'utilisateur, de l'adresse réseau et de la méthode d'authentification. Voici comment ajouter des règles pour les connexions distantes :

# Type de connexion, Base de données, Utilisateur, Adresse IP/CIDR, Méthode d'authentification
# Autorise l'utilisateur 'admin' à accéder à toutes les bases depuis l'adresse 172.16.0.5
host    all     admin       172.16.0.5/32       scram-sha-256
# Autorise tous les utilisateurs du réseau 172.16.1.0/24 à se connecter à la base 'app_db'
host    app_db  *           172.16.1.0/24       md5

Les champs sont détaillés ainsi :

  • Type : local pour les connexions Unix socket, host pour les connexions TCP/IP (requises pour l'accès distant).
  • Base de données : nom spécifique ou * pour toutes les bases.
  • Utilisateur : nom d'utilisateur PostgreSQL ou * pour tous les utilisateurs.
  • Adresse IP/CIDR : format adresse/masque. Par exemple, 192.168.2.0/24 désigne le sous-réseau 192.168.2.0 avec un masque 255.255.255.0 (les 24 bits de poids fort).
  • Méthode : reject pour bloquer, md5 ou scram-sha-256 pour l'authentification par mot de passe haché, password pour le texte clair (non recommandé).

Configuration de l'écoute réseau dans postgresql.conf

Par défaut, PostgreSQL n'écoute que sur l'adresse locale. Pour accepter des connexions distantes, modifiez le paramètre listen_addresses dans le fichier postgresql.conf :

# Écoute sur toutes les interfaces réseau
listen_addresses = '*'

Activation des sockets TCP/IP sur les systèmes Linux

Sur les systèmes Linux, assurez-vous que les connnexions TCP/IP sont activées. Dans le fichier postgresql.conf, vérifiez ou modifiez :

# Active les sockets TCP/IP
tcpip_socket = on

Ce paramètre, combiné avec listen_addresses, permet au serveur d'accepter les connexions distantes via le réseau TCP/IP.

Après ces modifications, redémarrez le service PostgreSQL pour appliquer les changements. Les utilisateurs distants pourront alors se connecter en respectant les règles définies.

Étiquettes: PostgreSQL Configuration Connexion distante pg_hba.conf postgresql.conf

Publié le 3 juin à 18h57