Virtuális hálózati szolgáltatásvégpontok és szabályok használata kiszolgálókhoz az Azure SQL Database-ben

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

A virtuális hálózati szabályok egy tűzfalbiztonsági funkció, amely azt szabályozza, hogy az Azure SQL Database adatbázisainak és rugalmas készleteinek kiszolgálója vagy az Azure Synapse Analytics dedikált SQL-készlet -adatbázisai (korábbi nevén SQL DW-) adatbázisai fogadják-e a virtuális hálózatok bizonyos alhálózataiból küldött kommunikációt. Ez a cikk azt ismerteti, hogy a virtuális hálózati szabályok miért a legjobb megoldás az adatbázissal való kommunikáció biztonságossá tételéhez az SQL Database-ben és az Azure Synapse Analyticsben.

Megjegyzés:

Ez a cikk az SQL Database-re és az Azure Synapse Analyticsre is vonatkozik. Az egyszerűség kedvéért az adatbázis kifejezés az SQL Database és az Azure Synapse Analytics mindkét adatbázisára vonatkozik. Hasonlóképpen, a kiszolgálóra mutató hivatkozások az SQL Database-t és az Azure Synapse Analyticset üzemeltető logikai kiszolgálóra vonatkoznak.

Virtuális hálózati szabály létrehozásához először rendelkeznie kell egy virtuális hálózati szolgáltatásvégponttal , amelyre hivatkozni kell.

Megjegyzés:

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

Virtuális hálózati szabály létrehozása

Ha csak virtuális hálózati szabályt szeretne létrehozni, ugorjon a jelen cikk későbbi lépéseire és magyarázatára.

A virtuális hálózati szabályok részletei

Ez a szakasz a virtuális hálózati szabályok számos részletét ismerteti.

Csak egy földrajzi régió

Minden virtuális hálózati szolgáltatásvégpont csak egy Azure-régióra vonatkozik. A végpont nem teszi lehetővé más régiók számára, hogy elfogadják az alhálózatról érkező kommunikációt.

Minden virtuális hálózati szabály arra a régióra korlátozódik, amelyre az alapul szolgáló végpont vonatkozik.

Kiszolgálói szint, nem adatbázisszint

Minden egyes virtuális hálózati szabály a teljes kiszolgálóra vonatkozik, nem csak a kiszolgálón található egy adott adatbázisra. Más szóval a virtuális hálózati szabályok a kiszolgáló szintjén érvényesek, nem az adatbázis szintjén.

Ezzel szemben az IP-szabályok mindkét szinten alkalmazhatók.

Biztonsági felügyeleti szerepkörök

A virtuális hálózati szolgáltatásvégpontok felügyelete során a biztonsági szerepkörök különváltak. Műveletre van szükség az alábbi szerepkörök mindegyikéből:

  • Hálózati Rendszergazda (hálózati közreműködői szerepkör): Kapcsolja be a végpontot.
  • Adatbázis-Rendszergazda (SQL Server közreműködői szerepkör): Frissítse a hozzáférés-vezérlési listát (ACL) a megadott alhálózat kiszolgálóhoz való hozzáadásához.

Azure RBAC alternatíva

A hálózati Rendszergazda és az adatbázis-Rendszergazda szerepkörei a virtuális hálózati szabályok kezeléséhez szükségesnél több képességekkel rendelkeznek. Csak a képességeik egy részhalmazára van szükség.

Az Azure-ban szerepköralapú hozzáférés-vezérléssel (RBAC) hozhat létre egyetlen egyéni szerepkört, amely csak a szükséges képességek részhalmazával rendelkezik. Az egyéni szerepkör használható a Hálózati Rendszergazda vagy az Adatbázis Rendszergazda használata helyett. A biztonsági kitettség felülete alacsonyabb, ha felhasználót ad hozzá egy egyéni szerepkörhöz, és nem adja hozzá a felhasználót a másik két fő rendszergazdai szerepkörhöz.

Megjegyzés:

Bizonyos esetekben az SQL Database adatbázisa és a virtuális hálózati alhálózat különböző előfizetésekben található. Ezekben az esetekben a következő konfigurációkat kell biztosítania:

  • Mindkét előfizetésnek ugyanabban a Microsoft Entra-bérlőben kell lennie.
  • A felhasználó rendelkezik a szükséges engedélyekkel a műveletek indításához, például a szolgáltatásvégpontok engedélyezéséhez és egy virtuális hálózati alhálózat hozzáadásához az adott kiszolgálóhoz.
  • Mindkét előfizetéshez regisztrálnia kell a Microsoft.Sql-szolgáltatót.

Korlátozások

Az SQL Database esetében a virtuális hálózati szabályok szolgáltatása a következő korlátozásokkal rendelkezik:

  • Az SQL Database adatbázisának tűzfalán minden virtuális hálózati szabály egy alhálózatra hivatkozik. Ezeket a hivatkozott alhálózatokat ugyanabban a földrajzi régióban kell üzemeltetni, amely az adatbázist üzemelteti.
  • Minden kiszolgáló legfeljebb 128 ACL-bejegyzéssel rendelkezhet bármely virtuális hálózathoz.
  • A virtuális hálózati szabályok csak az Azure Resource Manager virtuális hálózataira vonatkoznak, a klasszikus üzemi modellhálózatokra nem.
  • A virtuális hálózati szolgáltatásvégpontok SQL Database-re való bekapcsolása lehetővé teszi az Azure Database for MySQL és az Azure Database for PostgreSQL végpontjait is. Ha a végpontok BE értékre van állítva, a végpontokról az Azure Database for MySQL-hez vagy az Azure Database for PostgreSQL-példányokhoz való kapcsolódás sikertelen lehet.
    • Ennek az az oka, hogy az Azure Database for MySQL és az Azure Database for PostgreSQL valószínűleg nem rendelkezik konfigurált virtuális hálózati szabálysal. Konfigurálnia kell egy virtuális hálózati szabályt az Azure Database for MySQL-hez és az Azure Database for PostgreSQL-hez.
    • Ha virtuális hálózati tűzfalszabályokat szeretne definiálni egy olyan SQL logikai kiszolgálón, amely már konfigurálva van privát végpontokkal, állítsa a Nyilvános hálózati hozzáférés megtagadása beállítást Nem értékre.
  • A tűzfalon az IP-címtartományok a következő hálózati elemekre vonatkoznak, de a virtuális hálózati szabályok nem:

A szolgáltatásvégpontok használatakor megfontolandó szempontok

Amikor szolgáltatásvégpontokat használ az SQL Database-hez, tekintse át az alábbi szempontokat:

  • Az Azure SQL Database nyilvános IP-címére kimenő forgalom szükséges. A hálózati biztonsági csoportokat (NSG-ket) meg kell nyitni az SQL Database IP-címei felé a kapcsolat engedélyezéséhez. Ezt az SQL Database NSG-szolgáltatáscímkék használatával teheti meg.

ExpressRoute

Ha a helyszíni ExpressRoute-ot használja nyilvános társviszony-létesítéshez vagy Microsoft-társviszony-létesítéshez, azonosítania kell a használt NAT IP-címeket. Nyilvános társviszony-létesítés esetén alapértelmezés szerint minden ExpressRoute-kapcsolatcsoport két NAT IP-címet használ, amelyeket akkor alkalmaz az Azure-szolgáltatások forgalmára, amikor a forgalom belép a Microsoft Azure gerinchálózatába. Microsoft-társviszony-létesítés esetén a használt NAT IP-címeket az ügyfél vagy a szolgáltató adja meg. A szolgáltatási erőforrások hozzáférésének engedélyezéséhez engedélyeznie kell ezeket a nyilvános IP-címeket az erőforrás IP-tűzfalának beállításai között. A nyilvános társviszony-létesítési ExpressRoute-kapcsolatcsoport IP-címeinek megkereséséhez hozzon létre egy támogatási jegyet az ExpressRoute-tal az Azure Portalon. Az ExpressRoute nyilvános és Microsoft-társviszony-létesítés NAT-követelményeiről további információt az Azure nyilvános társviszony-létesítés NAT-követelményeiben talál.

A kapcsolatcsoport és az SQL Database közötti kommunikáció engedélyezéséhez IP-hálózati szabályokat kell létrehoznia a NAT nyilvános IP-címéhez.

Impact of using virtual network service endpoints with Azure Storage

Az Azure Storage ugyanazt a funkciót implementálta, amellyel korlátozhatja az Azure Storage-fiók kapcsolatait. Ha úgy dönt, hogy ezt a funkciót az SQL Database által használt Azure Storage-fiókkal használja, problémákba ütközhet. A következő az SQL Database és az Azure Synapse Analytics azon funkcióinak listája és megvitatása, amelyekre ez hatással van.

Azure Synapse Analytics PolyBase és COPY utasítás

A PolyBase és a COPY utasítás gyakran használják az Azure Storage-fiókokból származó adatok Azure Synapse Analyticsbe való betöltésére a nagy átviteli sebességű adatbetöltés érdekében. Ha az adatok betöltésekor használt Azure Storage-fiók csak virtuális hálózati alhálózatok egy csoportjához fér hozzá, a PolyBase használatakor megszakad a kapcsolat, és a tárfiók MÁSOLÁS utasítása megszakad. Ha engedélyezni szeretné az importálási és exportálási forgatókönyveket a COPY és a PolyBase használatával az Azure Synapse Analytics használatával, amely egy virtuális hálózathoz védett Azure Storage-hoz csatlakozik, kövesse az ebben a szakaszban leírt lépéseket.

Előfeltételek

  • Telepítse az Azure PowerShellt. For more information, see Install the Azure Az PowerShell module.
  • Ha általános célú v1- vagy Azure Blob Storage-fiókkal rendelkezik, először az általános célú v2-re kell frissítenie a frissítés általános célú v2-tárfiókra való frissítés lépéseit követve.
  • Az Azure Storage-fiók tűzfalai és virtuális hálózatok beállításai menüben be kell kapcsolnia, hogy a megbízható Microsoft-szolgáltatások hozzáférhessen ehhez a tárfiókhoz. A konfiguráció engedélyezésével a PolyBase és a COPY utasítás erős hitelesítéssel csatlakozhat a tárfiókhoz, ahol a hálózati forgalom az Azure gerincén marad. További információkért tekintse meg ezt az útmutatót.

Fontos

A PowerShell Azure Resource Manager-modult továbbra is támogatja az Azure SQL Database, de minden jövőbeli fejlesztés a Az.Sql modulhoz tartozik. Az AzureRM-modul legalább 2020 decemberéig továbbra is megkapja a hibajavításokat. Az Az modulban és az AzureRm-modulokban található parancsok argumentumai lényegében azonosak. A kompatibilitásukról további információt az új Azure PowerShell Az modul bemutatása című témakörben talál.

Steps

  1. Ha önálló dedikált SQL-készlettel (korábban SQL DW) rendelkezik, regisztrálja az SQL Servert a Microsoft Entra ID-val a PowerShell használatával:

    Connect-AzAccount
    Select-AzSubscription -SubscriptionId <subscriptionId>
    Set-AzSqlServer -ResourceGroupName your-database-server-resourceGroup -ServerName your-SQL-servername -AssignIdentity
    

    Ez a lépés nem szükséges az Azure Synapse Analytics-munkaterület dedikált SQL-készleteihez. A munkaterület rendszer által hozzárendelt felügyelt identitása (SA-MI) a Synapse Rendszergazda istrator szerepkör tagja, így emelt szintű jogosultságokkal rendelkezik a munkaterület dedikált SQL-készleteihez.

  2. Hozzon létre egy általános célú v2-tárfiókot a Tárfiók létrehozása lépésekkel.

    • Ha általános célú v1- vagy Blob Storage-fiókkal rendelkezik, először frissítenie kell a v2-re a Frissítés általános célú v2-tárfiókra való frissítés lépéseit követve.
    • Az Azure Data Lake Storage Gen2 ismert problémáiért lásd az Azure Data Lake Storage Gen2 ismert problémáit.
  3. A tárfiók lapján válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

  4. Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.

  5. Rendelje hozzá a következő szerepkört. A részletes lépésekért tekintse meg az Azure-szerepköröknek az Azure Portalon történő hozzárendelését ismertető cikket.

    Setting Érték
    Role Storage Blob Data Contributor
    Hozzáférés hozzárendelése a következőhöz: Felhasználó, csoport vagy szolgáltatásnév
    Tagok A Microsoft Entra ID azonosítóval regisztrált dedikált SQL-készletet üzemeltető kiszolgáló vagy munkaterület

    Screenshot that shows Add role assignment page in Azure portal.

    Megjegyzés:

    Ezt a lépést csak a tárfiók tulajdonosi jogosultsággal rendelkező tagjai hajthatják végre. A különböző beépített Azure-szerepkörökért lásd az Azure beépített szerepköröket.

  6. PolyBase-kapcsolat engedélyezése az Azure Storage-fiókhoz:

    1. Ha korábban még nem hozott létre adatbázis-főkulcsot, hozzon létre egy adatbázis-főkulcsot.

      CREATE MASTER KEY [ENCRYPTION BY PASSWORD = 'somepassword'];
      
    2. Hozzon létre egy adatbázis-hatókörű hitelesítő adatot az IDENTITY = "Managed Service Identity" (Felügyeltszolgáltatás-identitás) használatával.

      CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';
      
      • Nincs szükség az Azure Storage hozzáférési kulccsal rendelkező Standard kiadás CRET megadására, mert ez a mechanizmus felügyelt identitást használ a fedelek alatt. Ez a lépés nem szükséges az Azure Synapse Analytics-munkaterület dedikált SQL-készleteihez. A munkaterület rendszer által hozzárendelt felügyelt identitása (SA-MI) a Synapse Rendszergazda istrator szerepkör tagja, így emelt szintű jogosultságokkal rendelkezik a munkaterület dedikált SQL-készleteihez.

      • Az IDENTITÁS nevének felügyeltszolgáltatás-identitásnak kell lennie ahhoz, hogy a PolyBase-kapcsolat egy virtuális hálózathoz védett Azure Storage-fiókkal működjön.

    3. Hozzon létre egy külső adatforrást az abfss:// általános célú v2-tárfiókhoz a PolyBase használatával való csatlakozás sémájával.

      CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);
      
      • Ha már rendelkezik külső táblákkal egy általános célú v1 vagy Blob Storage-fiókhoz, először el kell helyeznie ezeket a külső táblákat. Ezután dobja el a megfelelő külső adatforrást. Ezután hozzon létre egy külső adatforrást a abfss:// korábban bemutatott módon egy általános célú v2-tárfiókhoz csatlakozó sémával. Ezután hozza létre újra az összes külső táblát ezzel az új külső adatforrással. A Szkriptek létrehozása és közzététele varázslóval egyszerűen hozhat létre létrehozási szkripteket az összes külső táblához.
      • A sémával kapcsolatos további információkért abfss:// lásd : Az Azure Data Lake Storage Gen2 URI használata.
      • A T-SQL-parancsokkal kapcsolatos további információkért lásd a CREATE EXTERNAL DATA SOURCE (KÜLSŐ ADATFORRÁS LÉTREHOZÁSA) című témakört.
    4. Lekérdezés a szokásos módon külső táblák használatával.

SQL Database-blobnaplózás

Az Azure SQL-naplózás sql-naplókat írhat saját tárfiókjába. Ha ez a tárfiók a virtuális hálózati szolgáltatásvégpontok funkciót használja, tekintse meg, hogyan írhat naplózást a virtuális hálózat és a tűzfal mögötti tárfiókba.

Virtuális hálózati tűzfalszabály hozzáadása a kiszolgálóhoz

Már régen, a funkció továbbfejlesztése előtt be kellett kapcsolnia a virtuális hálózati szolgáltatásvégpontokat, mielőtt élő virtuális hálózati szabályt implementálhatott volna a tűzfalon. A végpontok egy adott virtuális hálózati alhálózatot kapcsoltak egy SQL Database-adatbázishoz. 2018 januárjától megkerülheti ezt a követelményt az IgnoreMissingVNetServiceEndpoint jelölő beállításával. Most hozzáadhat egy virtuális hálózati tűzfalszabályt a kiszolgálóhoz anélkül, hogy bekapcsolná a virtuális hálózati szolgáltatásvégpontokat.

A tűzfalszabály beállítása nem segít a kiszolgáló védelmében. A biztonság érvénybe lépéséhez be kell kapcsolnia a virtuális hálózati szolgáltatásvégpontokat is. A szolgáltatásvégpontok bekapcsolásakor a virtuális hálózat alhálózata állásidőt tapasztal, amíg be nem fejeződik a ki- és bekapcsolt állapotra váltás. Ez az állásidő különösen igaz a nagy virtuális hálózatok kontextusában. Az IgnoreMissingVNetServiceEndpoint jelölő használatával csökkentheti vagy megszüntetheti az átmeneti állásidőt.

Az IgnoreMissingVNetServiceEndpoint jelölőt a PowerShell használatával állíthatja be. További információ: PowerShell– Virtuális hálózati szolgáltatásvégpont és -szabály létrehozása az SQL Database-hez.

Megjegyzés:

Az Azure Synapse Analytics hasonló utasításait lásd: Azure Synapse Analytics IP-tűzfalszabályok

Virtuális hálózati szabály létrehozása az Azure Portal használatával

Ez a szakasz bemutatja, hogyan hozhat létre virtuális hálózati szabályt az SQL Database-ben az Azure Portal használatával. A szabály arra utasítja az adatbázist, hogy fogadja el a kommunikációt egy adott alhálózatról, amely virtuális hálózati szolgáltatásvégpontként van megjelölve.

Megjegyzés:

Ha szolgáltatásvégpontot szeretne hozzáadni a kiszolgáló virtuális hálózati tűzfalszabályaihoz, először győződjön meg arról, hogy a szolgáltatásvégpontok be vannak kapcsolva az alhálózaton.

Ha a szolgáltatásvégpontok nincsenek bekapcsolva az alhálózaton, a portál megkéri, hogy engedélyezze őket. Válassza az Engedélyezés gombot azon a panelen, amelyen a szabályt hozzáadja.

Előfeltételek

Már rendelkeznie kell egy olyan alhálózattal, amely az SQL Database-hez kapcsolódó adott virtuális hálózati szolgáltatásvégponttípus-névvel van megjelölve.

Az Azure Portal lépései

  1. Jelentkezzen be az Azure Portalra.

  2. Keresse meg és válassza ki az SQL-kiszolgálókat, majd válassza ki a kiszolgálót. A Biztonság területen válassza a Hálózatkezelés lehetőséget.

  3. A Nyilvános hozzáférés lapon győződjön meg arról, hogy a nyilvános hálózati hozzáférés a Hálózatok kiválasztása beállításra van állítva, ellenkező esetben a virtuális hálózatok beállításai rejtve vannak. Válassza a +Meglévő virtuális hálózat hozzáadása lehetőséget a Virtuális hálózatok szakaszban.

    Screenshot that shows logical server properties for Networking.

  4. Az új Létrehozás/frissítés panelen töltse ki a mezőket az Azure-erőforrások nevével.

    Tipp.

    Meg kell adnia az alhálózat megfelelő címelőtagját. A Cím előtag értéke a portálon található. Ugrás a Minden erőforrás>minden típusú virtuális hálózatra.> A szűrő megjeleníti a virtuális hálózatokat. Jelölje ki a virtuális hálózatot, majd válassza az Alhálózatok lehetőséget. A CÍMTARTOMÁNY oszlop a szükséges címelőtaggal rendelkezik.

    Screenshot that shows filling in boxes for the new rule.

  5. Tekintse meg az eredményként kapott virtuális hálózati szabályt a Tűzfal panelen.

    Screenshot that shows the new rule on the Firewall pane.

  6. Állítsa be, hogy az Azure-szolgáltatások és -erőforrások elérhessék ezt a kiszolgálót a Nem értékre.

    Fontos

    Ha bejelöli az Azure-szolgáltatások és -erőforrások hozzáférésének engedélyezése jelölőnégyzetet, a kiszolgáló elfogadja a kommunikációt az Azure határán belüli bármely alhálózatról. Ez az a kommunikáció, amely az Azure-adatközpontokhoz meghatározott tartományokon belül felismert IP-címek egyikéből származik. A vezérlő engedélyezésének engedélyezése biztonsági szempontból túlzott hozzáférés lehet. Az SQL Database virtuális hálózati szabályok funkciójával összehangolt Microsoft Azure virtuális hálózati szolgáltatásvégpont-funkció együttesen csökkentheti a biztonsági felület területét.

  7. Válassza az OK gombot a panel alján.

