Tűzfalszabályok rugalmas Azure Database for PostgreSQL-kiszolgálón

Ha Azure Database for PostgreSQL rugalmas kiszolgálót futtat, két fő hálózati lehetőség közül választhat: privát hozzáférés (virtuális hálózati integráció) és nyilvános hozzáférés (engedélyezett IP-címek).

Nyilvános hozzáféréssel egy nyilvános végponton keresztül érheti el a Azure Database for PostgreSQL rugalmas kiszolgálót. Alapértelmezés szerint a tűzfal blokkolja a kiszolgálóhoz való összes hozzáférést. Ha meg szeretné adni, hogy mely IP-gazdagépek férhetnek hozzá a kiszolgálóhoz, hozzon létre kiszolgálószintű tűzfalszabályokat. A tűzfalszabályok megadják az engedélyezett nyilvános IP-címtartományokat. A tűzfal az egyes kérések kezdeményező IP-címe alapján biztosítja a szerverhez való hozzáférést. Privát hozzáférés esetén nem érhető el nyilvános végpont, és csak az ugyanazon a hálózaton lévő gazdagépek férhetnek hozzá az Azure Database for PostgreSQL rugalmas kiszolgálójához.

Tűzfalszabályokat a Azure portálon vagy Azure CLI parancsokkal hozhat létre. Önnek kell lennie az előfizetés tulajdonosának vagy az előfizetés közreműködőjének.

A kiszolgálószintű tűzfalszabályok az ugyanazon Azure Database for PostgreSQL rugalmas kiszolgálón lévő összes adatbázisra vonatkoznak. A szabályok nem befolyásolják az Azure Portal webhelyének elérését.

Az alábbi ábra azt mutatja be, hogy az internetről és az Azure-ból érkező csatlakozási kísérleteknek hogyan kell áthaladniuk a tűzfalon, mielőtt elérnék az Azure Database for PostgreSQL-adatbázisokat:

Az Azure Database for PostgreSQL tűzfalszabályainak diagramja.

Csatlakozás az internetről

Ha a kérés forrás IP-címe a kiszolgálószintű tűzfalszabályokban megadott tartományok egyikén belül van, a kapcsolat meg lesz adva. Ellenkező esetben a rendszer elutasítja.

Ha például az alkalmazás egy Java Database Connectivity (JDBC) illesztővel csatlakozik az Azure Database for PostgreSQL-hez, ezt a hibát tapasztalhatja, mert a tűzfal blokkolja a kapcsolatot:

  • java.util.concurrent.ExecutionException: java.lang.RuntimeException:
  • org.postgresql.util.PSQLException: FATAL: nincs pg_hba.conf bejegyzés a(z) "123.45.67.890" hoszt, "adminuser" felhasználó, "postgresql" adatbázis, SSL esetében

Megjegyzés:

A Azure Database for PostgreSQL rugalmas kiszolgáló helyi számítógépről való eléréséhez győződjön meg arról, hogy a hálózaton és a helyi számítógépen található tűzfal engedélyezi a kimenő kommunikációt az 5432-s TCP-porton.

Csatlakozás az Azure-ból

Keresse meg bármely alkalmazás vagy szolgáltatás kimenő IP-címét, és explicit módon engedélyezze az egyes IP-címekhez vagy -tartományokhoz való hozzáférést. Megtalálhatja például egy Azure App Service-alkalmazás kimenő IP-címét, vagy használhat egy virtuális géphez kapcsolódó nyilvános IP-címet.

Ha egy rögzített kimenő IP-cím nem érhető el az Azure-szolgáltatáshoz, fontolja meg a kapcsolatok engedélyezését az Azure-adatközpontok összes IP-címéről:

  1. Az Azure Portal Hálózatkezelés panelén jelölje be az Azure bármely azure-szolgáltatásának nyilvános hozzáférésének engedélyezése a kiszolgálóhoz jelölőnégyzetet.

  2. Válassza az Mentésgombot.

    Képernyőkép a tűzfallal rendelkező hálózati oldalról.

    Fontos

    Az Azure-on belüli bármely Azure-szolgáltatás nyilvános hozzáférésének engedélyezése ehhez a kiszolgálói beállításhoz konfigurálja a tűzfalat, hogy engedélyezze az Azure-ból érkező összes kapcsolatot, beleértve a többi ügyfél előfizetéséből származó kapcsolatokat is. Ha ezt a lehetőséget használja, győződjön meg arról, hogy a bejelentkezés és a felhasználói engedélyek csak a jogosult felhasználók számára korlátozzák a hozzáférést.

Tűzfalszabályok programozott kezelése

Az Azure Portal használata mellett programozott módon is kezelheti a tűzfalszabályokat az Azure CLI használatával.

Az Azure CLI-ben a 0.0.0.0-val megegyező kezdő- és zárócímű tűzfalszabály-beállítás egyenértékű a portálon található Nyilvános hozzáférés engedélyezése a kiszolgálóhoz az Azure-on belüli bármely Azure-szolgáltatásból beállítással. Ha a tűzfalszabályok elutasítják a csatlakozási kísérletet, az alkalmazás nem éri el a Azure Database for PostgreSQL rugalmas kiszolgálót.

Tűzfalproblémák elhárítása

Vegye figyelembe az alábbi lehetőségeket, ha egy Azure Database for PostgreSQL rugalmas kiszolgálóhoz való hozzáférés nem a várt módon működik:

  • Az engedélyezési lista módosításai még nem lépnek érvénybe: A rugalmas Azure Database for PostgreSQL kiszolgáló tűzfalkonfigurációjának módosítása akár öt percet is igénybe vehet.

  • A bejelentkezés nincs engedélyezve, vagy helytelen jelszót használtak: Ha a bejelentkezés nem rendelkezik engedélyekkel a Azure Database for PostgreSQL rugalmas kiszolgálón, vagy a jelszó helytelen, a kiszolgálóhoz való csatlakozás megtagadva. Tűzfalbeállítás létrehozása csak lehetőséget ad az ügyfeleknek a kiszolgálóhoz való csatlakozásra. Minden ügyfélnek meg kell adnia a szükséges biztonsági hitelesítő adatokat.

Például a következő hiba jelenhet meg, ha egy JDBC-ügyfél hitelesítése sikertelen:

  • java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: a(z) "yourusername" felhasználó jelszóhitelesítése sikertelen volt

  • A tűzfal nem engedélyezi a dinamikus IP-címeket: Ha dinamikus IP-címzéssel rendelkező internetkapcsolattal rendelkezik, és nem tud átjutni a tűzfalon, próbálkozzon az alábbi megoldások egyikével:

  • Kérje el internetszolgáltatójától (ISP) az Azure Database for PostgreSQL rugalmas kiszolgálót elérő ügyfélszámítógépei számára kijelölt IP-címtartományt. Ezután adja hozzá az IP-címtartományt tűzfalszabályként.

  • Szerezze be a statikus IP-címeket az ügyfélszámítógépekhez, majd adja hozzá a statikus IP-címeket tűzfalszabályként.

  • A tűzfalszabályok nem érhetők el IPv6 formátumban: A tűzfalszabályoknak IPv4 formátumban kell lenniük. Ha IPv6 formátumban ad meg tűzfalszabályokat, érvényesítési hiba jelenik meg.