Dela via


Nätverksöversikt för Azure Database for PostgreSQL med offentlig åtkomst (tillåtna IP-adresser)

I den här artikeln beskrivs anslutnings- och nätverksbegrepp för flexibla serverinstanser i Azure Database for PostgreSQL.

När du skapar en flexibel Azure Database for PostgreSQL-serverinstans måste du välja något av följande nätverksalternativ:

  • Privat åtkomst (integrering av virtuellt nätverk)
  • Offentlig åtkomst (tillåtna IP-adresser) och privat slutpunkt

Följande egenskaper gäller oavsett om du väljer att använda alternativet privat åtkomst eller offentlig åtkomst:

  • Anslutningar från tillåtna IP-adresser måste autentiseras till den flexibla serverinstansen Azure Database for PostgreSQL med giltiga autentiseringsuppgifter.
  • Anslutningskryptering tillämpas för nätverkstrafiken.
  • Servern har ett fullständigt kvalificerat domännamn (FQDN). För egenskapen hostname i anslutningssträng rekommenderar vi att du använder FQDN i stället för en IP-adress.
  • Båda alternativen styr åtkomsten på servernivå, inte på databas- eller tabellnivå. Du skulle använda PostgreSQL:s rollegenskaper för att styra databas, tabell och annan objektåtkomst.

Kommentar

Eftersom Azure Database for PostgreSQL-tjänsten är en hanterad databastjänst får användarna inte åtkomst till värd- eller operativsystem för att visa eller ändra konfigurationsfiler som pg_hba.conf. Innehållet i filerna uppdateras automatiskt baserat på nätverksinställningarna.

Använda offentliga åtkomstnätverk med Azure Database for PostgreSQL

När du väljer metoden för offentlig åtkomst nås din flexibla Azure Database for PostgreSQL-serverinstans via en offentlig slutpunkt via Internet. Den offentliga slutpunkten är en DNS-adress som kan matchas offentligt. Frasen tillåtna IP-adresser refererar till ett intervall med IP-adresser som du väljer att ge behörighet att komma åt servern. Dessa behörigheter kallas brandväggsregler.

Välj det här nätverksalternativet om du vill ha följande funktioner:

  • Anslut från Azure-resurser som inte stöder virtuella nätverk.
  • Anslut från resurser utanför Azure som inte är anslutna via VPN eller Azure ExpressRoute.
  • Se till att Azure Database for PostgreSQL– flexibel serverinstans har en offentlig slutpunkt som är tillgänglig via Internet.

Egenskaperna för metoden för offentlig åtkomst är:

  • Endast de IP-adresser som du tillåter har behörighet att komma åt din flexibla Azure Database for PostgreSQL-serverinstans. Som standard tillåts inga IP-adresser. Du kan lägga till IP-adresser när servern skapas eller efteråt.
  • Din flexibla Azure Database for PostgreSQL-serverinstans har ett offentligt upplösbart DNS-namn.
  • Din flexibla Azure Database for PostgreSQL-serverinstans finns inte i något av dina virtuella Azure-nätverk.
  • Nätverkstrafik till och från servern går inte över ett privat nätverk. Trafiken använder de allmänna Internetvägarna.

Brandväggsregler

Brandväggsregler på servernivå gäller för alla databaser på samma Azure Database for PostgreSQL – flexible server instance. Om käll-IP-adressen för begäran ligger inom något av de intervall som anges i brandväggsreglerna på servernivå beviljas anslutningen. Annars avvisas den. Om ditt program till exempel ansluter med JDBC-drivrutinen för PostgreSQL kan det här felet uppstå när du försöker ansluta när brandväggen blockerar anslutningen.

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

Kommentar

Om du vill komma åt en flexibel Azure Database for PostgreSQL-serverinstans från den lokala datorn kontrollerar du att brandväggen i nätverket och den lokala datorn tillåter utgående kommunikation på TCP-port 5432.

Programmatiskt hanterade brandväggsregler

Förutom att använda till Azure Portal kan du hantera brandväggsregler programmatiskt med hjälp av Azure CLI. Mer information finns i Nätverk.

Tillåt alla Azure IP-adresser

Vi rekommenderar att du hittar den utgående IP-adressen för alla program eller tjänster och uttryckligen tillåter åtkomst till dessa enskilda IP-adresser eller intervall. Om en fast utgående IP-adress inte är tillgänglig för din Azure-tjänst kan du överväga att aktivera anslutningar från alla IP-adresser för Azure-datacenter.

Om du vill aktivera den här inställningen från Azure Portal går du till fönstret Nätverk och markerar kryssrutan Tillåt offentlig åtkomst från alla Azure-tjänster i Azure till den här servern och väljer sedan Spara.

Viktigt!

Alternativet Tillåt offentlig åtkomst från Azure-tjänster och resurser i Azure konfigurerar brandväggen för att tillåta alla anslutningar från Azure, inklusive anslutningar från andra kunders prenumerationer. När du väljer det här alternativet kontrollerar du att dina inloggnings- och användarbehörigheter begränsar åtkomsten till endast behöriga användare.

Felsöka problem med offentlig åtkomst

Tänk på följande när åtkomsten till en flexibel Azure Database for PostgreSQL-serverinstans inte fungerar som förväntat:

  • Ändringar i listan över tillåtna har inte börjat gälla än. Det kan ta upp till fem minuter innan ändringar i brandväggskonfigurationen för den flexibla Azure Database for PostgreSQL-servern börjar gälla.

  • Autentiseringen misslyckades. Om en användare inte har behörighet för den flexibla serverinstansen Azure Database for PostgreSQL eller om lösenordet är felaktigt nekas anslutningen till den flexibla Serverinstansen Azure Database for PostgreSQL. Om du skapar en brandväggsinställning får klienterna bara möjlighet att försöka ansluta till servern. Varje klient måste fortfarande ange nödvändiga säkerhetsautentiseringsuppgifter.

  • Dynamisk klient-IP-adress förhindrar åtkomst. Om du har en Internetanslutning med dynamisk IP-adressering och du har problem med att komma igenom brandväggen kan du prova någon av följande lösningar:

    • Fråga internetleverantören (ISP) om det IP-adressintervall som tilldelats dina klientdatorer som har åtkomst till azure database for PostgreSQL–instansen för flexibel server. Lägg sedan till IP-adressintervallet som en brandväggsregel.
    • Hämta statisk IP-adressering i stället för dina klientdatorer. Lägg sedan till den statiska IP-adressen som en brandväggsregel.
  • Brandväggsregeln är inte tillgänglig för IPv6-format. Brandväggsreglerna måste anges i IPv4-format. Om du anger brandväggsregler i IPv6-format får du ett verifieringsfel.

Värdnamn

Oavsett vilket nätverksalternativ du väljer rekommenderar vi att du alltid använder ett FQDN som värdnamn när du ansluter till din flexibla Azure Database for PostgreSQL-serverinstans. Serverns IP-adress är inte garanterad att förbli statisk. Med hjälp av FQDN kan du undvika att göra ändringar i dina anslutningssträng.

Ett exempel som använder ett FQDN som värdnamn är hostname = servername.postgres.database.azure.com. Undvik om möjligt att använda hostname = 10.0.0.4 (en privat adress) eller hostname = 40.2.45.67 (en offentlig adress).

  • Lär dig hur du skapar en flexibel Azure Database for PostgreSQL-serverinstans med alternativet Offentlig åtkomst (tillåtna IP-adresser) i Azure-portalen eller Azure CLI.