Règles de pare-feu dans Azure Database pour PostgreSQL - Serveur flexible

S’APPLIQUE À : Azure Database pour PostgreSQL – Serveur flexible

Quand vous utilisez le serveur flexible Azure Database pour PostgreSQL, vous disposez de deux options de mise en réseau principales. Il s’agit de l’accès privé (intégration au réseau virtuel) et de l’accès public (adresses IP autorisées).

Avec un accès public, vous accédez à l’instance de serveur flexible Azure Database pour PostgreSQL via un point de terminaison public. Par défaut, le pare-feu bloque tout accès au serveur. Pour spécifier les hôtes IP qui peuvent accéder au serveur, vous devez créer des règles de pare-feu au niveau du serveur. Les règles de pare-feu spécifient les plages d’adresses IP publiques autorisées. Le pare-feu octroie l’accès au serveur en fonction de l’adresse IP d’origine de chaque demande. Avec un accès privé, aucun point de terminaison public n’est disponible et seuls les hôtes situés sur le même réseau peuvent accéder au serveur flexible Azure Database pour PostgreSQL.

Vous pouvez créer des règles de pare-feu avec le Portail Azure ou des commandes d’Azure CLI. Vous devez être le propriétaire ou un contributeur de l’abonnement.

Les règles de pare-feu au niveau du serveur s’appliquent à toutes les bases de données situées sur la même instance de serveur flexible Azure Database pour PostgreSQL. Les règles n’affectent pas l’accès au site web du portail Azure.

Le diagramme suivant montre comment les tentatives de connexion à partir d’Internet et d’Azure doivent passer par le pare-feu avant de pouvoir atteindre des bases de données de serveur flexible Azure Database pour PostgreSQL :

Diagram that shows an overview of how the firewall works.

Connexion à partir d’Internet

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 avec un pilote JDBC Java Database Connectivity pour serveur flexible Azure Database pour PostgreSQL, il est possible que vous rencontriez cette erreur, car 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.

Se connecter à partir d’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. Par exemple, vous pouvez retrouver l’adresse IP sortante d’une application Azure App Service ou bien utiliser une adresse IP publique liée à une machine virtuelle.

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 :

  1. Dans le portail Azure, dans le volet Réseau, activez la case à cocher Autoriser l’accès public à partir de n’importe quel service Azure dans Azure sur ce serveur.
  2. Sélectionnez Enregistrer.

Important

L’option Autoriser l’accès public à partir de n’importe quel service Azure dans Azure sur ce serveur 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 utilisez cette option, assurez-vous que vos autorisations de connexion et d’utilisation limitent l’accès aux seuls utilisateurs autorisés.

Screenshot that shows selections for allowing access to Azure services in the portal.

Gestion par programmation des règles de pare-feu

En dehors du Portail Azure, vous pouvez gérer les règles de pare-feu par programmation à l’aide d’Azure CLI.

À partir d’Azure CLI, un paramètre de règle de pare-feu avec une adresse de début et de fin égale à 0.0.0.0 équivaut à l’option Autoriser l’accès public à partir de n’importe quel service Azure dans Azure sur ce serveur dans le portail. Si les règles du pare-feu rejettent la tentative de connexion, l’application n’atteint pas l’instance de serveur flexible Azure Database pour PostgreSQL.

Résoudre les problèmes de pare-feu

Envisagez les possibilités suivantes lorsque l’accès à une instance de serveur flexible Azure Database pour PostgreSQL ne se comporte pas comme vous le souhaitez :

  • Les modifications apportées à la liste d’autorisation n’ont pas encore pris effet : l’application des modifications apportées à la configuration du pare-feu d’une instance de serveur flexible Azure Database pour PostgreSQL peut prendre jusqu’à cinq minutes.

  • La connexion n’est pas autorisée ou un mot de passe incorrect a été utilisé : si une connexion ne dispose pas des autorisations sur l’instance de serveur flexible Azure Database pour PostgreSQL ou si le mot de passe est incorrect, la connexion au serveur 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.

    Par exemple, l’erreur suivante peut s’afficher si l’authentification échoue pour un client JDBC :

    java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "yourusername"

  • Le pare-feu n’autorise pas les adresses IP dynamiques : si vous avez une connexion Internet avec adressage IP dynamique et que le pare-feu demeure infranchissable, essayez l’une des solutions suivantes :

    • Demandez à votre fournisseur d’accès à Internet (ISP) la plage d’adresses IP attribuée à vos ordinateurs clients qui accèdent à l’instance de serveur flexible Azure Database pour PostgreSQL. Ajoutez ensuite cette plage dans une règle de pare-feu.

    • Obtenez des adresses IP statiques pour vos ordinateurs clients, puis ajoutez ces adresses IP statiques en tant que règle de pare-feu.

  • Les règles du pare-feu ne sont 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 obtiendrez une erreur de validation.

Étapes suivantes