Delen via


Openbare toegang in Azure Cosmos DB for PostgreSQL

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

Azure Cosmos DB for PostgreSQL ondersteunt drie netwerkopties:

  • Geen toegang
    • Dit is de standaardinstelling voor een nieuw gemaakt cluster als openbare of persoonlijke toegang niet is ingeschakeld. Geen computers, binnen of buiten Azure, kunnen verbinding maken met de databaseknooppunten.
  • Openbare toegang
    • Er wordt een openbaar IP-adres toegewezen aan het coördinatorknooppunt.
    • De toegang tot het coördinatorknooppunt wordt beveiligd door de firewall.
    • Optioneel kan toegang tot alle werkknooppunten worden ingeschakeld. In dit geval worden openbare IP-adressen toegewezen aan de werkknooppunten en worden beveiligd door dezelfde firewall.
  • Privétoegang
    • Alleen privé-IP-adressen worden toegewezen aan de knooppunten van het cluster.
    • Elk knooppunt vereist een privé-eindpunt om hosts in het geselecteerde virtuele netwerk toegang te geven tot de knooppunten.
    • Beveiligingsfuncties van virtuele Azure-netwerken, zoals netwerkbeveiligingsgroepen, kunnen worden gebruikt voor toegangsbeheer.

Wanneer u een cluster maakt, kunt u openbare of persoonlijke toegang inschakelen of kiezen voor de standaardinstelling van geen toegang. Zodra het cluster is gemaakt, kunt u ervoor kiezen om te schakelen tussen openbare of persoonlijke toegang of om ze beide tegelijk te activeren.

Op deze pagina wordt de optie voor openbare toegang beschreven. Zie Privétoegang in Azure Cosmos DB for PostgreSQL voor privétoegang.

Firewalloverzicht

Firewall van Azure Cosmos DB for PostgreSQL-server voorkomt alle toegang tot uw coördinatorknooppunt totdat u opgeeft welke computers gemachtigd zijn. 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 coördinatorknooppunt, dat wil gezegd, alle databases binnen dezelfde logische server. Firewallregels op serverniveau kunnen worden geconfigureerd met behulp van Azure Portal. Als u firewallregels op serverniveau wilt maken, moet u de eigenaar van het abonnement of een bijdrager aan het abonnement zijn.

Alle databasetoegang tot uw coördinatorknooppunt wordt standaard geblokkeerd door de firewall. Als u de server vanaf een andere computer wilt gaan gebruiken, moet u een of meer firewallregels op serverniveau opgeven om toegang tot uw server in te schakelen. Gebruik de firewallregels om op te geven welke IP-adresbereiken van internet u wilt toestaan. Toegang tot de Website van Azure Portal zelf wordt niet beïnvloed door de firewallregels. Verbindingspogingen vanaf internet en Azure moeten eerst de firewall passeren voordat ze uw PostgreSQL-database kunnen bereiken, zoals wordt weergegeven in het volgende diagram:

Diagram met firewallregels op serverniveau tussen externe en lokale systemen en mislukte verbindingen.

Verbinding maken via internet en vanuit Azure

Een clusterfirewall bepaalt wie verbinding kan maken met het coördinatorknooppunt van de groep. De firewall bepaalt de toegang door een configureerbare lijst met regels te raadplegen. Elke regel is een IP-adres of een bereik met adressen waarin is toegestaan.

Wanneer de firewall verbindingen blokkeert, kan dit toepassingsfouten veroorzaken. Als u bijvoorbeeld het PostgreSQL JDBC-stuurprogramma gebruikt, treedt er een fout op die er ongeveer als volgt uitziet:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg\_hba.conf entry for host "123.45.67.890", user "citus", database "citus", SSL

Zie Firewallregels maken en beheren voor meer informatie over hoe de regels worden gedefinieerd.

Problemen met de firewall van de databaseserver oplossen

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

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

  • De gebruiker is niet gemachtigd of er is een onjuist wachtwoord gebruikt: als een gebruiker geen machtigingen heeft op de server of het gebruikte wachtwoord onjuist is, wordt de verbinding met de 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: password authentication failed for user "yourusername"

  • Dynamisch IP-adres: als u een internetverbinding hebt met dynamische IP-adressering en u 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 het coördinatorknooppunt 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.

Volgende stappen

Zie voor artikelen over het maken van firewallregels op server- en databaseniveau: