Megosztás a következőn keresztül:


Tűzfalszabályok az Azure Database for PostgreSQL-ben

Rugalmas Azure Database for PostgreSQL-kiszolgálópéldány futtatásakor két fő hálózati lehetőség közül választhat. A lehetőségek közé tartoznak a privát hozzáférés (virtuális hálózati integráció) és a nyilvános hozzáférés (engedélyezett IP-címek).

Nyilvános hozzáféréssel a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány nyilvános végponton keresztül érhető el. Alapértelmezés szerint a tűzfal blokkolja a kiszolgálóhoz való összes hozzáférést. Annak megadásához, hogy mely IP-gazdagépek férhetnek hozzá a kiszolgálóhoz, kiszolgálószintű tűzfalszabályokat kell létrehoznia. A tűzfalszabályok megadják az engedélyezett nyilvános IP-címtartományokat. A tűzfal az egyes kérések származó IP-címe alapján biztosít hozzáférést a kiszolgálóhoz. Privát hozzáféréssel nem érhető el nyilvános hálózati végpont, és csak az ugyanazon a hálózaton található gazdagépek férhetnek hozzá az Azure Database for PostgreSQL rugalmas kiszolgálópéldányhoz.

Tűzfalszabályokat az Azure Portalon vagy az 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 ugyanazon rugalmas Azure Database for PostgreSQL-kiszolgálópéldány összes adatbázisára 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:

Ha a helyi számítógépről szeretné elérni a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt, győződjön meg arról, hogy a hálózaton és a helyi számítógépen található tűzfal lehetővé teszi a kimenő kommunikációt az 5432-s TCP-porton.

Csatlakozás az Azure-ból

Javasoljuk, hogy 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 egyenlő kezdő és befejező címmel rendelkező tűzfalszabály-beállítás egyenértékű az Azure bármely azure-szolgáltatásának nyilvános hozzáférésének engedélyezése a portál ezen kiszolgálóbeállításával . Ha a tűzfalszabályok elutasítják a csatlakozási kísérletet, az alkalmazás nem éri el a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt.

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

Vegye figyelembe az alábbi lehetőségeket, ha egy rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz 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ópéldány 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ó lett használva: Ha egy bejelentkezés nem rendelkezik engedélyekkel a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz, vagy a jelszó helytelen, a kiszolgálóhoz való csatlakozás megtagadva. Tűzfalbeállítás létrehozása csak az ügyfelek számára biztosít lehetőséget 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 felhasználó "yourusername" felhasználó jelszó-hitelesítése meghiúsult

  • 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 meg az internetszolgáltatótól (INTERNETP) a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt elérő ügyfélszámítógépekhez rendelt 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átumú tűzfalszabályokat ad meg, érvényesítési hiba jelenik meg.