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


Az Azure SQL Database és az Azure Synapse IP-tűzfalszabályai

A következőkre vonatkozik:Azure SQL DatabaseAzure Synapse Analytics

Amikor új kiszolgálót hoz létre az Azure SQL Database-ben vagy mysqlservernevű Azure Synapse Analyticsben, például egy kiszolgálószintű tűzfal blokkolja a kiszolgáló nyilvános végpontjának minden hozzáférését (amely a mysqlserver.database.windows.netcímen érhető el). Az egyszerűség kedvéért SQL Database az SQL Database-re és az Azure Synapse Analyticsre is hivatkozik. Ez a cikk nem vonatkozik az Azure SQL Felügyelt Példányokra. A hálózati konfigurációval kapcsolatos információkért lásd: Az alkalmazás csatlakoztatása felügyelt Azure SQL-példányhoz.

Jegyzet

Microsoft Entra ID korábban Azure Active Directory (Azure AD) néven ismert.

A tűzfal működése

Az internetről és az Azure-ból történő csatlakozási kísérleteknek át kell haladniuk a tűzfalon, mielőtt elérnék a kiszolgálót vagy az adatbázist, ahogy az alábbi ábrán látható.

tűzfal konfigurációs diagramja

Fontos

Az Azure Synapse csak a kiszolgálószintű IP-tűzfalszabályokat támogatja. Nem támogatja az adatbázisszintű IP-tűzfalszabályokat.

Kiszolgálószintű IP-tűzfalszabályok

Ezek a szabályok lehetővé teszik az ügyfelek számára a teljes kiszolgáló, vagyis a kiszolgáló által felügyelt összes adatbázis elérését. A szabályok a adatbázisban vannak tárolva. A kiszolgálószintű IP-tűzfalszabályok maximális száma kiszolgáló esetén legfeljebb 256 lehet. Ha engedélyezte a Azure szolgáltatások és erőforrások hozzáférését a szerverhez beállítást, ez a szerver egyetlen tűzfalszabályának számít.

A kiszolgálószintű IP-tűzfalszabályokat az Azure Portal, a PowerShell vagy Transact-SQL utasítások használatával konfigurálhatja.

Jegyzet

A kiszolgálószintű IP-tűzfalszabályok maximális száma 256-ra korlátozódik az Azure Portalon való konfiguráláskor.

  • A portál vagy a PowerShell használatához az előfizetés tulajdonosának vagy az előfizetés közreműködőjének kell lennie.
  • A Transact-SQL használatához csatlakoznia kell a adatbázishoz kiszolgálószintű egyszerű bejelentkezésként vagy a Microsoft Entra rendszergazdájaként. (A kiszolgálószintű IP-tűzfalszabályt először egy Azure-szintű engedélyekkel rendelkező felhasználónak kell létrehoznia.)

Jegyzet

Alapértelmezés szerint, amikor egy új logikai SQL szervert hoz létre az Azure portálról, a Az Azure-szolgáltatások és -erőforrások számára engedélyezése a kiszolgálóhoz beállítás Nincsértékre van állítva.

Adatbázisszintű IP-tűzfalszabályok

Az adatbázisszintű IP-tűzfalszabályok lehetővé teszik az ügyfelek számára bizonyos (biztonságos) adatbázisok elérését. Minden egyes adatbázishoz (beleértve a adatbázist) létre kell hoznia a szabályokat, és azokat az egyes adatbázisokban tárolja.

  • A fő- és felhasználói adatbázisokhoz csak adatbázisszintű IP-tűzfalszabályokat hozhat létre és kezelhet Transact-SQL utasítások használatával, és csak az első kiszolgálószintű tűzfal konfigurálása után.
  • Ha olyan IP-címtartományt ad meg az adatbázisszintű IP-tűzfalszabályban, amely kívül esik a kiszolgálószintű IP-tűzfalszabály tartományán, csak azok az ügyfelek férhetnek hozzá az adatbázishoz, amelyek IP-címekkel rendelkeznek az adatbázis-szintű tartományban.
  • Az alapértelmezett érték egy adatbázis legfeljebb 256 adatbázisszintű IP-tűzfalszabálya lehet. Az adatbázisszintű IP-tűzfalszabályok konfigurálásával kapcsolatos további információkért tekintse meg a későbbi példát ebben a cikkben, valamint a sp_set_database_firewall_rule (Azure SQL Database)című hivatkozást.

Javaslatok tűzfalszabályok beállításához

Javasoljuk, hogy lehetőség szerint használjon adatbázisszintű IP-tűzfalszabályokat. Ez a gyakorlat növeli a biztonságot, és hordozhatóbbá teszi az adatbázist. Kiszolgálószintű IP-tűzfalszabályok használata rendszergazdák számára. Akkor is használja őket, ha sok olyan adatbázissal rendelkezik, amelyekre ugyanazok a hozzáférési követelmények vonatkoznak, és nem szeretné egyenként konfigurálni az egyes adatbázisokat.

Jegyzet

A hordozható adatbázisokkal kapcsolatos információk üzletmenet-folytonossági összefüggésben megtalálhatók a katasztrófa-helyreállításihitelesítési követelményeknél.

Kiszolgálószintű és adatbázisszintű IP-tűzfalszabályok

Az egyik adatbázis felhasználóit teljesen el kell különíteni egy másik adatbázistól?

Ha igen, az adatbázisszintű IP-tűzfalszabályok használatával biztosítson hozzáférést. Ez a módszer elkerüli a kiszolgálószintű IP-tűzfalszabályok használatát, amelyek lehetővé teszik a tűzfalon keresztüli hozzáférést az összes adatbázishoz. Ez csökkenti a védelem mélységét.

Az IP-címeken lévő felhasználóknak hozzáférésre van szükségük az összes adatbázishoz?

Ha igen, kiszolgálószintű IP-tűzfalszabályok használatával csökkentse az IP-tűzfalszabályok konfigurálásának számát.

Az IP-tűzfalszabályokat konfiguráló személy vagy csapat csak az Azure Portalon, a PowerShellen vagy a REST API-on keresztül fér hozzá?

Ha igen, kiszolgálószintű IP-tűzfalszabályokat kell használnia. Az adatbázisszintű IP-tűzfalszabályok csak a Transact-SQL-en keresztül konfigurálhatók.

Tilos az IP-tűzfalszabályokat konfiguráló személynek vagy csapatnak magas szintű engedélyekkel rendelkezni az adatbázis szintjén?

Ha igen, használjon kiszolgálószintű IP-tűzfalszabályokat. Az adatbázisszintű IP-tűzfalszabályok Transact-SQL-en keresztüli konfigurálásához legalább CONTROL DATABASE engedélyre van szüksége az adatbázis szintjén.

Az IP-tűzfalszabályokat konfiguráló vagy naplózó személy vagy csapat központilag kezeli az IP-tűzfalszabályokat számos (talán több száz) adatbázis esetében?

Ebben a forgatókönyvben az ajánlott eljárásokat az ön igényei és környezete határozza meg. A kiszolgálószintű IP-tűzfalszabályokat egyszerűbb lehet konfigurálni, de a szkriptelés az adatbázis szintjén konfigurálhatja a szabályokat. Még ha kiszolgálószintű IP-tűzfalszabályokat is használ, előfordulhat, hogy adatbázisszintű IP-tűzfalszabályokat kell naplóznia, hogy a CONTROL engedéllyel rendelkező felhasználók adatbázisszintű IP-tűzfalszabályokat hoznak-e létre.

Használhatok kiszolgálószintű és adatbázisszintű IP-tűzfalszabályokat?

Igen. Egyes felhasználóknak, például rendszergazdáknak kiszolgálószintű IP-tűzfalszabályokra lehet szükségük. Más felhasználóknak, például egy adatbázis-alkalmazás felhasználóinak is szükség lehet adatbázisszintű IP-tűzfalszabályokra.

Kapcsolatok az internetről

Amikor egy számítógép az internetről próbál csatlakozni a kiszolgálóhoz, a tűzfal először ellenőrzi a kérés eredeti IP-címét a kapcsolat által kért adatbázis adatbázisszintű IP-tűzfalszabályai között.

  • Ha a cím az adatbázisszintű IP-tűzfalszabályokban megadott tartományon belül van, a kapcsolat a szabályt tartalmazó adatbázishoz lesz adva.
  • Ha a cím nem tartozik az adatbázisszintű IP-tűzfalszabályok tartományába, a tűzfal ellenőrzi a kiszolgálószintű IP-tűzfalszabályokat. Ha a cím egy olyan tartományon belül van, amely a kiszolgálószintű IP-tűzfalszabályokban található, a kapcsolat meg lesz adva. A kiszolgálószintű IP-tűzfalszabályok a kiszolgáló által felügyelt összes adatbázisra érvényesek.
  • Ha a cím nem az adatbázisszintű vagy kiszolgálószintű IP-tűzfalszabályok egyikében sem található tartományon belül, a kapcsolatkérés meghiúsul.

Jegyzet

Az Azure SQL Database 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 1433-as TCP-porton.

Kapcsolatok az Azure-on belülről

Ahhoz, hogy az Azure-ban üzemeltetett alkalmazások kapcsolódhassanak az SQL Serverhez, engedélyezni kell az Azure-kapcsolatokat. Az Azure-kapcsolatok engedélyezéséhez rendelkeznie kell egy tűzfalszabálysal, amelynek kezdő és befejező IP-címe 0.0.0.0. Ez az ajánlott szabály csak az Azure SQL Database-ben alkalmazható.

Amikor egy Azure-ból származó alkalmazás megpróbál csatlakozni a kiszolgálóhoz, a tűzfal ellenőrzi, hogy az Azure-kapcsolatok engedélyezve vannak-e a tűzfalszabály meglétének ellenőrzésével. Ez közvetlenül az Azure portál panelen kapcsolható be azzal, hogy a Allow Azure Services and resources to access this server opciót BE állítja a tűzfalak és virtuális hálózatok beállításai között. A beállítás BE kapcsolásával létrejön egy bejövő tűzfalszabály az IP 0.0.0.0 – 0.0.0.0 számára AllowAllWindowsAzureIpsnéven. A szabály megtekinthető master adatbázis sys.firewall_rules nézetben. Ha nem a portált használja, a PowerShell vagy az Azure CLI használatával hozzon létre egy 0.0.0.0-s kezdő- és végponti IP-címekkel rendelkező tűzfalszabályt.

Fontos

Ez a beállítás úgy 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 választja, győződjön meg arról, hogy a bejelentkezési és felhasználói engedélyek csak a jogosult felhasználók hozzáférését korlátozzák.

Engedélyek

Az Azure SQL Server IP-tűzfalszabályainak létrehozásához és kezeléséhez a következőkre van szükség:

IP-tűzfalszabályok létrehozása és kezelése

Az első kiszolgálószintű tűzfalbeállítást az Azure Portal használatával vagy programozott módon hozhatja létre Azure PowerShell-, Azure CLIvagy Azure REST API-használatával. Ezekkel a módszerekkel vagy a Transact-SQL-lel további kiszolgálószintű IP-tűzfalszabályokat hozhat létre és kezelhet.

Fontos

Az adatbázisszintű IP-tűzfalszabályok csak a Transact-SQL használatával hozhatók létre és kezelhetők.

A teljesítmény javítása érdekében a kiszolgálószintű IP-tűzfalszabályok ideiglenesen gyorsítótárazva vannak az adatbázis szintjén. A gyorsítótár frissítéséhez lásd DBCC FLUSHAUTHCACHE.

Borravaló

A adatbázis-naplózási használatával naplózhatja a kiszolgálószintű és adatbázisszintű tűzfalmódosításokat.

Kiszolgálószintű IP-tűzfalszabályok kezelése az Azure Portal használatával

Ha kiszolgálószintű IP-tűzfalszabályt szeretne beállítani az Azure Portalon, nyissa meg az adatbázis vagy a kiszolgáló áttekintő oldalát.

Borravaló

Oktatóanyagért tekintse meg Adatbázis létrehozása az Azure Portalhasználatával című témakört.

Az adatbázis áttekintési oldaláról

  1. Ha kiszolgálószintű IP-tűzfalszabályt szeretne beállítani az adatbázis áttekintési oldaláról, válassza a Kiszolgálói tűzfal beállítása az eszköztáron, ahogyan az alábbi képen látható.

    Képernyőkép az Azure Portalon beállított kiszolgálói tűzfalbeállításról.

    Megnyílik a kiszolgáló hálózatkezelési lapja.

  2. Adjon hozzá egy szabályt a Tűzfalszabályok szakaszban a használt számítógép IP-címének hozzáadásához, majd válassza a Mentéslehetőséget. A rendszer létrehoz egy kiszolgálószintű IP-tűzfalszabályt az aktuális IP-címhez.

    Képernyőkép a Hálózatkezelés lapról, amelyen beállíthatja a kiszolgálószintű IP-tűzfalszabályokat.

A kiszolgáló áttekintési oldaláról

Megnyílik a kiszolgáló áttekintő oldala. A teljes kiszolgálónevet (például mynewserver20170403.database.windows.net) jeleníti meg, és további konfigurációs lehetőségeket biztosít.

  1. Ha kiszolgálószintű szabályt szeretne beállítani erről a lapról, válassza Hálózatkezelési a bal oldalon található Beállítások menüből.

  2. Adjon hozzá egy szabályt a Tűzfalszabályok szakaszban a használt számítógép IP-címének hozzáadásához, majd válassza a Mentéslehetőséget. A rendszer létrehoz egy kiszolgálószintű IP-tűzfalszabályt az aktuális IP-címhez.

IP-tűzfalszabályok kezelése a Transact-SQL használatával

Katalógusnézet vagy tárolt eljárás Szint Leírás
sys.tűzfalszabályok Kiszolgáló Az aktuális kiszolgálószintű IP-tűzfalszabályok megjelenítése
sp_set_firewall_rule Kiszolgáló Kiszolgálószintű IP-tűzfalszabályok létrehozása vagy frissítése
sp_delete_firewall_rule Kiszolgáló Kiszolgálószintű IP-tűzfalszabályok eltávolítása
sys.adatbázis_tűzfal_szabályok Adatbázis Az aktuális adatbázisszintű IP-tűzfalszabályok megjelenítése
sp_set_database_firewall_rule Adatbázis Az adatbázisszintű IP-tűzfalszabályok létrehozása vagy frissítése
sp_delete_database_firewall_rule Adatbázisok Adatbázisszintű IP-tűzfalszabályok eltávolítása

Az alábbi példa áttekinti a meglévő szabályokat, engedélyezi az IP-címek tartományát a kiszolgálón Contoso, és töröl egy IP-tűzfalszabályt:

SELECT * FROM sys.firewall_rules ORDER BY name;

Ezután adjon hozzá egy kiszolgálószintű IP-tűzfalszabályt.

EXECUTE sp_set_firewall_rule @name = N'ContosoFirewallRule',
   @start_ip_address = '192.168.1.1', @end_ip_address = '192.168.1.10'

Kiszolgálószintű IP-tűzfalszabály törléséhez hajtsa végre a sp_delete_firewall_rule tárolt eljárást. Az alábbi példa törli a ContosoFirewallRuleszabályt:

EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'

Kiszolgálószintű IP-tűzfalszabályok kezelése a PowerShell használatával

Jegyzet

Ez a cikk az Azure Az PowerShell-modult használja, amely az Azure-ral való interakcióhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez tekintse meg Az Azure PowerShell-telepítése című témakört. Az Az PowerShell modulra való áttérés módját a következő oldalon találja: Az Azure PowerShell migrálása az AzureRM-ből az Az.

Fontos

A PowerShell Azure Resource Manager (AzureRM) modul 2024. február 29-én elavulásra került. Minden jövőbeli fejlesztésnek az Az.Sql modult kell használnia. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében. Az AzureRM-modult a továbbiakban nem tartjuk karban vagy támogatjuk. Az Az PowerShell-modulban és az AzureRM-modulokban található parancsok argumentumai lényegében azonosak. További információ a kompatibilitásukról: Az új Az PowerShell-modul bemutatása.

Cmdlet Szint Leírás
Get-AzSqlServerFirewallRule Kiszolgáló Az aktuális kiszolgálószintű tűzfalszabályokat adja vissza
New-AzSqlServerFirewallRule Kiszolgáló Új kiszolgálószintű tűzfalszabály létrehozása
Set-AzSqlServerFirewallRule Kiszolgáló Meglévő kiszolgálószintű tűzfalszabály tulajdonságainak frissítése
Remove-AzSqlServerFirewallRule Kiszolgáló Kiszolgálószintű tűzfalszabályok eltávolítása

Az alábbi példa a PowerShell használatával állít be egy kiszolgálószintű IP-tűzfalszabályt:

New-AzSqlServerFirewallRule -ResourceGroupName "myResourceGroup" `
    -ServerName $servername `
    -FirewallRuleName "ContosoIPRange" -StartIpAddress "192.168.1.0" -EndIpAddress "192.168.1.255"

Borravaló

A $servername adja meg a kiszolgáló nevét, és ne a teljes DNS-nevet, például adja meg mysqldbserver ahelyett, hogy mysqldbserver.database.windows.net

A rövid útmutatóban szereplő PowerShell-példákért lásd: Adatbázis létrehozása – PowerShell- és Egyetlen adatbázis létrehozása és kiszolgálószintű IP-tűzfalszabály konfigurálása a PowerShellhasználatával.

Kiszolgálószintű IP-tűzfalszabályok kezelése a parancssori felület használatával

Cmdlet Szint Leírás
az sql server tűzfalszabály létrehozása Kiszolgáló Létrehoz egy kiszolgáló IP-tűzfalszabályt
az SQL Server tűzfalszabályok listája Kiszolgáló A kiszolgálón található IP-tűzfalszabályok listázása
az sql server tűzfalszabály megjelenítése Kiszolgáló Ip-tűzfalszabály részleteit jeleníti meg
az sql server tűzfalszabály frissítés Kiszolgáló IP-tűzfalszabály frissítése
az sql server tűzfalszabály törlése Kiszolgáló IP-tűzfalszabály törlése

Az alábbi példa a parancssori felület használatával állít be egy kiszolgálószintű IP-tűzfalszabályt:

az sql server firewall-rule create --resource-group myResourceGroup --server $servername \
-n ContosoIPRange --start-ip-address 192.168.1.0 --end-ip-address 192.168.1.255

Borravaló

A $servernameesetében adja meg a kiszolgáló nevét, nem pedig a teljes DNS-nevet. Használjon például mysqldbservermysqldbserver.database.windows.nethelyett.

A parancssori felületre vonatkozó példa a rövid útmutató kontextusában: Create DB – Azure CLI és Egyetlen adatbázis létrehozása és kiszolgálószintű IP-tűzfalszabály konfigurálása az Azure CLIhasználatával.

Az Azure Synapse Analytics esetében tekintse meg a következő példákat:

Cmdlet Szint Leírás
az synapse workspace tűzfal-szabály létrehozása Kiszolgáló Tűzfalszabály létrehozása
az synapse munkaterület tűzfal szabály törlése Kiszolgáló Tűzfalszabály törlése
az synapse munkaterület tűzfalszabály listázása Kiszolgáló Az összes tűzfalszabály listázása
az synapse workspace tűzfal-szabály megjelenítése Kiszolgáló Tűzfalszabály lekérése
synapse munkaterület tűzfalszabály frissítése Kiszolgáló Tűzfalszabály frissítése
az Synapse munkaterület tűzfalszabály várakozás Kiszolgáló Helyezze a parancssori felületet várakozási állapotba, amíg a tűzfalszabály feltételei teljesülnek

