Firewallregels in Azure Database for PostgreSQL - Enkele server

VAN TOEPASSING OP: Azure Database for PostgreSQL - enkele server

Belangrijk

Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.

Azure Database for PostgreSQL-server is standaard beveiligd, waardoor alle toegang tot uw databaseserver wordt voorkomen totdat u opgeeft welke IP-hosts toegang hebben tot deze server. De firewall verleent toegang tot de server op basis van het IP-adres waar de aanvraag vandaan komt. U configureert de firewall door firewallregels te maken die bereiken opgeven van acceptabele IP-adressen. U kunt firewallregels maken op serverniveau.

Firewallregels: Met deze regels kunnen clients toegang krijgen tot uw hele Azure Database for PostgreSQL-server, dat wil gezegd, alle databases binnen dezelfde logische server. Firewallregels op serverniveau kunnen worden geconfigureerd met behulp van Azure Portal of met behulp van Azure CLI-opdrachten. Als u firewallregels op serverniveau wilt maken, moet u de eigenaar van het abonnement of een bijdrager aan het abonnement zijn.

Firewalloverzicht

Alle toegang tot uw Azure Database for PostgreSQL-server wordt standaard geblokkeerd door de firewall. Als u toegang wilt krijgen tot uw server vanaf een andere computer/client of toepassing, moet u een of meer firewallregels op serverniveau opgeven om toegang tot uw server in te schakelen. Gebruik de firewallregels om toegestane openbare IP-adresbereiken op te geven. Toegang tot de Website van Azure Portal zelf wordt niet beïnvloed door de firewallregels. Verbinding maken pogingen vanaf internet en Azure moet eerst de firewall passeren voordat ze uw PostgreSQL-database kunnen bereiken, zoals wordt weergegeven in het volgende diagram:

Voorbeeldstroom van hoe de firewall werkt

Verbinding maken vanuit internet

Firewallregels op serverniveau zijn van toepassing op alle databases op dezelfde Azure Database for PostgreSQL-server. Als het bron-IP-adres van de aanvraag zich binnen een van de bereiken bevindt die zijn opgegeven in de firewallregels op serverniveau, wordt de verbinding verleend, anders wordt de verbinding geweigerd. Als uw toepassing bijvoorbeeld verbinding maakt met het JDBC-stuurprogramma voor PostgreSQL, kan deze fout optreden wanneer de firewall de verbinding blokkeert.

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

Notitie

Als u toegang wilt krijgen tot Azure Database for PostgreSQL vanaf uw lokale computer, moet u ervoor zorgen dat de firewall op uw netwerk en lokale computer uitgaande communicatie op TCP-poort 5432 toestaat.

Verbinding maken vanuit Azure

Het wordt aanbevolen om het uitgaande IP-adres van elke toepassing of service te vinden en expliciet toegang te verlenen tot deze afzonderlijke IP-adressen of bereiken. U kunt bijvoorbeeld het uitgaande IP-adres van een Azure-app Service vinden of een openbaar IP-adres gebruiken dat is gekoppeld aan een virtuele machine of een andere resource (zie hieronder voor informatie over het maken van verbinding met het privé-IP-adres van een virtuele machine via service-eindpunten).

Als een vast uitgaand IP-adres niet beschikbaar is voor uw Azure-service, kunt u overwegen verbindingen in te schakelen vanaf alle IP-adressen van het Azure-datacenter. Deze instelling kan worden ingeschakeld vanuit Azure Portal door de optie Toegang tot Azure-services toestaan in te stellen op AAN vanuit het beveiligingsvenster van Verbinding maken ion en op Opslaan te drukken. Vanuit de Azure CLI is een firewallregelinstelling met het begin- en eindadres gelijk aan 0.0.0.0. Als de verbindingspoging wordt geweigerd door firewallregels, wordt de Azure Database for PostgreSQL-server niet bereikt.

Belangrijk

Met de optie Toegang toestaan aan Azure-services configureert u de firewall zo dat alle verbindingen vanuit Azure zijn toegestaan, inclusief verbindingen vanuit de abonnementen van andere klanten. Wanneer u deze optie selecteert, zorgt u er dan voor dat uw aanmeldings- en gebruikersmachtigingen de toegang beperken tot alleen geautoriseerde gebruikers.

Toegang tot Azure-services toestaan configureren in de portal

Verbinding maken van een VNet

Als u vanuit een VNet veilig verbinding wilt maken met uw Azure Database for PostgreSQL-server, kunt u overwegen om VNet-service-eindpunten te gebruiken.

Firewallregels programmatisch beheren

Naast Azure Portal kunnen firewallregels programmatisch worden beheerd met behulp van Azure CLI. Zie ook Azure Database for PostgreSQL-firewallregels maken en beheren met behulp van Azure CLI

Problemen met firewall oplossen

Houd rekening met de volgende punten wanneer toegang tot de Microsoft Azure Database for PostgreSQL Server-service niet werkt zoals verwacht:

  • Wijzigingen in de acceptatielijst zijn nog niet van kracht: het kan vijf minuten duren voordat wijzigingen in de firewallconfiguratie van Azure Database for PostgreSQL Server van kracht worden.

  • De aanmelding is niet geautoriseerd of er is een onjuist wachtwoord gebruikt: als een aanmelding geen machtigingen heeft op de Azure Database for PostgreSQL-server of het gebruikte wachtwoord onjuist is, wordt de verbinding met de Azure Database for PostgreSQL-server geweigerd. Het maken van een firewallinstelling biedt clients alleen de mogelijkheid om verbinding te maken met uw server; elke client moet nog steeds de benodigde beveiligingsreferenties opgeven.

    Als u bijvoorbeeld een JDBC-client gebruikt, kan de volgende fout worden weergegeven.

    java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: wachtwoordverificatie is mislukt voor gebruiker 'yourusername'

  • Dynamisch IP-adres: als u een internetverbinding hebt met dynamische IP-adressering en problemen ondervindt bij het passeren van de firewall, kunt u een van de volgende oplossingen proberen:

    • Vraag uw internetprovider om het IP-adresbereik dat is toegewezen aan uw clientcomputers die toegang hebben tot de Azure Database for PostgreSQL-server en voeg vervolgens het IP-adresbereik toe als firewallregel.

    • Haal in plaats daarvan statische IP-adressering op voor uw clientcomputers en voeg vervolgens het statische IP-adres toe als een firewallregel.

  • Het IP-adres van de server lijkt openbaar te zijn: Verbinding maken ies naar de Azure Database for PostgreSQL-server worden gerouteerd via een openbaar toegankelijke Azure-gateway. Het daadwerkelijke IP-adres van de server wordt echter beschermd door de firewall. Raadpleeg het artikel over de connectiviteitsarchitectuur voor meer informatie.

  • Kan geen verbinding maken vanuit een Azure-resource met toegestaan IP-adres: controleer of het Microsoft.Sql-service-eindpunt is ingeschakeld voor het subnet waaruit u verbinding maakt. Als Microsoft.Sql is ingeschakeld, geeft dit aan dat u alleen VNet-service-eindpuntregels voor dat subnet wilt gebruiken.

    U ziet bijvoorbeeld de volgende fout als u verbinding maakt vanaf een Azure-VM in een subnet waarvoor Microsoft.Sql is ingeschakeld, maar geen bijbehorende VNet-regel heeft: FATAL: Client from Azure Virtual Networks is not allowed to access the server

  • Firewallregel is niet beschikbaar voor IPv6-indeling: de firewallregels moeten de IPv4-indeling hebben. Als u firewallregels opgeeft in de IPv6-indeling, ziet u een validatiefout.

Volgende stappen