Pravidla brány firewall ve službě Azure Database for PostgreSQL – flexibilní server

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

S veřejným přístupem přistupujete k flexibilnímu serveru Azure Database for PostgreSQL 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. Firewall uděluje přístup k serveru na základě zdrojové IP adresy každého požadavku. S privátním přístupem není dostupný žádný veřejný koncový bod a k vašemu Azure Database for PostgreSQL flexibilnímu serveru mají přístup jenom hostitelé ve stejné síti.

Pravidla brány firewall můžete vytvářet pomocí portálu Azure 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 na stejném Azure Database for PostgreSQL flexibilním serveru. Pravidla nemají vliv na přístup k webu Azure Portal.

Následující diagram ukazuje, jak musí pokusy o připojení z internetu a Azure projít bránou firewall, než se mohou dostat k databázím Azure Database for PostgreSQL.

Diagram pravidel brány firewall ve službě Azure Database for PostgreSQL

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í je povoleno. Jinak se odmítne.

Pokud se například vaše aplikace připojuje k ovladači JDBC (Java Database Connectivity) pro Službu 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:

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

Připojení z Azure

Vyhledejte odchozí IP adresu libovolné aplikace nebo služby a explicitně povolte přístup k těmto jednotlivým IP adresám nebo rozsahům. Můžete například najít odchozí IP adresu aplikace Azure App 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. Vyberte Uložit.

    Snímek obrazovky stránky sítě s bránou firewall.

    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ů. Při použití této možnosti se ujistěte, že vaše přihlašovací a uživatelská oprávnění omezují přístup jenom na oprávněné uživatele.

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.

V Azure CLI nastavení pravidla brány firewall s počáteční a koncovou adresou 0.0.0.0 odpovídá možnosti Povolit veřejný přístup z libovolné služby Azure v rámci Azure k tomuto serveru na portálu. Pokud pravidla brány firewall zamítnou pokus o připojení, aplikace se nedostane k flexibilnímu serveru Azure Database for PostgreSQL.

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

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

  • Změny seznamu povolených se zatím neprojeví: Změny konfigurace brány firewall 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 Azure Database for PostgreSQL flexibilnímu serveru nebo je nesprávné heslo, připojení k serveru se odepře. Vytvoření nastavení brány firewall dává klientům příležitost se pokusit se připojit k vašemu 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řistupuje k flexibilnímu 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í.