Vue d’ensemble de la mise en réseau pour Azure Database pour PostgreSQL Serveur flexible avec accès public (adresses IP autorisées)
S’APPLIQUE À : Azure Database pour PostgreSQL : serveur flexible
Cet article décrit les concepts de connectivité et de réseau pour Azure Database pour PostgreSQL - Serveur flexible.
Lorsque vous créez un serveur flexible Azure Database pour PostgreSQL, vous devez choisir l’une des options de mise en réseau suivantes :
- Accès privé avec intégration de réseau virtuel
- Accès public (adresses IP autorisées) et le point de terminaison privé
Les caractéristiques suivantes s’appliquent si vous choisissez d’utiliser l’option d’accès privé ou d’accès public :
- Les connexions à partir d’adresses IP autorisées doivent s’authentifier auprès du serveur flexible Azure Database pour PostgreSQL avec des informations d’identification valides.
- Le chiffrement de la connexion est appliqué pour votre trafic.
- Le serveur a un nom de domaine complet (FQDN). Pour la propriété
hostname
dans les chaînes de connexion, nous vous recommandons d’utiliser le FQDN plutôt qu’une adresse IP. - Les deux options contrôlent l’accès au niveau du serveur, et non au niveau de la base de données ou de la table. Vous utilisez les propriétés du rôle de PostgreSQL pour contrôler l’accès aux bases de données, aux tables et à d’autres objets.
Remarque
Dans la mesure où Azure Database pour PostgreSQL – Serveur flexible est un service de base de données managé, les utilisateurs ne disposent pas d’un accès à l’hôte ou au système d’exploitation pour afficher ou modifier des fichiers de configuration tels que pg_hba.conf
. Le contenu de ces fichier est automatiquement mis à jour en fonction des paramètres du réseau.
Utiliser les réseaux d’accès public avec Azure Database pour PostgreSQL – Serveur flexible
Lorsque vous choisissez la méthode d’accès public, votre serveur flexible Azure Database pour PostgreSQL est accessible via un point de terminaison public sur Internet. Le point de terminaison public est une adresse DNS résolvable publiquement. L’expression adresses IP autorisées fait référence à une plage d’adresses IP à laquelle vous choisissez de donner l’autorisation d’accéder à votre serveur. Ces autorisations sont appelées règles de pare-feu.
Choisissez cette option de mise en réseau si vous souhaitez bénéficier des capacités suivantes :
- Connexion à partir de ressources Azure qui ne prennent pas en charge les réseaux virtuels.
- Connexion à partir de ressources situées en dehors d’Azure qui ne sont pas connectées par un réseau privé virtuel (VPN) ou Azure ExpressRoute.
- Garantie que le serveur flexible Azure Database pour PostgreSQL dispose d’un point de terminaison public accessible via Internet.
Les caractéristiques de la méthode d’accès public sont les suivantes :
- Seules les adresses IP que vous autorisez peuvent accéder à votre serveur flexible Azure Database pour PostgreSQL. Par défaut, aucune adresse IP n’est autorisée. Vous pouvez ajouter des adresses IP lors de la création du serveur ou par la suite.
- Votre serveur flexible Azure Database pour PostgreSQL a un nom DNS pouvant être résolu publiquement.
- Votre serveur flexible Azure Database pour PostgreSQL n’existe dans aucun de vos réseaux virtuels Azure.
- Le trafic réseau à destination et en provenance de votre serveur ne passe pas par un réseau privé. Le trafic utilise les chemins Internet généraux.
Règles de pare-feu
Les règles de pare-feu au niveau du serveur s’appliquent à toutes les bases de données situées sur le même serveur flexible Azure Database pour PostgreSQL. Si l’adresse IP source de la demande appartient à une des plages spécifiées dans les règles de pare-feu au niveau du serveur, la connexion est accordée. Dans le cas contraire, elle est rejetée. Par exemple, si votre application se connecte au pilote JDBC pour PostgreSQL, il se peut que vous rencontriez cette erreur lorsque vous tentez de vous connecter si le pare-feu bloque la connexion.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL
Remarque
Pour accéder au serveur flexible Azure Database pour PostgreSQL à partir de votre ordinateur local, vérifiez que le pare-feu de votre réseau et de votre ordinateur local autorise les communications sortantes sur le port TCP 5432.
Règles de pare-feu gérées par programmation
En dehors du Portail Azure, vous pouvez gérer les règles de pare-feu par programmation à l’aide de l’interface Azure CLI. Pour plus d’informations, consultez Créer et gérer des règles de pare-feu Azure Database pour PostgreSQL – Serveur flexible à l’aide d’Azure CLI.
Autoriser toutes les adresses IP Azure
Nous vous conseillons de trouver l’adresse IP sortante d’une application ou d’un service et d’autoriser explicitement l’accès à ces plages ou adresses IP individuelles. Si aucune adresse IP sortante fixe n’est disponible pour votre service Azure, vous pouvez envisager d’autoriser les connexions depuis toutes les adresses IP pour les centres de données Azure.
Pour activer ce paramètre à partir du Portail Azure, dans le volet Réseaux, cochez la case Autoriser l’accès public à partir d’un service Azure dans Azure sur ce serveur, puis sélectionnez Enregistrer.
Important
L’option Autoriser l’accès public à partir des ressources et services Azure dans Azure permet de configurer le pare-feu afin d’autoriser toutes les connexions en provenance d’Azure, notamment les connexions à partir des abonnements d’autres clients. Lorsque vous sélectionnez cette option, assurez-vous que vos autorisations de connexion et d’utilisation limitent l’accès aux seuls utilisateurs autorisés.
Résoudre des problèmes d’accès public
Lorsque l’accès à Azure Database pour PostgreSQL – Serveur flexible ne se comporte pas comme prévu, tenez compte des points suivants :
Les modifications apportées à la liste d’autorisation n’ont pas encore été prises en compte. Jusqu’à cinq minutes peuvent s’écouler avant que les modifications apportées à la configuration du pare-feu du serveur flexible Azure Database pour PostgreSQL prennent effet.
Échec de l’authentification. Si un utilisateur n’a pas d’autorisation sur le serveur flexible Azure Database pour PostgreSQL ou que le mot de passe est incorrect, la connexion au serveur flexible Azure Database pour PostgreSQL est refusée. La création d’un paramètre de pare-feu permet uniquement aux clients de tenter de se connecter à votre serveur. Chaque client doit quand même fournir les informations d’identification de sécurité nécessaires.
L’adresse IP dynamique du client empêche l’accès. Si vous avez une connexion Internet avec un adressage IP dynamique et que le pare-feu demeure infranchissable, essayez l’une des solutions suivantes :
- Demandez à votre fournisseur d’accès à Internet (FAI) la plage d’adresses IP attribuée à vos ordinateurs clients qui accèdent au serveur flexible Azure Database pour PostgreSQL. Ajoutez ensuite cette plage dans une règle de pare-feu.
- Récupérez plutôt l’adressage IP statique pour vos ordinateurs clients. Ajoutez ensuite l’adresse IP statique en tant que règle de pare-feu.
La règle de pare-feu n’est pas disponible pour le format IPv6. Les règles de pare-feu doivent être au format IPv4. Si vous spécifiez des règles de pare-feu au format IPv6, vous obtenez une erreur de validation.
Nom de l’hôte
Quelle que soit l’option réseau choisie, nous vous recommandons de toujours utiliser un nom de domaine complet comme nom d’hôte lorsque vous vous connectez à votre serveur flexible Azure Database pour PostgreSQL. Il n’est pas garanti que l’adresse IP du serveur reste statique. L’utilisation du nom de domaine complet vous permet d’éviter d’apporter des modifications à votre chaîne de connexion.
Par exemple, hostname = servername.postgres.database.azure.com
utilise un FQDN comme nom d’hôte. Dans la mesure du possible, évitez d’utiliser hostname = 10.0.0.4
(adresse privée) ou hostname = 40.2.45.67
(adresse publique).
Contenu connexe
- Découvrez comment créer un serveur flexible Azure Database pour PostgreSQL en utilisant l’option Accès public (adresses IP autorisées) dans le Portail Azure ou l’interface Azure CLI.