Použijte endpointy a pravidla služeb virtuálních sítí pro Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, doporučujeme vám začít s „Fabric Data Warehouse“. Stávající úlohy dedikovaného SQL fondu mohou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analytikou v reálném čase a reportingem.

Platí pro: Dedikované SQL fondy v Azure Synapse Analytics

Pravidla virtuální sítě jsou bezpečnostní funkce brány firewall, které řídí, zda logický server pro vaše databáze ve vyhrazených fondech SQL (dříve SQL DW) v Azure Synapse Analytics přijímá komunikaci zasílanou z konkrétních podsítí ve virtuálních sítích. Tento článek vysvětluje, proč jsou pravidla virtuální sítě někdy vaší nejlepší volbou pro bezpečné umožnění komunikace do vašeho vyhrazeného SQL poolu.

Pro vytvoření pravidla virtuální sítě musí nejprve existovat koncový bod služby virtuální sítě , na který se pravidlo odkazuje.

Vytvoření pravidla virtuální sítě

Pokud chcete vytvořit pouze pravidlo virtuální sítě, můžete přeskočit na kroky a vysvětlení dále v tomto článku.

Podrobnosti o pravidlech virtuální sítě

Tato sekce popisuje několik detailů o pravidlech virtuální sítě.

Pouze jeden geografický region

Každý koncový bod služby virtuální sítě se vztahuje pouze na jednu oblast Azure. Koncový bod neumožňuje ostatním oblastem přijímat komunikaci z podsítě.

Každé pravidlo virtuální sítě je omezeno na region, na který se jeho základní koncový bod vztahuje.

Na úrovni serveru, ne na úrovni databáze

Každé pravidlo virtuální sítě platí pro celý váš server, nejen pro jednu konkrétní databázi na serveru. Jinými slovy, pravidla virtuální sítě platí na úrovni serveru, nikoli na úrovni databáze.

Role ve správě zabezpečení

V administraci koncových bodů virtuálních síťových služeb existuje oddělení bezpečnostních rolí. Od každé z následujících rolí je vyžadována akce:

Alternativa Azure RBAC

Role správce sítě a správce databází mají více možností, než je potřeba ke správě pravidel virtuální sítě. Stačí pouze část jejich funkcí.

Máte možnost použít řízení přístupu založené na rolích (RBAC) v Azure k vytvoření jedné vlastní role, která má pouze nezbytnou podmnožinu schopností. Může být použita vlastní role místo zapojení síťového správce nebo správce databáze. Rozsah vašich bezpečnostních rizik je menší, pokud přidáte uživatele do vlastní role, než když ho přidáte do ostatních dvou hlavních administrátorských rolí.

Note

V některých případech jsou dedikovaný SQL pool a virtuální síťová podsíť v různých předplatných. V těchto případech musíte zajistit následující konfigurace:

  • Uživatel má potřebná oprávnění k zahájení operací, například k povolení servisních endpointů a přidání virtuální síťové podsítě na daný server.
  • Obě předplatná musí mít zaregistrovaného poskytovatele Microsoft.Sql.

Limitations

Pro samostatné dedikované SQL pooly má funkce virtuálních síťových pravidel následující omezení:

  • Ve firewallu vašeho logického serveru každé pravidlo virtuální sítě odkazuje na podsíť. Všechny odkazované podsítě musí být hostovány ve stejné geografické oblasti jako dedikovaný SQL pool.
  • Každý server může mít až 128 položek ACL pro libovolnou virtuální síť.
  • Pravidla virtuální sítě platí pouze pro virtuální sítě Azure Resource Manager a ne pro sítě s modelem Classic Deployment.
  • Na firewallu se rozsahy IP adres vztahují na následující síťové prvky, ale pravidla virtuální sítě nikoliv:
  • Obě předplatná musí být ve stejném nájemci Microsoft Entra.

Důležité informace při používání koncových bodů služeb

Když používáte koncové body služby pro dedikovaný fond SQL, vezměte v úvahu následující skutečnosti:

  • Je vyžadován odchozí přístup k veřejným IP adresám Azure Synapse Analytics. Skupiny síťové bezpečnosti (NSG) musí umožnit připojení k IP adresám služeb. Můžete použít NSG Sqlservice tag.

ExpressRoute

Pokud používáte ExpressRoute ze svých prostor, pro veřejný peering nebo Microsoft peering, budete muset identifikovat NAT IP adresy, které se používají. Pro veřejný peering každý okruh ExpressRoute ve výchozím nastavení používá dvě NAT IP adresy používané pro provoz služeb Azure, když provoz vstupuje do páteřní sítě Microsoft Azure. U Microsoft peeringu jsou NAT IP adresy, které se používají, poskytovány buď zákazníkem, nebo poskytovatelem služeb. Pokud chcete povolit přístup k prostředkům vaší služby, musíte tyto veřejné IP adresy povolit v nastavení IP firewallu prostředku. Chcete-li najít IP adresy veřejných peeringových okruhů ExpressRoute, otevřete žádost o podporu u ExpressRoute přes portál Azure. Pro více informací o NAT pro veřejný a Microsoft peering pro ExpressRoute viz požadavky na NAT pro Azure public peering.

Aby bylo možné komunikovat z vašeho okruhu do Azure Synapse Analytics, musíte vytvořit pravidla IP sítě pro veřejné IP adresy vašeho NAT.

Dopad využití koncových bodů služeb virtuální sítě u služby Azure Storage

Ve službě Azure Storage je implementovaná stejná funkce, která umožňuje omezit připojení k vašemu účtu služby Azure Storage. Pokud tuto funkci použijete s účtem Azure Storage, který používá Azure Synapse Analytics, můžete narazit na problémy.

Následující sekce se zabývají dotčenými funkcemi Azure Synapse Analytics.

Azure Synapse Analytics PolyBase and COPY statement

PolyBase a příkaz COPY se běžně používají k načítání dat do Azure Synapse Analytics z účtů Azure Storage pro vysoce propustný příjem dat. Pokud účet Azure Storage, ze kterého data načítáte, omezuje přístup pouze k sadě virtuálních síťových podsítí, konektivita při používání PolyBase a příkazu COPY k úložnému účtu se přeruší. Pro umožnění importu a exportu pomocí COPY a PolyBase s připojením Azure Synapse Analytics k Azure Storage zabezpečenému ve virtuální síti postupujte podle kroků v této sekci.

Prerequisites

  • Nainstalujte Azure PowerShell. Další informace najdete v tématu Instalace modulu Azure Az PowerShell.
  • Pokud máte účet úložiště pro obecné účely v1 nebo účet Azure Blob Storage, musíte nejprve upgradovat na účet úložiště pro obecné účely v2 podle kroků v části Upgradovat na účet úložiště pro obecné účely v2.
  • Musíte mít zapnutou možnost Povolit důvěryhodným službám Microsoftu přístup k tomuto účtu úložiště v nabídce nastavení účtu Azure Storage Brány firewall a virtuální sítě. Zapnutí této konfigurace umožní nástroji PolyBase a příkazu COPY připojit se k úložnému účtu pomocí silné autentizace, přičemž síťový provoz zůstává na páteřní síti Azure. Pro více informací si přečtěte tento průvodce.

Important

Modul PowerShell Azure Resource Manager (AzureRM) byl 29. února 2024 vyřazený. Veškerý budoucí vývoj by měl používat modul Az.Sql. Uživatelům se doporučuje migrovat z AzureRM do modulu Az PowerShell, aby se zajistila nepřetržitá podpora a aktualizace. Modul AzureRM se už neudržuje ani nepodporuje. Argumenty pro příkazy v modulu Az PowerShell a v modulech AzureRM jsou podstatně identické. Další informace o jejich kompatibilitě najdete v tématu Představujeme nový modul Az PowerShell.

