Brandväggsregler i Azure Database for PostgreSQL – enskild server

GÄLLER FÖR: Azure Database for PostgreSQL – enskild server

Viktigt!

Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.

Azure Database for PostgreSQL-servern är säker som standard och förhindrar all åtkomst till databasservern tills du anger vilka IP-värdar som ska ha åtkomst till den. Brandväggen ger åtkomst till servern baserat på vilken IP-adress som varje begäran kommer från. Du konfigurerar brandväggen genom att skapa brandväggsregler som anger intervall med godkända IP-adresser. Du kan skapa brandväggsregler på servernivå.

Brandväggsregler: Dessa regler gör det möjligt för klienter att få åtkomst till hela Azure Database for PostgreSQL-servern, dvs. alla databaser inom samma logiska server. Brandväggsregler på servernivå kan konfigureras med hjälp av Azure-portalen eller med hjälp av Azure CLI-kommandon. Du måste vara prenumerationsägare eller prenumerationsdeltagare för att skapa brandväggsregler på servernivå.

Översikt över brandväggar

All åtkomst till Azure Database for PostgreSQL-servern blockeras av brandväggen som standard. För att få åtkomst till servern från en annan dator/klient eller ett annat program måste du ange en eller flera brandväggsregler på servernivå för att aktivera åtkomst till servern. Använd brandväggsreglerna för att ange tillåtna offentliga IP-adressintervall. Åtkomsten till själva Azure-portalens webbplats påverkas inte av brandväggsreglerna. Anslut ionsförsök från Internet och Azure måste först passera genom brandväggen innan de kan nå postgreSQL-databasen, enligt följande diagram:

Exempelflöde för hur brandväggen fungerar

Ansluta från Internet

Brandväggsregler på servernivå gäller för alla databaser på samma Azure Database for PostgreSQL-server. 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 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 Azure Database for PostgreSQL från din lokala dator kontrollerar du att brandväggen i nätverket och den lokala datorn tillåter utgående kommunikation på TCP-port 5432.

Ansluta från Azure

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. Du kan till exempel hitta den utgående IP-adressen för en Azure App Service eller använda en offentlig IP-adress som är kopplad till en virtuell dator eller annan resurs (se nedan för information om hur du ansluter till en virtuell dators privata IP-adress över tjänstslutpunkter).

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. Den här inställningen kan aktiveras från Azure-portalen genom att ange alternativet Tillåt åtkomst till Azure-tjänster till från säkerhetsfönstret Anslut ion och trycka på Spara. Från Azure CLI motsvarar en brandväggsregelinställning med start- och slutadressen 0.0.0.0 motsvarande. Om anslutningsförsöket avvisas av brandväggsregler når det inte Azure Database for PostgreSQL-servern.

Viktigt!

Alternativet Tillåt åtkomst tilll Azure-tjänster konfigurerar brandväggen så att alla anslutningar från Azure tillåts, inklusive anslutningar från prenumerationer för andra kunder. Om du väljer det här alternativet kontrollerar du att dina inloggnings- och användarbehörigheter begränsar åtkomsten till endast auktoriserade användare.

Konfigurera Tillåt åtkomst till Azure-tjänster i portalen

Anslut från ett virtuellt nätverk

Om du vill ansluta säkert till din Azure Database for PostgreSQL-server från ett virtuellt nätverk bör du överväga att använda VNet-tjänstslutpunkter.

Hantera brandväggsregler via programmering

Utöver Azure-portalen kan brandväggsregler hanteras programmatiskt med hjälp av Azure CLI. Se även Skapa och hantera Azure Database for PostgreSQL-brandväggsregler med Azure CLI

Felsöka brandväggsproblem

Tänk på följande när åtkomsten till Tjänsten Microsoft Azure Database for PostgreSQL Server inte fungerar som förväntat:

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

  • Inloggningen är inte auktoriserad eller om ett felaktigt lösenord användes: Om en inloggning inte har behörighet på Azure Database for PostgreSQL-servern eller om lösenordet som används är felaktigt, nekas anslutningen till Azure Database for PostgreSQL-servern. Att skapa en brandväggsinställning ger bara klienter möjlighet att försöka ansluta till servern. varje klient måste fortfarande ange nödvändiga säkerhetsautentiseringsuppgifter.

    Om du till exempel använder en JDBC-klient kan följande fel visas.

    java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: lösenordsautentisering misslyckades för användaren "yourusername"

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

    • Fråga internetleverantören (ISP) om det IP-adressintervall som tilldelats till dina klientdatorer som har åtkomst till Azure Database for PostgreSQL-servern och lägg sedan till IP-adressintervallet som en brandväggsregel.

    • Hämta statisk IP-adressering i stället för klientdatorerna och lägg sedan till den statiska IP-adressen som en brandväggsregel.

  • Serverns IP-adress verkar vara offentlig: Anslut till Azure Database for PostgreSQL-servern dirigeras via en offentligt tillgänglig Azure-gateway. Den faktiska server-IP-adressen skyddas dock av brandväggen. Mer information finns i artikeln om anslutningsarkitektur.

  • Det går inte att ansluta från Azure-resursen med tillåten IP: Kontrollera om Microsoft.Sql-tjänstslutpunkten är aktiverad för det undernät som du ansluter från. Om Microsoft.Sql är aktiverat anger det att du bara vill använda VNet-tjänstslutpunktsregler i det undernätet.

    Du kan till exempel se följande fel om du ansluter från en virtuell Azure-dator i ett undernät som har Microsoft.Sql aktiverat men inte har någon motsvarande VNet-regel: FATAL: Client from Azure Virtual Networks is not allowed to access the server

  • Brandväggsregeln är inte tillgänglig för IPv6-format: Brandväggsreglerna måste vara i IPv4-format. Om du anger brandväggsregler i IPv6-format visas valideringsfelet.

Nästa steg