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ó:
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.
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.