Steps

  1. Pokud máte samostatný dedikovaný fond SQL (dříve SQL DW), zaregistrujte svůj server SQL u Microsoft Entra ID pomocí PowerShellu:

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

    Tento krok není vyžadován pro dedikované SQL pooly v rámci pracovního prostoru Azure Synapse Analytics. Spravovaná identita přiřazená systémem (SA-MI) pracovního prostoru je členem role Správce Synapse a má tak zvýšená oprávnění k vyhrazeným fondům SQL pracovního prostoru.

  2. Vytvořte účet úložiště pro obecné účely v2 podle kroků v části Vytvoření účtu úložiště.

  3. Na stránce vašeho úložného účtu vyberte Řízení přístupu (IAM).

  4. Výběrem možnosti Přidat>Přidat přiřazení role otevřete stránku Přidat přiřazení role.

  5. Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.

    Setting Value
    Role Přispěvatel dat služby Storage Blob
    Přiřadit přístup k Uživatel, skupina nebo principál služby
    Members Server nebo pracovní oblast hostující váš dedikovaný fond SQL zaregistrovaný u Microsoft Entra ID

    Snímek obrazovky se stránkou Přidat přiřazení role na webu Azure Portal

    Note

    Tento krok mohou provést pouze členové s oprávněním Vlastník u účtu úložiště. Pro různé vestavěné role v Azure viz vestavěné role Azure.

  6. Pro povolení připojení PolyBase k účtu Azure Storage:

    1. Vytvořte databázový kmenový klíč, pokud jste ho dříve nevytvořili.

      CREATE MASTER KEY [ENCRYPTION BY PASSWORD = '<password>'];
      
    2. Vytvořte přihlašovací údaj s rozsahem databáze IDENTITY = 'Managed Service Identity'.

      CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';
      
      • Není třeba specifikovat SECRET pomocí přístupového klíče Azure Storage, protože tento mechanismus používá Managed Identity na pozadí. Tento krok není vyžadován pro dedikované SQL pooly v rámci pracovního prostoru Azure Synapse Analytics. Spravovaná identita přiřazená systémem (SA-MI) pracovního prostoru je členem role Správce Synapse a má tak zvýšená oprávnění k vyhrazeným fondům SQL pracovního prostoru.

      • Název IDENTITY musí být 'Managed Service Identity', aby PolyBase konektivita mohla fungovat s účtem Azure Storage zabezpečeným ve virtuální síti.

    3. Vytvořte externí zdroj dat se schématem abfss:// pro připojení k vašemu účtu úložiště General-purpose v2 pomocí PolyBase.

      CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);
      
      • Pokud už máte externí tabulky spojené s účtem úložiště pro obecné účely v1 nebo Blob Storage, měli byste tyto externí tabulky nejprve vyřadit. Pak vyřaďte odpovídající externí zdroj dat. Dále vytvořte externí zdroj dat s protokolem abfss://, který se připojuje k účtu úložiště pro obecné účely v2, jak bylo dříve ukázáno. Poté znovu vytvořte všechny externí tabulky pomocí tohoto nového externího datového zdroje. Můžete použít Průvodce generováním a publikováním skriptů k vytvoření skriptů pro všechny externí tabulky pro usnadnění.
      • Pro více informací o tomto schématu URI abfss:// viz Použití identifikátoru URI služby Azure Data Lake Storage Gen2.
      • Pro více informací o příkazech T-SQL viz CREATE EXTERNAL DATA SOURCE.
    4. Dotazujte se normálně pomocí externích tabulek.

Auditování Azure Synapse Analytics do úložiště objektů blob

Funkce auditování ve službě Azure Synapse Analytics mohou zapisovat protokoly auditu SQL do vašeho vlastního účtu úložiště. Pokud tento úložný účet používá funkci koncových bodů služeb virtuální sítě, podívejte se, jak zapisovat protokoly auditu do úložného účtu za VNet a bránou firewall.

Přidejte pravidlo brány firewall virtuální sítě na svůj server SQL pro vyhrazený fond SQL

Dávno, ještě před rozšířením této funkce, bylo nutné zapnout koncové body služeb virtuální sítě, než bylo možné implementovat aktivní pravidlo virtuální sítě ve firewallu. Koncové body propojují danou virtuální síťovou podsíť s dedikovaným fondem SQL. Od ledna 2018 můžete tento požadavek obejít nastavením příznaku IgnoreMissingVNetServiceEndpoint . Nyní můžete přidat pravidlo firewallu virtuální sítě na svůj server, aniž byste museli zapínat koncové body virtuální sítě.

Pouhé nastavení pravidla brány firewall nepomůže server zabezpečit. Musíte také zapnout koncové body služby virtuální sítě, aby nastavení zabezpečení nabylo účinnosti. Když zapnete koncové body služby, vaše virtuální síťová podsíť zažívá výpadky, dokud nedokončí přechod z vypnuté na zapnutou. Toto období výpadku platí zejména v kontextu velkých virtuálních sítí. Můžete použít příznak IgnoreMissingVNetServiceEndpoint ke snížení nebo odstranění výpadků během přechodu.

Příznak IgnoreMissingVNetServiceEndpoint můžete nastavit pomocí PowerShellu. Pro více informací viz New-AzSqlServerVirtualNetworkRule.

Použijte Azure portál k vytvoření pravidla virtuální sítě

Note

Tyto instrukce pro pravidla virtuální sítě platí pro samostatné dedikované SQL pooly. Konfiguraci sítě pracovního prostoru naleznete v tématu Azure Synapse Analytics IP firewall rules.

V této části se naučíte, jak můžete pomocí portálu Azure vytvořit virtuální síťové pravidlo pro samostatný dedikovaný SQL pool. Pravidlo říká logickému serveru, aby přijal komunikaci z konkrétní podsítě, která byla označena jako koncový bod služby virtuální sítě.

Note

Pokud plánujete přidat servisní endpoint do pravidel firewallu virtuální sítě vašeho serveru, nejprve se ujistěte, že servisní endpointy jsou zapnuté pro subnet.

Pokud nejsou servisní endpointy pro subnet zapnuté, portál vás žádá o jejich povolení. Vyberte tlačítko Povolit ve stejném panelu, kde přidáváte pravidlo.

Prerequisites

Musíte už mít podsíť označenou koncovým bodem služby virtuální sítě název typu, který používá Azure Synapse Analytics.

Kroky v Azure portálu

  1. Přihlaste se do Azure Portalu.

  2. Vyhledejte a vyberte SQL servery a pak vyberte svůj server. V části Zabezpečení vyberte Sítě.

  3. V záložce Veřejný přístup se ujistěte, že Přístup k veřejné síti je nastaven na Vybrané sítě, jinak jsou nastavení virtuálních sítí skrytá. Vyberte + Přidejte existující virtuální síť v sekci Virtuální sítě .

  4. V novém panelu Create/Update do polí zadejte názvy vašich prostředků Azure.

    Tip

    Musíte uvést správný adresní prefix pro vaši podsíť. Hodnotu prefixu Adresa najdete v portálu. Přejděte na Všechny zdroje>Všechny typy>virtuálních sítí. Filtr zobrazuje vaše virtuální sítě. Vyberte svou virtuální síť a poté vyberte podsítě. Sloupec ADRESNÍ ROZSAH obsahuje předponu adresy, kterou potřebujete.

  5. Podívejte se na výsledné pravidlo virtuální sítě v panelu Firewall .

  6. Nastavte Povolit Azure službám a zdrojům přístup k tomuto serveru na Ne

    Important

    Pokud necháte zaškrtnuté povolit Azure služby a zdroje k přístupu k tomuto serveru, váš server přijímá komunikaci z jakékoli podsítě v rámci Azure. To je komunikace, která pochází z jedné z IP adres, které jsou rozpoznány jako spadající do rozsahů definovaných pro datacentra Azure. Ponechat ovládání zapnuté může z hlediska bezpečnosti znamenat příliš široká oprávnění. Funkce koncového bodu služby Microsoft Azure Virtual Network spolu s pravidly virtuální sítě Azure Synapse Analytics mohou snížit vaši oblast útoku.

  7. Vyberte tlačítko OK blízko spodní části panelu.

Note

Na pravidla platí následující statusy nebo stavy:

  • Připraveno: Označuje, že operace, kterou jste zahájili, byla úspěšně dokončena.
  • Neúspěšné: Označuje, že zahájená operace selhala.
  • Smazáno: Platí pouze pro Delete operaci a označuje, že pravidlo bylo smazáno a již neplatí.
  • InProgress: Naznačuje, že operace probíhá. Staré pravidlo platí, dokud je operace v tomto stavu.

Použijte PowerShell k vytvoření pravidla virtuální sítě

Skript může také vytvářet pravidla virtuální sítě pomocí PowerShell cmdlet New-AzSqlServerVirtualNetworkRule nebo az network vnet create. Pro více informací viz New-AzSqlServerVirtualNetworkRule.

Použijte REST API k vytvoření pravidla virtuální sítě

Interně cmdlety PowerShellu pro akce virtuální sítě Synapse SQL volají rozhraní REST API. REST API můžete volat přímo. Pro více informací viz Pravidla virtuální sítě: operace.

Odstraňování chyb 40914 a 40615

Chyba připojení 40914 se týká pravidel virtuální sítě, jak jsou uvedena v panelu Firewall v portálu Azure.
Chyba 40615 je podobná, ale týká se pravidel IP adres na firewallu.

Chyba 40914

Text zprávy: "Nelze otevřít server '[server-name]' požadovaný přihlášením. Klient nemá povolený přístup k tomuto serveru.

Popis chyby: Klient je v podsíti, která má koncové body serveru virtuální sítě. Server však nemá žádné pravidlo virtuální sítě, které by podsíti umožňovalo komunikovat s databází.

Řešení chyb: Na panelu Firewall portálu Azure použijte ovládání virtuálních síťových pravidel k přidání virtuálního síťového pravidla pro podsíť.

Chyba 40615

Text zprávy: "Nelze otevřít server '{0}' požadovaný při přihlášení. Klient s IP adresou {1} nemá povolený přístup k tomuto serveru.

Popis chyby: Klient se snaží připojit z IP adresy, která není oprávněná k připojení k serveru. Serverový firewall nemá žádné pravidlo IP adresy, které by klientovi umožňovalo komunikovat z dané IP adresy do databáze.

Řešení chyb: Zadejte IP adresu klienta jako IP pravidlo. Použijte panel Firewall v portálu Azure k tomuto kroku.