Megjegyzés:

A szabályokra a következő állapotok vagy állapotok vonatkoznak:

  • Kész: Azt jelzi, hogy a kezdeményezett művelet sikeres volt.
  • Sikertelen: Azt jelzi, hogy a kezdeményezett művelet meghiúsult.
  • Törölve: Csak a Törlés műveletre vonatkozik, és azt jelzi, hogy a szabály törölve lett, és már nem érvényes.
  • Bejövő forgalom: Azt jelzi, hogy a művelet folyamatban van. A régi szabály akkor érvényes, ha a művelet ebben az állapotban van.

Virtuális hálózati szabály létrehozása a PowerShell használatával

A szkriptek a PowerShell-parancsmag New-AzSqlServerVirtualNetworkRule vagy az az network vnet create használatával virtuális hálózati szabályokat is létrehozhatnak. További információ: PowerShell– Virtuális hálózati szolgáltatásvégpont és -szabály létrehozása az SQL Database-hez.

Virtuális hálózati szabály létrehozása a REST API használatával

Az SQL virtuális hálózati műveletek PowerShell-parancsmagjai belsőleg REST API-kat hívnak. A REST API-kat közvetlenül is meghívhatja. További információ: Virtuális hálózati szabályok: Műveletek.

A 40914-ös és a 40615-ös hibák elhárítása

Csatlakozás 40914-es hiba az Azure Portal Tűzfal paneljén megadott virtuális hálózati szabályokhoz kapcsolódik. A 40615-ös hiba hasonló, kivéve, ha a tűzfal IP-címszabályaihoz kapcsolódik.

40914-s hiba

Üzenet szövege: "Nem nyitható meg a bejelentkezés által kért[kiszolgálónév]" kiszolgáló. Client is not allowed to access the server."

Hiba leírása: Az ügyfél egy olyan alhálózatban található, amely virtuális hálózati kiszolgálóvégpontokkal rendelkezik. A kiszolgálónak azonban nincs olyan virtuális hálózati szabálya, amely jogot biztosít az alhálózatnak az adatbázissal való kommunikációra.

Hibamegoldás: Az Azure Portal tűzfalpaneljén a virtuális hálózati szabályok vezérlője segítségével adjon hozzá egy virtuális hálózati szabályt az alhálózathoz.

Error 40615

Üzenet szövege: "A bejelentkezés által kért kiszolgáló nem nyitható meg"{0}. Client with IP address '{1}' is not allowed to access the server."

Hiba leírása: Az ügyfél olyan IP-címről próbál csatlakozni, amely nem jogosult a kiszolgálóhoz való csatlakozásra. A kiszolgáló tűzfala nem rendelkezik IP-címszabálysal, amely lehetővé teszi az ügyfél számára, hogy a megadott IP-címről kommunikáljon az adatbázissal.

Hibamegoldás: Adja meg az ügyfél IP-címét IP-szabályként. Ehhez a lépéshez használja az Azure Portal Tűzfal panelét.

További lépések