Découvrir PostgreSQL

Permettre la connexion à distance

Testez gratuitement nos 1270 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez voir comment configurer les permissions d'accès à distance pour des rangées d'adresses IP.
07:43

Transcription

Voyons maintenant comment assurer des connexions distantes à notre serveur " PostgreSQL ". Je vais déjà commencer par vous montrer quelque chose qui ne va pas fonctionner. Ah bon ? Mais pourquoi ? Bah, simplement parce que ça va vous permettre de vous-même diagnostiquer les problèmes, ou ça va vous donner des pistes en tout cas pour le faire si ça vous arrive à vous également. Mais, rafraîchissons-nous la mémoire. Donc, nous avons nos fichiers de configurations ici Dans " postgresql.conf ", si vous vous souvenez, nous avons indiqué sur quelle interface, c'est-à-dire quelle carte réseau si vous voulez, le processus " postgres " va écouter. Il va écouter des tentatives de connexion, non plus seulement sur la boucle locale, c'est-à-dire des connexions uniquement locales, mais il va écouter surtout les interfaces, toutes les adresses IP de cette machine. Donc, il va pouvoir entendre des appels qui viennent de l'extérieur. Ça c'est une chose. Mais va-t-il vouloir y répondre ? C'en est une autre. Et si vous vous souvenez dans " pg_hba.conf ", alors on va regarder le contenu. Eh bien, dans " pg_hba.conf ", nous avons indiqué que nous acceptions des connexions en " host " et en " local ". Bon, en " local ", ça, c'est bien. Pas de problème. Mais à partir de " host " ici, et à partir de quelle adresse " 127.0.0.1/32 ", c'est à dire la boucle locale en d'autres termes. Et ici, la même chose mais en " IPv6 " où finalement, on n'accepte que des connexions locales. Ah ! On est d'accord. Donc, ça ne marchera pas. Qu'est-ce qui ne marchera pas ? Eh bien, on va faire une tentative de connexion à partir de " pgAdmin ". Donc voilà " pgAdmin ", je suis maintenant sur ma machine cliente sur Windows. J'ai installé " pgAdmin " avec le programme d'installation. Donc rien de plus facile, aucune difficulté à ce niveau-là. Et puis maintenant, je me retrouve ici. Et je dis, bon allez, j'ajoute une connexion. Cette connexion me demande deux ou trois choses. Premièrement, un " nom " de connexion, ça, c'est facile. Je vais l'appeler " pacha ". Deuxièmement, un " hôte ". Alors, en ce qui concerne l'" hôte ", il s'agit de référencer cette machine. Cette machine, je vais faire un " ifconfig " pour voir son adresse IP. Ah, cette adresse IP. Vous pouvez référencer cette machine, soit par son adresse IP, soit par son nom de machine, une entrée DNS, etcetera. En ce qui me concerne, je suis allé dans Windows dans le fichier host qui se trouve sur Windows ici dans " C:\Windows\système32\drivers\etc ". J'ai ouvert d'ailleurs le " Bloc note " en administrateur c'est-à-dire que je fais un clic droit sur l'icône du " Bloc note " pour dire exécute-toi en tant qu'administrateur pour avoir le droit d'aller dans ce répertoire et d'éditer et de sauvegarder un fichier. Et donc, j'ai pris le " fichier " qui est " hosts ". Mais c'est le même principe. C'est le même " fichier " dans " etc " dans les distributions Linux, bien sûr. Et puis, j'ai indiqué ici que par rapport à cette adresse IP ci, bah je voulais que cette machine puisse l'adresser si je tape quelque part " pacha ". Mais bon, je peux utiliser donc mon fichier, c'est pratique pour faire du débogage ou bien pour me connecter à des serveurs de développement. Mais je peux aussi donc, dans ma tentative de connexion ici, indiquer directement l'adresse IP. Pas de problème. Le " Port TCP " par défaut de " PostgreSQL " est le " 5432 ", le " Service ", peu importe. La " Base " et le " Nom " d'utilisateur, pour l'instant, je vais faire une tentative de connexion en tant que superuser et je vais mettre le " Mot de passe " que j'ai défini pour mon utilisateur " postgres ". J'enregistre ou pas le mot de passe. Bon, c'est à vous de voir par rapport à votre sécurité. Et puis, un petit " OK ". Alors on me dit : "T'es vraiment sûr parce que tu as sauvegardé ton mot de passe, etcetera. C'est dangereux ! Très bien " Accès refusé à la base de données ". Alors, ce qui est très bien avec " pgAdmin ", c'est que vous avez un petit blabla sur l'erreur, c'est-à-dire petite explication de l'erreur. Et on vous donne quand même un certain nombre d'informations sympathiques et on nous retourne l'erreur qui a été émise par le " serveur ". Alors, le " serveur " nous a dit : Eh bien, je n'ai pas d'entrée dans " pg_hba.conf " pour cet " hôte "-ci. Donc, ça, c'est l'adresse IP de ma machine cliente pour cet utilisateur, pour cette base de données. Et en " SSL on ", c'est-à-dire on sécurisait avec " SSL " et je n'en ai pas non plus en " SSL off ". Donc, je n'ai aucun moyen de te donner une autorisation de te connecter puisque dans " pg_hba.conf ", il n'y en a pas. Bon bah, d'accord ! Je sais ce qui me reste à faire donc. Il faut que j'aille modifier " pg_hba.conf ", que je lui donne une autorisation de se connecter à partir de cette adresse IP ou d'une rangée d'adresses IP. " OK ". Donc, nous allons faire ça avant de pouvoir nous connecter de l'extérieur. Je vais donc éditer " pg_hba ". Je vais aller à la fin. Et je vais donc ajouter quelque chose par ici. Le format de " pg_hba " est le suivant : je retourne sur l'aide. Je peux entrer " local " ou " host " et un certain nombre d'autres options pour dire, alors, donc " local ", c'est " local " ; " host ", c'est une machine cliente. Et je vais mettre une adresse ou une adresse IP Et puis, je peux dire un truc spécifique qui est " hostssl " ou " hostnossl " qui, ici s'applique uniquement aux hôtes quand ils se connectent en " SSL ". Et ici, s'applique uniquement aux hôtes quand ils ne se connectent pas en " SSL ". Mais si vous voulez prévoir les deux, vous utilisez simplement " host ". Il supporte les deux types de connexions. Ensuite, vous avez toujours quelques références ici qui vous donnent des exemples. Je vais prendre d'ailleurs l'exemple sur ceci, qui correspond à peu près à ce que je veux faire. Donc allons-y. Je vais prendre ceci, faire une copie et dire Ok : host. Dans quelle base de données, je vais mettre " all ". Quel utilisateur ? Je vais mettre " all " également. Donc ça, c'est vraiment à vous de voir par rapport à votre sécurité. Ici, je vais mettre l'adresse IP ou en tout cas la première partie, la partie réseau de l'adresse IP de ma machine cliente qui est ici : " 192.168.24 " Et ensuite, je vais utiliser un masque pour dire, eh bien, finalement toutes les machines comme ceci avec " 0 " d'abord, toutes les machines qui commencent par " 192.168.24 ". Et ensuite, pour le " 0 ", je donne un masque en disant tous les numéros possibles dans cette rangée. J'enlève ici pour être bien formaté et ça me parait pas mal. Je sauvegarde et je n'oublie pas surtout de redémarrer.

Découvrir PostgreSQL

Comprenez le fonctionnement de PostgreSQL ainsi que son architecture. Effectuez les tâches courantes de sécurité, de création de bases de données et d'objets, etc.

2h46 (30 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
PostgreSQL PostgreSQL 9
Spécial abonnés
Date de parution :31 mars 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !