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

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

Amikor új kiszolgálót hoz létre az Azure SQL Database-ben vagy az Azure Synapse Analyticsben mysqlserver néven, például egy kiszolgálószintű tűzfal blokkolja a kiszolgáló nyilvános végpontjának hozzáférését (amely mysqlserver.database.windows.net érhető el). Az egyszerűség kedvéért az SQL Database és az Azure Synapse Analytics egyaránt használható. Ez a cikk nem vonatkozik a felügyelt Azure SQL-példányokra. A hálózati konfigurációval kapcsolatos információkért tekintse meg az alkalmazás felügyelt Azure SQL-példányba való Csatlakozás.

Megjegyzés:

A Microsoft Entra ID az Azure Active Directory (Azure AD) új neve. Jelenleg frissítjük a dokumentációt.

A tűzfal működése

Csatlakozás internetes és Azure-beli kísérleteknek át kell haladniuk a tűzfalon, mielőtt elérnék a kiszolgálót vagy az adatbázist, ahogy az az alábbi ábrán is látható.

Firewall configuration diagram

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 hozzáférést biztosítanak az ügyfelek számára a teljes kiszolgálóhoz, azaz a kiszolgáló által felügyelt összes adatbázishoz. 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 128 lehet. Ha engedélyezte A kiszolgáló elérésének engedélyezése az Azure-szolgáltatások és -erőforrások számára beállítást, ez egyetlen tűzfalszabálynak számít a kiszolgálót tekintve.

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

Megjegyzés:

A kiszolgálószintű IP-tűzfalszabályok maximális száma 128-ra korlátozódik az Azure Portal használatával történő 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 kiszolgálószintű egyszerű bejelentkezésként vagy Microsoft Entra-rendszergazdaként kell csatlakoznia a fő adatbázishoz. (A kiszolgálószintű IP-tűzfalszabályt először egy Azure-szintű engedélyekkel rendelkező felhasználónak kell létrehoznia.)

Megjegyzés:

Alapértelmezés szerint egy új logikai SQL-kiszolgáló Létrehozásakor az Azure Portalról az Azure Services és az erőforrások számára a kiszolgálóbeállítás elérésének engedélyezése nem értékre van állítva.

Adatbázisszintű IP-tűzfalszabályok

Database-level IP firewall rules enable clients to access certain (secure) databases. Minden egyes adatbázishoz (beleértve a adatbázist is) létre kell hoznia a szabályokat, és azokat az egyes adatbázisokban tárolja.

  • You can only create and manage database-level IP firewall rules for master and user databases by using Transact-SQL statements and only after you configure the first server-level firewall.
  • If you specify an IP address range in the database-level IP firewall rule that's outside the range in the server-level IP firewall rule, only those clients that have IP addresses in the database-level range can access the database.
  • 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 cikk későbbi, sp_set_database_firewall_rule (Azure SQL Database) című cikket.

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

Javasoljuk, hogy lehetőség szerint használjon adatbázisszintű IP-tűzfalszabályokat. This practice enhances security and makes your database more portable. 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.

Megjegyzés:

Az üzletmenet folytonossága és a hordozható adatbázisok közötti kapcsolatról a vészhelyreállítás hitelesítési követelményeitismertető cikkből tájékozódhat.

Server-level versus database-level IP firewall rules

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

Ha igen, használja az adatbázisszintű IP-tűzfalszabályokat a hozzáférés megadásához. 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, használja a kiszolgálószintű IP-tűzfalszabályokat az IP-tűzfalszabályok konfigurálásának hányszoros csökkentéséhez.

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.

Az IP-tűzfalszabályokat konfiguráló személy vagy csapat nem rendelkezik magas szintű engedélyekkel az adatbázis szintjén?

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

