Sdílet prostřednictvím


Pravidla brány firewall na flexibilním serveru Azure Database for PostgreSQL

PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL

Když používáte flexibilní server Azure Database for PostgreSQL, máte dvě hlavní možnosti sítě. Možnosti jsou privátní přístup (integrace virtuální sítě) a veřejný přístup (povolené IP adresy).

S veřejným přístupem se k instanci flexibilního serveru Azure Database for PostgreSQL přistupuje prostřednictvím veřejného koncového bodu. Ve výchozím nastavení brána firewall blokuje veškerý přístup k serveru. Pokud chcete určit, kteří hostitelé IP mají přístup k serveru, vytvoříte pravidla brány firewall na úrovni serveru. Pravidla brány firewall určují povolené rozsahy veřejných IP adres. Brána firewall uděluje přístup k serveru v závislosti na zdrojové IP adrese každého požadavku. S privátním přístupem není k dispozici žádný veřejný koncový bod a k flexibilnímu serveru Azure Database for PostgreSQL mají přístup jenom hostitelé ve stejné síti.

Pravidla brány firewall můžete vytvořit pomocí webu Azure Portal nebo pomocí příkazů Azure CLI. Musíte být vlastníkem předplatného nebo přispěvatelem předplatného.

Pravidla brány firewall na úrovni serveru platí pro všechny databáze ve stejné instanci flexibilního serveru Azure Database for PostgreSQL. Pravidla nemají vliv na přístup k webu Azure Portal.

Následující diagram ukazuje, jak se pokusy o připojení z internetu a Azure musí projít bránou firewall, aby se mohly dostat k flexibilním serverovým databázím Azure Database for PostgreSQL:

Diagram znázorňující přehled fungování brány firewall

Připojení z internetu

Pokud je zdrojová IP adresa požadavku v jednom z rozsahů zadaných v pravidlech brány firewall na úrovni serveru, připojení se udělí. Jinak se odmítne.

Pokud se například vaše aplikace připojuje k ovladači JDBC (Java Database Connectivity) pro flexibilní server Azure Database for PostgreSQL, může dojít k této chybě, protože brána firewall blokuje připojení:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: ZÁVAŽNÁ CHYBA: Žádná položka pg_hba.conf pro hostitele 123.45.67.890, uživatel adminuser, databáze postgresql, SSL

Poznámka:

Pokud chcete přistupovat k flexibilnímu serveru Azure Database for PostgreSQL z místního počítače, ujistěte se, že brána firewall ve vaší síti a místním počítači umožňuje odchozí komunikaci na portu TCP 5432.

Připojení z Azure

Doporučujeme najít odchozí IP adresu jakékoli aplikace nebo služby a explicitně povolit přístup k těmto jednotlivým IP adresám nebo rozsahům. Můžete například najít odchozí IP adresu aplikace služby Aplikace Azure Service nebo použít veřejnou IP adresu, která je svázaná s virtuálním počítačem.

Pokud pro vaši službu Azure není dostupná pevná odchozí IP adresa, zvažte povolení připojení ze všech IP adres pro datacentra Azure:

  1. Na webu Azure Portal v podokně Sítě zaškrtněte políčko Povolit veřejný přístup z jakékoli služby Azure v rámci Azure k tomuto serveru .
  2. Zvolte Uložit.

Důležité

Možnost Povolit veřejný přístup z jakékoli služby Azure v rámci Azure k tomuto serveru nakonfiguruje bránu firewall tak, aby umožňovala všechna připojení z Azure, včetně připojení z předplatných jiných zákazníků. Pokud používáte tuto možnost, ujistěte se, že vaše přihlašovací a uživatelská oprávnění omezují přístup jenom na oprávněné uživatele.

Snímek obrazovky znázorňující výběry pro povolení přístupu ke službám Azure na portálu

Programová správa pravidel brány firewall

Kromě používání webu Azure Portal můžete pravidla brány firewall spravovat prostřednictvím kódu programu pomocí Azure CLI.

Nastavení pravidla brány firewall s počáteční a koncovou adresou rovnající se 0.0.0.0 provede ekvivalent možnosti Povolit veřejný přístup z libovolné služby Azure v Rámci Azure na této možnosti serveru na portálu. Pokud pravidla brány firewall pokus o připojení zamítnou, aplikace se nedostanou k instanci flexibilního serveru Azure Database for PostgreSQL.

Řešení potíží s bránou firewall

Pokud se přístup k instanci flexibilního serveru Azure Database for PostgreSQL nechová podle očekávání, zvažte následující možnosti:

  • Změny seznamu povolených změn se ještě neprojevily: Změny konfigurace brány firewall flexibilní instance flexibilního serveru Azure Database for PostgreSQL můžou trvat až pět minut.

  • Přihlášení není autorizované nebo se použilo nesprávné heslo: Pokud přihlášení nemá oprávnění k instanci flexibilního serveru Azure Database for PostgreSQL nebo je nesprávné heslo, připojení k serveru se odepře. Vytvoření nastavení brány firewall poskytuje klientům příležitost se pokusit se připojit k serveru. Každý klient musí stále poskytovat nezbytné přihlašovací údaje zabezpečení.

    Pokud například ověřování klienta JDBC selže, může se zobrazit následující chyba:

    java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: ZÁVAŽNÁ CHYBA: Ověření hesla pro uživatele "název_uživatele" selhalo

  • Brána firewall neumožňuje dynamické IP adresy: Pokud máte připojení k internetu s dynamickým přidělováním IP adres a máte potíže se dostat přes bránu firewall, vyzkoušejte jedno z následujících řešení:

    • Požádejte poskytovatele internetových služeb o rozsah IP adres přiřazený klientským počítačům, které přistupí k instanci flexibilního serveru Azure Database for PostgreSQL. Pak přidejte rozsah IP adres jako pravidlo brány firewall.

    • Místo toho získejte statické IP adresy pro klientské počítače a pak přidejte statické IP adresy jako pravidlo brány firewall.

  • Pravidla brány firewall nejsou dostupná pro formát IPv6: Pravidla brány firewall musí být ve formátu IPv4. Pokud zadáte pravidla brány firewall ve formátu IPv6, zobrazí se chyba ověření.

Další kroky