Configuration basée sur l'hôte, communément appelé PH_HBA.conf, est un fichier spécial utilisé pour l'authentification du client postgresql. Vous pouvez le considérer comme un fichier de configuration pour gérer les politiques d'accès au cluster de la base de données PostgreSQL.
Avant de plonger dans la façon de travailler avec le fichier de configuration PostgreSQL, installons PostgreSQL. Si vous l'avez déjà installé, n'hésitez pas à sauter la section.
Installation de PostgreSQL
Pour suivre ce guide, vous devez vous assurer que PostgreSQL soit installé. Je vais illustrer comment l'installer sur un système Debian.
Sur le système Arch - https: // linuxhint.com / install-PostgreSQL-10-ARCH-LINUX /
Sur Centos / Rehl - https: // linuxhint.com / install_postgresql_centos8 /
Commencez par mettre à jour votre système avec la commande:
Mise à jour d'installation Sudo apt-getUne fois mis à jour, créez une configuration de référentiel de fichiers.
sudo sh -c 'echo "deb http: // apt.postgresql.org / pub / repos / apt $ (lsb_release -cs) -pgdg main "> / etc / apt / sources.liste.d / pgdg.liste'Ensuite, importez la clé de signature et mettez à jour votre système comme:
wget --quiet -o - https: // www.postgresql.org / média / clés / accc4cf8.ASC | sudo apt-key add - && sudo apt-get updateEnfin, installez PostgreSQL Server et Client avec la commande:
sudo apt-get install postgresql-13 postgresql-client-13Vous pouvez spécifier d'autres versions PostgreSQL telles que PostgreSQL 9, 10, 11, 12, 14, etc.
Vous pouvez désormais initialiser le cluster PostgreSQL avec la commande:
pg_ctlcluster 13 Démarrage principalComprendre le fichier ph_hba
Par défaut, le fichier de configuration Ph_HBA se trouve dans le répertoire de cluster racine.
Dans notre exemple, c'est dans:
/ etc / postgresql / 13 / main / ph_hba.confliLe PG_HBA suit un format de configuration simple. Il comprend un ensemble de règles de configuration, une règle par ligne.
Le fichier de configuration n'est pas sensible aux espaces blancs, et tous les fichiers précédés d'un # sont traités comme des commentaires et ignorés.
Les règles PG_HBA ne peuvent pas s'étendre pour plusieurs lignes car chaque ligne est interprétée comme une règle distincte.
Le fichier de configuration contient 5 enregistrements dans le format suivant respectivement:
PostgreSQL accepte diverses méthodes d'authentification. Ceux-ci inclus:
Ce qui précède est une liste de certaines des méthodes d'authentification prises en charge. Vous pouvez consulter d'autres méthodes dans la documentation officielle.
Exemples de configurations
La configuration PG_HBA est un fichier texte brut que vous pouvez modifier avec n'importe quel éditeur de texte pris en charge.
Voici quelques configurations que vous pouvez effectuer à des fins de dépannage ou de sécurité.
Permettez à tout utilisateur de se connecter à une base de données (locale).
Tapez la méthode de l'adresse utilisateur de la base de donnéesPermettez à tout utilisateur de IP spécifique de se connecter à une base de données spécifique si le mot de passe est correct.
Tapez la méthode de l'adresse utilisateur de la base de donnéesRejeter toutes les connexions à partir d'un sous-réseau IP spécifique
Tapez la méthode de la base de données de la base de données IP-Address IP-MaskAutoriser ou rejeter un segment de réseau IP spécifique
Tapez la méthode de l'adresse utilisateur de la base de donnéesSpécification des adresses dans le protocole IPv4.
Permettez à tout utilisateur de se connecter à n'importe quelle base de données sur IPv6
Tapez la méthode de l'adresse utilisateur de la base de donnéesPour couvrir IPv6 et IPv4, vous pouvez spécifier le nom d'hôte à la place.
Tapez la méthode de l'adresse utilisateur de la base de donnéesEnregistrement et application de la configuration
Avant d'enregistrer la configuration, assurez-vous qu'elle est dans le bon format. Pour recharger et appliquer les modifications, vous pouvez utiliser l'utilitaire PG_CTL.
La commande est:
pg_ctl rechargement -s -d / etc / postgresql / 13Le -d spécifie le répertoire contenant le fichier de configuration. Si aucun n'est spécifié, la valeur par défaut est utilisée.
En résumé
Le pg_hba.Le fichier de configuration de Conf aide à spécifier l'authentification du client au serveur postgresql. Apporter des modifications peut vous permettre de sécuriser votre système et d'autoriser uniquement les utilisateurs et les hôtes spécifiques.