Azure SQL Database IP Azure Synapse tűzfalszabályok beállítása és beállítása

A KÖVETKEZŐKRE VONATKOZIK: Azure SQL Database Azure Synapse Analytics

Amikor például létrehoz egy mysqlserver nevű új kiszolgálót Azure SQL Database vagy Azure Synapse Analytics-ban, egy kiszolgálószintű tűzfal minden hozzáférést letilt a kiszolgáló nyilvános végpontja számára (amely a következő helyen érhető el: mysqlserver.database.windows.net). Az egyszerűség kedvéért SQL Database a rendszer a SQL Database és a Azure Synapse Analytics.

Fontos

Ez a cikk nem vonatkozik a felügyelt Azure SQL-példányra. További információ a hálózati konfigurációról: Csatlakozás azure-beli virtuális SQL példányba.

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

A tűzfal működése

Az internetről és az Azure-ból származó csatlakozási kísérleteknek át kell haladni 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űzfalkonfigurációs diagram

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ályokat a master adatbázis tárolja. Egy kiszolgálóhoz legfeljebb 128 kiszolgálószintű IP-tűzfalszabály adható meg. 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 a következő utasításokkal konfigurálhatja: Azure Portal, PowerShell vagy Transact-SQL utasítások.

  • A portál vagy a PowerShell csak akkor használható, ha az előfizetés tulajdonosa vagy közreműködője.
  • A Transact-SQL kiszolgálószintű fő bejelentkezésként vagy rendszergazdaként kell csatlakoznia a master Azure Active Directory. (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 az új logikai SQL létrehozásakor a Azure Portal 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ás nem.

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ázisokhoz való hozzáférést. Minden adatbázishoz (beleértve a master adatbázist is) létre kell hoznia a szabályokat, és az egyes adatbázisokban vannak tárolva.

  • Adatbázisszintű IP-tűzfalszabályokat csak a fő- és felhasználói adatbázisokhoz hozhat létre és kezelhet Transact-SQL-utasításokkal, é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, akkor csak azok az ügyfelek férhetnek hozzá az adatbázishoz, amelyek IP-címekkel rendelkezik az adatbázis szintjén.
  • Egy adatbázishoz legfeljebb 128 adatbázisszintű IP-tűzfalszabály 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, példáját, és tekintse meg a sp_set_database_firewall_rule (Azure SQL Database) cikket.

Javaslatok tűzfalszabályok beállításának további szabályai

Javasoljuk, hogy amikor csak lehetséges, használjon adatbázisszintű IP-tűzfalszabályokat. Ez a gyakorlat fokozza a biztonságot és az adatbázis hordozhatóságát. Kiszolgálószintű IP-tűzfalszabályok használata rendszergazdák számára. Akkor is használja őket, ha számos adatbázisra 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.

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, használja az adatbázisszintű IP-tűzfalszabályokat a hozzáférés megadásához. Ezzel a módszerrel elkerülheti a kiszolgálószintű IP-tűzfalszabályokat, amelyek engedélyezik a tűzfalon keresztüli hozzáférést az összes adatbázishoz. Ez csökkentené a védelem mélységét.

Az IP-címek felhasználóinak az összes adatbázishoz hozzá kell férni?

Ha igen, használjon kiszolgálószintű IP-tűzfalszabályokat az IP-tűzfalszabályok konfiguráláskor szükséges számának csökkentéséhez.

Az IP-tűzfalszabályokat konfiguráló személy vagy csapat csak a Azure Portal, a PowerShellen vagy a REST API?

Ha igen, kiszolgálószintű IP-tűzfalszabályokat kell használnia. Az adatbázisszintű IP-tűzfalszabályok csak Transact-SQL.

Az IP-tűzfalszabályokat konfiguráló személy vagy csapat nem rendelkezik magas szintű engedéllyel 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.

Az IP-tűzfalszabályokat konfiguráló vagy naplózó személy vagy csapat központilag kezeli sok (akár több száz) adatbázis IP-tűzfalszabályait?

Ebben a forgatókönyvben az ajánlott eljárásokat az igényei és a környezete határozza meg. A kiszolgálószintű IP-tűzfalszabályok konfigurálása egyszerűbb lehet, a parancsfájlok használatával azonban konfigurálhatóak a szabályok az adatbázis szintjén. Még ha kiszolgálószintű IP-tűzfalszabályokat is használ, szükség lehet az adatbázisszintű IP-tűzfalszabályok naplózásra annak ellenőrzéséhez, hogy az adatbázisra vonatkozó CONTROL engedéllyel rendelkező felhasználók létrehoznak-e adatbázisszintű IP-tűzfalszabályokat.

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

Igen. Egyes felhasználóknak, például a 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 adatbázisszintű IP-tűzfalszabályokra lehet szükségük.

Kapcsolatok az internetről

Amikor egy számítógép megpróbál csatlakozni a kiszolgálóhoz az internetről, 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 található, a rendszer kapcsolatot létesít a szabályt tartalmazó adatbázissal.
  • Ha a cím nem az adatbázisszintű IP-tűzfalszabályok tartományába esik, a tűzfal ellenőrzi a kiszolgálószintű IP-tűzfalszabályokat. Ha a cím a kiszolgálószintű IP-tűzfalszabályokban megadott tartományon belül található, a rendszer a kapcsolatot létesíti. A kiszolgálószintű IP-tűzfalszabályok a kiszolgáló által kezelt összes adatbázisra érvényesek.
  • Ha a cím nem az adatbázisszintű vagy a kiszolgálószintű IP-tűzfalszabályok egyikében sem található tartományon belül, a kapcsolódási kérelem meghiúsul.

Megjegyzés

Az adatok Azure SQL Database számítógépérő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 keresztül.

Kapcsolatok az Azure-ból

Ahhoz, hogy az Azure-ban üzemeltetett alkalmazások csatlakozni SQL kiszolgálóhoz, engedélyezni kell az Azure-kapcsolatokat. Az Azure-kapcsolatok engedélyezéséhez olyan tűzfalszabálynak kell lennie, amely 0.0.0.0-ra beállított kezdő és záró IP-címeket használ.

Amikor egy Azure-beli alkalmazás megpróbál csatlakozni a kiszolgálóhoz, a tűzfal ellenőrzi, hogy az Azure-kapcsolatok engedélyezettek-e. Ehhez ellenőrizze, hogy létezik-e ez a tűzfalszabály. Ez közvetlenül a Azure Portal panelről kapcsolható be. Ehhez kapcsolja be a Tűzfalak és virtuális hálózatok beállításai között az Azure-szolgáltatások és -erőforrások hozzáférésének engedélyezése a kiszolgálóhoz beállítást. Ha bekapcsolja a beállítást, létrejön egy bejövő tűzfalszabály a 0.0.0.0 – 0.0.0.0 IP-címhez AllowAllWindowsAzureIps névvel. A szabály megtekinthető a master adatbázisban 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 tűzfalszabályt 0.0.0.0-s kezdő és záró IP-címmel.

Fontos

Ez a beállítás úgy konfigurálja a tűzfalat, hogy minden Azure-kapcsolatot engedélyez, 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élyei csak a jogosult felhasználókra korlátozzák a hozzáférést.

Engedélyek

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:

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

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

Fontos

Adatbázisszintű IP-tűzfalszabályok csak Transact-SQL.

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ás használatával naplót kaphat a kiszolgáló- és adatbázisszintű tűzfal módosításairól.

A Azure Portal a kiszolgálószintű IP-tűzfalszabályok kezeléséhez

Kiszolgálószintű IP-tűzfalszabály beállításához a Azure Portal az adatbázis vagy a kiszolgáló áttekintési lapjára.

Tipp

Oktatóanyagért lásd: Adatbázis létrehozása a Azure Portal.

Az adatbázis áttekintő oldalán

  1. Kiszolgálószintű IP-tűzfalszabály beállításához az adatbázis áttekintő oldalán válassza a Kiszolgálói tűzfal beállítása lehetőséget az eszköztáron, ahogy az alábbi képen is látható.

    Kiszolgálói IP-tűzfalszabály

    Megnyílik a kiszolgáló Tűzfalbeállítások lapja.

  2. Válassza az Ügyfél IP-címének hozzáadása lehetőséget az eszköztáron 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. Létrejön egy kiszolgálószintű IP-tűzfalszabály az aktuális IP-címhez.

    Kiszolgálószintű IP-tűzfalszabály beállítása

A kiszolgáló áttekintő oldalán

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

  1. A kiszolgálószintű szabály ezen az oldalon való beállításhoz válassza a tűzfal Gépház bal oldali menüben.

  2. Válassza az Ügyfél IP-címének hozzáadása lehetőséget az eszköztáron 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. Létrejön egy kiszolgálószintű IP-tűzfalszabály az aktuális IP-címhez.

Ip-tűzfalszabályok SQL Transact-SQL használata

Katalógusnézet vagy tárolt eljárás Level Description
sys.firewall_rules Kiszolgáló Megjeleníti az aktuális kiszolgálószintű IP-tűzfalszabályokat
sp_set_firewall_rule Kiszolgáló Kiszolgálószintű IP-tűzfalszabályokat hoz létre vagy frissíti
sp_delete_firewall_rule Kiszolgáló Eltávolítja a kiszolgálószintű IP-tűzfalszabályokat
sys.database_firewall_rules Adatbázis Megjeleníti az aktuális adatbázisszintű IP-tűzfalszabályokat
sp_set_database_firewall_rule Adatbázis Létrehozza vagy frissíti az adatbázisszintű IP-tűzfalszabályokat
sp_delete_database_firewall_rule Adatbázisok Eltávolítja az adatbázisszintű IP-tűzfalszabályokat

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 eljárást. A következő 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ó kommunikáció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. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Fontos

A PowerShell Azure Resource Manager modult továbbra is támogatja a Azure SQL Database, de most már minden fejlesztés az Az.Sql modulhoz való. A parancsmagokért lásd: AzureRM.Sql. Az Az és az AzureRm modul parancsának argumentumai alapvetően megegyeznek.

Parancsmag Level Description
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 hoz létre 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 a kiszolgáló nevét adja meg, ne a teljes DNS-nevet, például a mysqldbserver nevet a mysqldbserver.database.windows.net

A rövid útmutatóval kapcsolatos PowerShell-példákért lásd: Create DB - PowerShell and Create a single database and configure a server-level IP firewall rule using PowerShell (Adatbázis létrehozása – PowerShell) és Create a single database (Egyetlen adatbázis létrehozása) és configure a server-level IP firewall rule using PowerShell (Adatbázis létrehozása – PowerShell) és configure a server-level IP firewall rule using PowerShell(Kiszolgálószintű IP-tűzfalszabály konfigurálása a PowerShell használatával).

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

Parancsmag Level Description
az sql server firewall-rule create Kiszolgáló Létrehoz egy kiszolgálói IP-tűzfalszabályt
az sql server firewall-rule list Kiszolgáló Felsorolja a kiszolgálón található IP-tűzfalszabályokat
az sql server firewall-rule show Kiszolgáló Megjeleníti az IP-tűzfalszabály részleteit
az sql server firewall-rule update Kiszolgáló Ip-tűzfalszabály frissítése
az sql server firewall-rule delete Kiszolgáló Töröl egy IP-tűzfalszabályt

Az alábbi példa a CLI-t használja egy kiszolgálószintű IP-tűzfalszabály beállításhoz:

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

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

A gyorsútmutató kontextusában egy CLI-példa: Create DB - Azure CLI (Adatbázis létrehozása – Azure CLI) és Create a single database (Egyetlen adatbázis létrehozása) és configure a server-level IP firewall rule using the Azure CLI(Kiszolgálószintű IP-tűzfalszabály konfigurálása az Azure CLI használatával).

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

API Level Description
Tűzfalszabályok felsorolása Kiszolgáló Megjeleníti az aktuális kiszolgálószintű IP-tűzfalszabályokat
Tűzfalszabályok létrehozása vagy frissítése Kiszolgáló Kiszolgálószintű IP-tűzfalszabályokat hoz létre vagy frissíti
Tűzfalszabályok törlése Kiszolgáló Eltávolítja a kiszolgálószintű IP-tűzfalszabályokat
Tűzfalszabályok lekérte Kiszolgáló Lekért kiszolgálószintű IP-tűzfalszabályokat

Az adatbázistűzfal hibaelhárítása

Vegye figyelembe a következő pontokat, ha a Azure SQL Database nem a várt módon viselkedik.

  • Helyi tűzfal konfigurációja:

    Mielőtt a számítógépe hozzáfér Azure SQL Database, előfordulhat, hogy létre kell hoznia egy tűzfalki kivételt a számítógépén az 1433-as TCP-porthoz. Az Azure-felhő határán belüli kapcsolatok létesítése érdekében előfordulhat, hogy további portokat kell megnyitnia. További információt a 4.5-ös és ADO.NET 1433-asportjainak "SQL Database: Külső és belső portok" című szakaszában Azure SQL Database.

  • 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-hoz való csatlakozásra használt IP-cím különbözhet a számítógép IP-konfigurációs beállításaiban megadott IP-címtől. Annak megtekintése, hogy a számítógép milyen IP-címet használ az Azure-hoz való csatlakozásra:

    1. Jelentkezzen be az Portalra.
    2. Lépjen az adatbázist üzemeltető kiszolgáló Konfigurálás lapjára.
    3. Az Aktuális ügyfél IP-címe az Engedélyezett IP-címek szakaszban jelenik meg. Válassza a Hozzáadás lehetőséget az Engedélyezett IP-címek beállításhoz, hogy a számítógép hozzáférjön a kiszolgálóhoz.
  • Az engedélyezőlista módosításai még nem lépnek életbe:

    A tűzfal konfigurációjának módosításainak életbe Azure SQL Database akár öt perces késés is lehet.

  • A bejelentkezés nem engedélyezett, vagy helytelen jelszót használt:

    Ha egy bejelentkezés nem rendelkezik engedélyekkel a kiszolgálón, vagy a jelszó helytelen, a rendszer megtagadja a kiszolgálóval való kapcsolatot. A tűzfalbeállítások létrehozásával az ügyfelek csak a kiszolgálóhoz való csatlakozásra nyílik lehetőség. 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 megadása.

  • Dinamikus IP-cím:

    Ha olyan internetkapcsolattal rendelkezik, amely dinamikus IP-címzést használ, és nem tudja áthaladni a tűzfalon, próbálkozzon az alábbi megoldások egyikével:

    • Kérje el az internetszolgáltatójától a kiszolgáló eléréséhez használt ügyfélszámítógépeihez társított IP-címtartományt. Adja hozzá ezt az IP-címtartományt IP-tűzfalszabályként.
    • Statikus IP-címzést kap az ügyfélszámítógépek számára. Adja hozzá az IP-címeket IP-tűzfalszabályokként.

Következő lépések

  • Győződjön meg arról, hogy a vállalati hálózati környezet engedélyezi a bejövő kommunikációt az Azure-adatközpontok által használt számítási IP-címtartományból (beleértve SQL tartományokat is). Előfordulhat, hogy ezeket az IP-címeket hozzá kell adni az engedélyezőlistához. Lásd: Microsoft Azure adatközpont IP-címtartományai.
  • Tekintse meg az egyetlen adatbázis a következőben valólétrehozását Azure SQL Database.
  • Ha nyílt forráskódú vagy külső alkalmazásokból Azure SQL Database egy adatbázishoz való csatlakozáshoz segítségre van szüksége, tekintse meg az ügyfél gyorsindítási kódminatáit a Azure SQL Database.
  • Az esetleg meg kell nyitnia szükséges további portokról a 4.5-ös és SQL Database 143 ADO.NET 3-as portokon túli portok "SQL Database: Külső és belső" szakaszában SQL Database
  • Az adatbázis biztonságának Azure SQL Database lásd: Az adatbázis biztonságossá tétele.