Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie eine Azure-Datenbank für eine flexible Serverinstanz von PostgreSQL ausführen, haben Sie zwei Hauptnetzwerkoptionen. Die Optionen sind privater Zugriff (Virtuelle Netzwerkintegration) und öffentlicher Zugriff (zulässige IP-Adressen).
Mit öffentlichem Zugriff wird über einen öffentlichen Endpunkt auf die Azure-Datenbank für PostgreSQL flexible Serverinstanz zugegriffen. Standardmäßig blockiert die Firewall den gesamten Zugriff auf den Server. Um anzugeben, welche IP-Hosts auf den Server zugreifen können, erstellen Sie Firewallregeln auf Serverebene. Firewallregeln geben zulässige öffentliche IP-Adressbereiche an. Die Firewall gewährt basierend auf der ursprünglichen IP-Adresse jeder Anforderung Zugriff auf den Server. Bei privatem Zugriff ist kein öffentlicher Endpunkt verfügbar, und nur Hosts, die sich im selben Netzwerk befinden, können auf Ihre Azure-Datenbank für eine flexible Serverinstanz von PostgreSQL zugreifen.
Sie können Firewallregeln mithilfe des Azure-Portals oder mithilfe von Azure CLI-Befehlen erstellen. Sie müssen der Abonnementbesitzer oder ein Abonnementmitwirkender sein.
Firewallregeln auf Serverebene gelten für alle Datenbanken in derselben Azure-Datenbank für flexible Serverinstanz von PostgreSQL. Die Regeln wirken sich nicht auf den Zugriff auf die Azure-Portalwebsite aus.
Das folgende Diagramm zeigt, wie Verbindungsversuche aus dem Internet und Azure die Firewall durchlaufen müssen, bevor sie azure Database für PostgreSQL-Datenbanken erreichen können:
Herstellen einer Verbindung über das Internet
Wenn sich die IP-Quelladresse der Anforderung in einem der in den Firewallregeln auf Serverebene angegebenen Bereiche befindet, wird die Verbindung gewährt. Andernfalls wird sie abgelehnt.
Wenn Ihre Anwendung beispielsweise eine Verbindung mit einem Java Database Connectivity (JDBC)-Treiber für Azure Database for PostgreSQL herstellt, können Sie auf diesen Fehler stoßen, weil die Firewall die Verbindung blockiert.
- java.util.concurrent.ExecutionException: java.lang.RuntimeException:
- org.postgresql.util.PSQLException: FATAL: kein Eintrag in der pg_hba.conf für Host "123.45.67.890", Benutzer "adminuser", Datenbank "postgresql", SSL
Hinweis
Um von Ihrem lokalen Computer aus auf die Azure-Datenbank für PostgreSQL flexible Serverinstanz zuzugreifen, stellen Sie sicher, dass die Firewall auf Ihrem Netzwerk und dem lokalen Computer ausgehende Kommunikation über TCP-Port 5432 zulässt.
Herstellen einer Verbindung mit Azure
Es wird empfohlen, die ausgehende IP-Adresse einer beliebigen Anwendung oder eines Diensts zu finden und den Zugriff auf diese einzelnen IP-Adressen oder Bereiche explizit zuzulassen. Sie können beispielsweise die ausgehende IP-Adresse einer Azure App Service-App finden oder eine öffentliche IP-Adresse verwenden, die an einen virtuellen Computer gebunden ist.
Wenn eine feste ausgehende IP-Adresse für Ihren Azure-Dienst nicht verfügbar ist, erwägen Sie, Verbindungen von allen IP-Adressen für Azure-Rechenzentren zu aktivieren:
Aktivieren Sie im Azure-Portal im Netzwerkbereich das Kontrollkästchen "Öffentlichen Zugriff von einem beliebigen Azure-Dienst in Azure auf diesen Server zulassen ".
Wählen Sie Speichern aus.
Von Bedeutung
Der öffentliche Zugriff von einem beliebigen Azure-Dienst innerhalb von Azure auf diese Serveroption konfiguriert die Firewall so, dass alle Verbindungen von Azure zugelassen werden, einschließlich Verbindungen aus den Abonnements anderer Kunden. Wenn Sie diese Option verwenden, stellen Sie sicher, dass Ihre Anmelde- und Benutzerberechtigungen den Zugriff nur auf autorisierte Benutzer beschränken.
Programmgesteuertes Verwalten von Firewallregeln
Zusätzlich zur Verwendung des Azure-Portals können Sie Firewallregeln programmgesteuert mithilfe der Azure CLI verwalten.
In der Azure CLI entspricht eine Firewallregeleinstellung mit einer Start- und Endadresse gleich 0.0.0.0 dem Äquivalent des öffentlichen Zugriffs von einem beliebigen Azure-Dienst in Azure auf diese Serveroption im Portal. Wenn Firewallregeln den Verbindungsversuch ablehnen, erreicht die App nicht die Azure-Datenbank für flexible Serverinstanz von PostgreSQL.
Behandeln von Firewallproblemen
Berücksichtigen Sie die folgenden Möglichkeiten, wenn sich der Zugriff auf eine flexible Azure-Datenbank für PostgreSQL-Serverinstanz nicht wie erwartet verhält:
Änderungen an der Zulassungsliste wurden noch nicht wirksam: Änderungen an der Firewallkonfiguration einer flexiblen Serverinstanz von Azure Database für PostgreSQL können bis zu fünf Minuten dauern.
Die Anmeldung ist nicht autorisiert oder ein falsches Kennwort wurde verwendet: Wenn eine Anmeldung nicht über Berechtigungen für die Azure-Datenbank für die flexible Serverinstanz von PostgreSQL verfügt oder das Kennwort falsch ist, wird die Verbindung mit dem Server verweigert. Das Erstellen einer Firewalleinstellung bietet Clients nur die Möglichkeit, eine Verbindung mit Ihrem Server herzustellen. Jeder Client muss weiterhin die erforderlichen Sicherheitsanmeldeinformationen angeben.
Der folgende Fehler kann z. B. angezeigt werden, wenn die Authentifizierung für einen WEBDIENST-Client fehlschlägt:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: Kennwortauthentifizierung für Benutzer "yourusername" fehlgeschlagen
Die Firewall lässt keine dynamischen IP-Adressen zu: Wenn Sie über eine Internetverbindung mit dynamischer IP-Adressierung verfügen und Probleme beim Durchlaufen der Firewall haben, probieren Sie eine der folgenden Lösungen aus:
Fragen Sie Ihren Internetdienstanbieter (INTERNET Service Provider, ISP) nach dem IP-Adressbereich, der Ihren Clientcomputern zugewiesen ist, die auf die Azure-Datenbank für flexible Serverinstanz von PostgreSQL zugreifen. Fügen Sie dann den IP-Adressbereich als Firewallregel hinzu.
Rufen Sie stattdessen statische IP-Adressen für Ihre Clientcomputer ab, und fügen Sie dann die statischen IP-Adressen als Firewallregel hinzu.
Firewallregeln sind für das IPv6-Format nicht verfügbar: Die Firewallregeln müssen im IPv4-Format vorliegen. Wenn Sie Firewallregeln im IPv6-Format angeben, erhalten Sie einen Überprüfungsfehler.