Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u een Azure Database for PostgreSQL flexibele server uitvoert, hebt u twee belangrijke netwerkopties: privétoegang (integratie van virtueel netwerk) en openbare toegang (toegestane IP-adressen).
Met openbare toegang hebt u toegang tot de Azure Database for PostgreSQL flexibele server via een openbaar eindpunt. Standaard blokkeert de firewall alle toegang tot de server. Als u wilt opgeven welke IP-hosts toegang hebben tot de server, maakt u firewallregels op serverniveau. Firewallregels geven toegestane openbare IP-adresbereiken op. De firewall verleent toegang tot de server op basis van het IP-adres waar de aanvraag vandaan komt. Met privétoegang is er geen openbaar eindpunt beschikbaar en hebben alleen hosts die zich in hetzelfde netwerk bevinden toegang tot uw Azure Database for PostgreSQL flexibele server.
Maak firewallregels met behulp van de Azure-portal of met behulp van Azure CLI opdrachten. U moet de eigenaar van het abonnement of een inzender voor het abonnement zijn.
Firewallregels op serverniveau zijn van toepassing op alle databases op dezelfde Azure Database for PostgreSQL flexibele server. De regels hebben geen invloed op de toegang tot de Website van Azure Portal.
In het volgende diagram ziet u hoe verbindingspogingen vanaf internet en Azure de firewall moeten passeren voordat ze Azure Database for PostgreSQL-databases kunnen bereiken:
Verbinding maken via internet
Als het bron-IP-adres van de aanvraag binnen een van de bereiken valt die zijn opgegeven in de firewallregels op serverniveau, wordt de verbinding verleend. Anders wordt het geweigerd.
Als uw toepassing bijvoorbeeld verbinding maakt met een JDBC-stuurprogramma (Java Database Connectivity) voor Azure Database for PostgreSQL, kan deze fout optreden omdat de firewall de verbinding blokkeert:
- java.util.concurrent.ExecutionException: java.lang.RuntimeException:
- org.postgresql.util.PSQLException: FATAAL: geen pg_hba.conf-invoer voor host "123.45.67.890", gebruiker "adminuser", database "postgresql", SSL
Opmerking
Als u toegang wilt krijgen tot de Azure Database for PostgreSQL flexibele server 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
Zoek het uitgaande IP-adres van elke toepassing of service en geef expliciet toegang tot die afzonderlijke IP-adressen of IP-adresbereiken. U kunt bijvoorbeeld het uitgaande IP-adres van een Azure App Service-app vinden of een openbaar IP-adres gebruiken dat is gekoppeld aan een virtuele machine.
Als een vast uitgaand IP-adres niet beschikbaar is voor uw Azure-service, kunt u overwegen verbindingen in te schakelen vanaf alle IP-adressen voor Azure-datacenters:
Schakel in Azure Portal in het deelvenster Netwerken het selectievakje Openbare toegang vanuit elke Azure-service binnen Azure naar deze server toestaan in.
Selecteer Opslaan.
Belangrijk
Met de optie Openbare toegang vanuit elke Azure-service in Azure tot deze serveroptie configureert u de firewall om alle verbindingen vanuit Azure toe te staan, inclusief verbindingen vanuit de abonnementen van andere klanten. Wanneer u deze optie gebruikt, moet u ervoor zorgen dat uw aanmeldings- en gebruikersmachtigingen de toegang beperken tot alleen geautoriseerde gebruikers.
Firewallregels programmatisch beheren
Naast het gebruik van Azure Portal kunt u firewallregels programmatisch beheren met behulp van de Azure CLI.
Vanuit de Azure CLI heeft een firewallregelinstelling met een begin- en eindadres dat gelijk is aan 0.0.0.0, het equivalent van openbare toegang toestaan vanuit elke Azure-service in Azure naar deze serveroptie in de portal. Als firewallregels de verbindingspoging weigeren, bereikt de app de Azure Database for PostgreSQL flexibele server niet.
Problemen met de firewall oplossen
Houd rekening met de volgende mogelijkheden wanneer toegang tot een Azure Database for PostgreSQL flexibele server zich niet gedraagt zoals verwacht:
Wijzigingen in de acceptatielijst zijn nog niet van kracht: wijzigingen in de firewallconfiguratie van een Azure Database for PostgreSQL flexibele server kunnen maximaal vijf minuten duren.
De aanmelding is niet geautoriseerd of er is een onjuist wachtwoord gebruikt: als een aanmelding geen machtigingen heeft op de Azure Database for PostgreSQL flexibele server of het wachtwoord onjuist is, wordt de verbinding met de server geweigerd. Als u een firewallinstelling maakt, kunnen clients alleen verbinding maken met uw server. Elke client moet nog steeds de benodigde beveiligingsreferenties opgeven.
De volgende fout kan bijvoorbeeld worden weergegeven als de verificatie mislukt voor een JDBC-client:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: wachtwoordverificatie is mislukt voor gebruiker 'yourusername'
De firewall staat geen dynamische IP-adressen toe: als u een internetverbinding hebt met dynamische IP-adressering en u problemen ondervindt bij het passeren van de firewall, probeert u een van de volgende oplossingen:
Vraag uw internetprovider (ISP) om het IP-adresbereik dat is toegewezen aan uw clientcomputers die toegang hebben tot de Azure Database for PostgreSQL flexibele server. Voeg vervolgens het IP-adresbereik toe als een firewallregel.
Haal in plaats daarvan statische IP-adressen op voor uw clientcomputers en voeg vervolgens de statische IP-adressen toe als firewallregel.
Firewallregels zijn niet beschikbaar voor IPv6-indeling: de firewallregels moeten de IPv4-indeling hebben. Als u firewallregels opgeeft in IPv6-indeling, krijgt u een validatiefoutmelding.