Tűzfalszabályok az Azure Database for PostgreSQL-ben – önálló kiszolgáló

A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló

Fontos

Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?

Az Azure Database for PostgreSQL-kiszolgáló alapértelmezés szerint biztonságos, és megakadályozza az adatbázis-kiszolgálóhoz való hozzáférést, amíg meg nem adja, hogy mely IP-gazdagépek férhetnek hozzá. A tűzfal biztosítja az adatbázisokhoz való hozzáférést az egyes kérések eredeti IP-címe alapján. A tűzfal konfigurálásakor olyan tűzfalszabályokat adhat meg, amelyek meghatározzák az elfogadható IP-címtartományokat. Tűzfalszabályok a kiszolgálószinten hozhatóak létre.

Tűzfalszabályok: Ezek a szabályok lehetővé teszik az ügyfelek számára, hogy hozzáférjenek a teljes Azure Database for PostgreSQL-kiszolgálóhoz, vagyis az ugyanazon a logikai kiszolgálón található összes adatbázishoz. A kiszolgálószintű tűzfalszabályok az Azure Portal vagy az Azure CLI-parancsok használatával konfigurálhatók. Csak az előfizetés tulajdonosa vagy az előfizetés közreműködői hozhatnak létre kiszolgálószintű tűzfalszabályokat.

Tűzfal áttekintése

Alapértelmezés szerint a tűzfal az Azure Database for PostgreSQL-kiszolgálóhoz történő összes hozzáférést blokkolja. Ha egy másik számítógépről/ügyfélről vagy alkalmazásról szeretné elérni a kiszolgálót, meg kell adnia egy vagy több kiszolgálószintű tűzfalszabályt a kiszolgálóhoz való hozzáférés engedélyezéséhez. Használja a tűzfalszabályokat az engedélyezett nyilvános IP-címtartományok megadásához. A tűzfalszabályok nem érintik az Azure Portal webhelyének elérését. Csatlakozás internetes kísérleteknek és az Azure-nak először át kell haladnia a tűzfalon, mielőtt elérnék a PostgreSQL-adatbázist, ahogy az az alábbi ábrán látható:

Példa a tűzfal működésére

Csatlakozás az internetről

A kiszolgálószintű tűzfalszabályok ugyanazon az Azure Database for PostgreSQL-kiszolgálón található összes adatbázisra vonatkoznak. 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 máskülönben elutasítva lesz. Ha például az alkalmazás a PostgreSQL JDBC-illesztőjével csatlakozik, ez a hiba akkor jelenhet meg, amikor a tűzfal blokkolja a kapcsolatot.

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

Feljegyzés

Az Azure Database for PostgreSQL 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

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-alkalmazás szolgáltatás kimenő IP-címét, vagy használhat egy virtuális géphez vagy más erőforráshoz kapcsolódó nyilvános IP-címet (a virtuális gép privát IP-címéhez szolgáltatásvégpontokon keresztüli csatlakozással kapcsolatos információkért lásd alább).

Ha egy rögzített kimenő IP-cím nem érhető el az Azure-szolgáltatáshoz, érdemes lehet engedélyezni a kapcsolatokat az összes Azure-adatközpont IP-címéről. Ez a beállítás az Azure Portalról engedélyezhető úgy, hogy az Azure-szolgáltatásokhoz való hozzáférés engedélyezése beállítást bekapcsoljaa Csatlakozás ion biztonsági panelről, és a Mentés gombra kerül. Az Azure CLI-ben a 0.0.0.0-val egyenlő kezdő és záró címmel rendelkező tűzfalszabály-beállítás egyenértékű. Ha a kapcsolati kísérletet tűzfalszabályok elutasítják, az nem éri el az Azure Database for PostgreSQL-kiszolgálót.

Fontos

Az Azure-szolgáltatásokhoz való hozzáférés engedélyezése beállítás konfigurálja a tűzfalat arra, hogy engedélyezzen minden, az Azure felől érkező kapcsolatot, beleértve a más ügyfelek előfizetéseiből érkező kapcsolatokat is. Ezen beállítás kiválasztásakor győződjön meg arról, hogy a bejelentkezési és felhasználói engedélyei a hozzáféréseket az arra jogosult felhasználókra korlátozzák.