Az IP-tűzfalszabályokat konfiguráló vagy auditáló személy vagy csapat központilag kezeli az IP-tűzfalszabályokat sok (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 annak ellenőrzéséhez, hogy az adatbázis CONTROL engedélyével 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.

Csatlakozás 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.

Megjegyzés:

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.

Csatlakozás az Azure-ban

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 Portal panelről kapcsolható be úgy, hogy a tűzfalak és a virtuális hálózatok beállításai között bekapcsolja az Azure-szolgáltatások és -erőforrások számára, hogy elérhessék ezt a kiszolgálót. Ha bekapcsolja a beállítást, létrehoz egy bejövő tűzfalszabályt a 0.0.0.0 – 0.0.0.0 nevű AllowAllWindowsAzureIps IP-címhez. A szabály az adatbázis sys.firewall_rules nézetben tekinthető master meg. 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.

Permissions

Az Azure SQL Serverre vonatkozó IP-tűzfalszabályok létrehozásához és kezeléséhez az alábbi szerepkörök egyikével kell rendelkeznie:

Create and manage IP firewall rules

Az első kiszolgálószintű tűzfalbeállítást az Azure Portal használatával vagy programozott módon hozhatja létre az Azure PowerShell, az Azure CLI vagy az 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ályokat átmenetileg adatbázisszinten is gyorsítótárazza a rendszer. A gyorsítótár frissítésével kapcsolatban lásd: DBCC FLUSHAUTHCACHE.

Tipp.

Az adatbázis-naplózással kiszolgálószintű és adatbázisszintű tűzfalmódosításokat naplózhat.

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.

Tipp.

Oktatóanyagért tekintse meg az Adatbázis létrehozása az Azure Portal haszná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 lehetőséget az eszköztáron az alábbi képen látható módon.

    Screenshot of the set server firewall setting in the Azure portal.

    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és lehetőséget. A rendszer létrehoz egy kiszolgálószintű IP-tűzfalszabályt az aktuális IP-címhez.

    Screenshot shows the Networking page where you can set the server-level IP firewall rules.

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 a bal oldali Gépház menü Hálózatkezelés elemét.

  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és lehető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 Level Leírás
sys.firewall_rules 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.database_firewall_rules Database Az aktuális adatbázisszintű IP-tűzfalszabályok megjelenítése
sp_set_database_firewall_rule Database Az adatbázisszintű IP-tűzfalszabályok létrehozása vagy frissítése
sp_delete_database_firewall_rule Databases 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 Contoso kiszolgálón, é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 ContosoFirewallRule szabályt:

EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'

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

Megjegyzés:

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 lásd az Azure PowerShell telepítését ismertető szakaszt. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Fontos

A PowerShell Azure Resource Manager modult továbbra is támogatja az Azure SQL Database, de az összes fejlesztés az Az.Sql modulhoz készült. Ezekhez a parancsmagokhoz lásd: AzureRM.Sql. Az Az és az AzureRm modulok parancsainak argumentumai lényegében azonosak.

Parancsmag Level 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"

Tipp.

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

A powershell-példákat egy rövid útmutató kontextusában a Create DB – PowerShell and Create a single database and create a server-level IP firewall rule using PowerShell című témakörben találhatja meg.

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

Parancsmag Level Leírás
az sql server firewall-rule create Kiszolgáló Kiszolgáló IP-tűzfalszabályának létrehozása
az sql server firewall-rule list Kiszolgáló A kiszolgálón található IP-tűzfalszabályok listázása
az sql server firewall-rule show Kiszolgáló Ip-tűzfalszabály részleteit jeleníti meg
az sql server firewall-rule update Kiszolgáló IP-tűzfalszabály Frissítések
az sql server firewall-rule delete 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

Tipp.

Ehhez $servernameadja meg a kiszolgáló nevét, nem pedig a teljes DNS-nevet. Például használja ahelyett, hogy mysqldbservermysqldbserver.database.windows.net.

A parancssori felület rövid útmutatójának kontextusában példaként tekintse meg a Create DB – Azure CLI és az Egyetlen adatbázis létrehozása című témakört, és konfiguráljon egy kiszolgálószintű IP-tűzfalszabályt az Azure CLI használatával.

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

Parancsmag Level Leírás
az synapse workspace firewall-rule create Kiszolgáló Tűzfalszabály létrehozása
az synapse workspace firewall-rule delete Kiszolgáló Tűzfalszabály törlése
az synapse workspace firewall-rule list Kiszolgáló Az összes tűzfalszabály listázása
az synapse workspace firewall-rule show Kiszolgáló Tűzfalszabály lekérése
az synapse workspace firewall-rule update Kiszolgáló Tűzfalszabály frissítése
az synapse workspace firewall-rule wait 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 Level 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érdezés

Troubleshoot the database firewall

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űzfalkonfiguráció:

    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 az 1433-at meghaladó portok "SQL Database: Kívül és belül" című szakaszát ADO.NET 4.5-ös és Azure SQL Database-hez.

  • 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. To view the IP address that your computer is using to connect to Azure:

    1. Sign in to the portal.
    2. Go to the Configure tab on the server that hosts your database.
    3. Az aktuális ügyfél IP-címe az Engedélyezett IP-címek szakaszban jelenik meg. Válassza a Hozzáadás engedélyezett IP-címekhez 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. Tűzfalbeállítás létrehozása csak lehetőséget biztosít az ügyfeleknek arra, 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. A bejelentkezések előkészítésével kapcsolatos további információkért tekintse meg az adatbázis-hozzáférés szabályozását és biztosítását ismertető témakört.

  • 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:

    • Ask your internet service provider for the IP address range that's assigned to your client computers that access the server. 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.

További lépések