Az alábbi példa a parancssori felület használatával állít be egy kiszolgálószintű IP-tűzfalszabályt az Azure Synapse-ban:

az synapse workspace firewall-rule create --name AllowAllWindowsAzureIps --workspace-name $workspacename --resource-group $resourcegroupname --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

Kiszolgálószintű IP-tűzfalszabályok kezelése REST API használatával

API Szint Leírás
Tűzfalszabályok listázása Kiszolgáló Az aktuális kiszolgálószintű IP-tűzfalszabályok megjelenítése
Tűzfalszabályok létrehozása vagy frissítése Kiszolgáló Kiszolgálószintű IP-tűzfalszabályok létrehozása vagy frissítése
Tűzfalszabályok törlése Kiszolgáló Kiszolgálószintű IP-tűzfalszabályok eltávolítása
Tűzfalszabályok lekérése Kiszolgáló Kiszolgálószintű IP-tűzfalszabályok lekérése

Az adatbázis tűzfalának hibaelhárítása

Vegye figyelembe az alábbi szempontokat, ha az Azure SQL Database-hez való hozzáférés nem a várt módon működik.

  • helyi tűzfal konfigurációja:

    Ahhoz, hogy a számítógép hozzáférhessen az Azure SQL Database-hez, előfordulhat, hogy tűzfalkivételt kell létrehoznia a számítógépen az 1433-at futtató TCP-porthoz. Ha az Azure-felhő határain belül szeretne kapcsolatokat létesíteni, előfordulhat, hogy további portokat kell megnyitnia. További információkért tekintse meg a „SQL Database: Kívül vs belül” szakaszát a 1433 portot meghaladó portokról, valamint az ADO.NET 4.5 és az Azure SQL Database vonatkozásában.

  • hálózati címfordítás:

    A hálózati címfordítás (NAT) miatt a számítógép által az Azure SQL Database-hez való csatlakozáshoz használt IP-cím eltérhet a számítógép IP-konfigurációs beállításaiban megadott IP-címétől. A számítógép által az Azure-hoz való csatlakozáshoz használt IP-cím megtekintése:

    1. Jelentkezzen be a portálra.
    2. Lépjen a konfigurálása lapra az adatbázist üzemeltető kiszolgálón.
    3. Az aktuális ügyfél IP-cím az Engedélyezett IP-címek szakaszban jelenik meg. Válassza Engedélyezett IP-címek hozzáadása lehetőséget, hogy a számítógép hozzáférhessen a kiszolgálóhoz.
  • Az engedélyezési lista módosításai még nem lépnek érvénybe:

    Az Azure SQL Database 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ót használtak:

    Ha egy bejelentkezés nem rendelkezik engedélyekkel a kiszolgálón, vagy a jelszó helytelen, a rendszer megtagadja a kapcsolatot a kiszolgálóval. Egy tűzfalbeállítás létrehozása csak lehetőséget ad az ügyfeleknek, hogy megpróbáljanak csatlakozni a kiszolgálóhoz. Az ügyfélnek továbbra is meg kell adnia a szükséges biztonsági hitelesítő adatokat. További információ a bejelentkezések előkészítéséről: Adatbázis-hozzáférés szabályozása és biztosítása.

  • dinamikus IP-cím:

    Ha dinamikus IP-címzést használó 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 a kiszolgálót elérő ügyfélszámítógépekhez rendelt IP-címtartományt. Adja hozzá az IP-címtartományt IP-tűzfalszabályként.
    • Ehelyett statikus IP-címzést kérhet le az ügyfélszámítógépekhez. Adja hozzá az IP-címeket IP-tűzfalszabályokként.

Következő lépések