Az Azure-szolgáltatásokhoz való hozzáférés engedélyezése a portálon

Csatlakozás virtuális hálózatról

Ha biztonságosan szeretne csatlakozni az Azure Database for PostgreSQL-kiszolgálóhoz egy virtuális hálózatról, fontolja meg a VNet-szolgáltatásvégpontok használatát.

Tűzfalszabályok szoftveres kezelése

Az Azure Portalon kívül a tűzfalszabályok programozott módon is kezelhetők az Azure CLI használatával. Lásd még : Azure Database for PostgreSQL tűzfalszabályok létrehozása és kezelése az Azure CLI használatával

A tűzfallal kapcsolatos problémák elhárítása

Vegye figyelembe az alábbi szempontokat, ha a Microsoft Azure Database for PostgreSQL Server szolgáltatáshoz 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éptek érvénybe: Az Azure Database for PostgreSQL Server tűzfalkonfigurációjának módosítása akár öt perces késéssel is járhat.

  • A bejelentkezés nincs engedélyezve, vagy helytelen jelszó lett használva: Ha a bejelentkezés nem rendelkezik engedélyekkel az Azure Database for PostgreSQL-kiszolgálón, vagy a használt jelszó helytelen, a rendszer megtagadja az Azure Database for PostgreSQL-kiszolgálóval való kapcsolatot. Tűzfalbeállítás létrehozása csak lehetőséget biztosít az ügyfelek számára a kiszolgálóhoz való csatlakozásra; minden ügyfélnek meg kell adnia a szükséges biztonsági hitelesítő adatokat.

    JDBC-ügyfél használatával például a következő hiba jelenhet meg.

    java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: A felhasználó "yourusername" felhasználó jelszó-hitelesítése meghiúsult

  • Dinamikus IP-cím: Ha az internetkapcsolata dinamikus IP-címkezeléssel rendelkezik, és problémákat okoz a tűzfalon való átjutás, próbálja ki a következő megoldások valamelyikét:

    • Kérdezze meg az internetszolgáltatót az Azure Database for PostgreSQL-kiszolgálóhoz hozzáférő ügyfélszámítógépekhez rendelt IP-címtartományról, majd adja hozzá az IP-címtartományt tűzfalszabályként.

    • Kérje le inkább a statikus IP-címzést az ügyfélszámítógépekhez, majd adja hozzá a statikus IP-címet tűzfalszabályként.

  • A kiszolgáló IP-címe nyilvánosnak tűnik: az Azure Database for PostgreSQL-kiszolgálóra irányuló Csatlakozás a rendszer egy nyilvánosan elérhető Azure-átjárón keresztül irányítja át. A kiszolgáló tényleges IP-címét azonban tűzfal védi. További információért tekintse meg a kapcsolati architektúráról szóló cikket.

  • Nem lehet csatlakozni az Azure-erőforrásból engedélyezett IP-címmel: Ellenőrizze, hogy a Microsoft.Sql szolgáltatásvégpont engedélyezve van-e a csatlakozni kívánt alhálózathoz. Ha a Microsoft.Sql engedélyezve van, az azt jelzi, hogy csak az adott alhálózaton szeretné használni a VNet szolgáltatásvégpont-szabályait .

    Előfordulhat például, hogy a következő hibaüzenet jelenik meg, ha egy Olyan Alhálózaton lévő Azure-beli virtuális gépről csatlakozik, amelynek engedélyezve van a Microsoft.Sql , de nincs megfelelő VNet-szabálya: FATAL: Client from Azure Virtual Networks is not allowed to access the server

  • A tűzfalszabály nem érhető el IPv6 formátumban: A tűzfalszabályoknak IPv4 formátumban kell lenniük. Ha IPv6-formátumban adja meg a tűzfalszabályokat, az érvényesítési hibát fog mutatni.

Következő lépések