Použití koncových bodů služeb virtuální sítě a pravidel pro servery služby Azure SQL Database

PLATÍ PRO: Azure SQL Database Azure Synapse Analytics

pravidla virtuální sítě jsou funkcí zabezpečení brány firewall, která určuje, jestli server pro vaše databáze a elastické fondy v Azure SQL Database nebo pro databáze vyhrazené SQL (dříve SQL DW) ve službě Azure Synapse Analytics přijímá komunikaci, která se odesílají 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 nejlepší volbou pro bezpečné povolení komunikace s databází v SQL Database a Azure Synapse Analytics.

Poznámka

tento článek se týká SQL Database a Azure Synapse Analytics. v zájmu jednoduchosti se pojem databáze týká obou databází v SQL Database a Azure Synapse Analytics. podobně všechny odkazy na server odkazují na logický SQL server , který je hostitelem SQL Database a Azure Synapse Analytics.

Aby bylo možné vytvořit pravidlo virtuální sítě, musí být nejprve koncovým bodem služby virtuální sítě pro pravidlo, na které se má odkazovat.

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

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

Podrobnosti o pravidlech virtuální sítě

Tato část popisuje několik podrobností o pravidlech virtuální sítě.

Jenom jedna geografická oblast

Všechny koncové body služby virtuální sítě se vztahují jenom na jednu oblast Azure. Koncový bod nepovoluje, aby komunikace z podsítě přijímala jiné oblasti.

Jakékoli pravidlo virtuální sítě je omezené na oblast, na kterou se vztahuje příslušný koncový bod.

Úroveň serveru, nikoli databáze

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

Naproti tomu pravidla protokolu IP můžou platit na kterékoli úrovni.

Role správy zabezpečení

Ve správě koncových bodů služby virtuální sítě je oddělení rolí zabezpečení. Pro každou z následujících rolí se vyžaduje akce:

Alternativa Azure RBAC

Role správce sítě a správce databáze mají více možností, než je nutné ke správě pravidel virtuální sítě. Je potřeba jenom podmnožina jejich schopností.

V Azure máte možnost použít řízení přístupu na základě role (RBAC) a vytvořit jednu vlastní roli, která bude mít jenom nezbytnou podmnožinu funkcí. Vlastní roli můžete použít místo zapojení správce sítě nebo správce databáze. Oblast povrchu při expozici zabezpečení je nižší, pokud přidáte uživatele do vlastní role a přidáte uživatele do dalších dvou hlavních rolí správce.

Poznámka

v některých případech je databáze v SQL Database a podsíť virtuální sítě v různých předplatných. V těchto případech je nutné zajistit následující konfigurace:

  • oba odběry musí být ve stejném tenantovi Azure Active Directory (Azure AD).
  • Uživatel má požadovaná oprávnění k zahájení operací, jako je například povolení koncových bodů služby a přidání podsítě virtuální sítě k danému serveru.
  • Oba odběry musí mít zaregistrovaný poskytovatel Microsoft. SQL.

Omezení

pro SQL Database funkce pravidla virtuální sítě má následující omezení:

  • v bráně firewall pro vaši databázi v SQL Database každé pravidlo virtuální sítě odkazuje na podsíť. Všechny tyto odkazované podsítě musí být hostované ve stejné geografické oblasti, která je hostitelem databáze.
  • Každý server může mít až 128 položek seznamu řízení přístupu (ACL) pro libovolnou virtuální síť.
  • Pravidla virtuální sítě platí jenom pro Azure Resource Manager virtuální sítě a ne pro sítě modelu nasazení Classic .
  • zapnutím koncových bodů služby virtuální sítě SQL Database také umožní koncovým bodům Azure Database for MySQL a Azure Database for PostgreSQL. U koncových bodů nastavených na hodnotu on se pokusy o připojení z koncových bodů k vašemu Azure Database for MySQL nebo Azure Database for PostgreSQL instance mohou selhat.
    • Základním důvodem je to, že Azure Database for MySQL a Azure Database for PostgreSQL pravděpodobně nemají nakonfigurováno pravidlo virtuální sítě. Je nutné nakonfigurovat pravidlo virtuální sítě pro Azure Database for MySQL a Azure Database for PostgreSQL a připojení bude úspěšné.
    • pokud chcete definovat pravidla brány firewall virtuální sítě na SQL logický server, který je už nakonfigurovaný pomocí privátních koncových bodů, nastavte odepřít přístup k veřejné síti na ne.
  • V bráně firewall se rozsahy IP adres vztahují na následující síťové položky, ale pravidla virtuální sítě ne:

Pokyny k použití koncových bodů služby

pokud používáte koncové body služby pro SQL Database, přečtěte si následující skutečnosti:

  • pro Azure SQL Database veřejné ip adresy se vyžaduje odchozí ip adresa. aby bylo možné SQL Database ip adresy, je nutné otevřít skupiny zabezpečení sítě (skupin zabezpečení sítě), aby bylo možné připojení. To můžete provést pomocí značek služby NSG pro SQL Database.

ExpressRoute

Pokud používáte ExpressRoute z vašich místních partnerských vztahů nebo partnerských vztahů Microsoftu, budete muset určit IP adresy NAT, které se používají. Ve veřejných partnerských vztazích každý okruh ExpressRoute automaticky využívá dvě IP adresy pro překlad adres (NAT), které se používají k provozu služeb Azure při vstupu do páteřní sítě Microsoft Azure. U partnerského vztahu Microsoftu se používají IP adresy NAT, které poskytuje zákazník nebo poskytovatel služeb. Pokud chcete povolit přístup k prostředkům služby, musíte tyto veřejné IP adresy povolit v nastavení IP adresy brány firewall prostředku. Pokud chcete zjistit IP adresy veřejného partnerského okruhu ExpressRoute, otevřete lístek podpory pro ExpressRoute na webu Azure Portal. Další informace o překladu adres (NAT) pro veřejné partnerské vztahy ExpressRoute a Microsoftu najdete v tématu požadavky na překlad adres (NAT) pro veřejný partnerský vztah Azure.

aby bylo možné SQL Database komunikaci z okruhu, musíte vytvořit pravidla sítě ip pro veřejné ip adresy vašeho překladu adres (NAT).

Dopad použití koncových bodů služby virtuální sítě s 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 se rozhodnete tuto funkci použít s účtem Azure Storage, který SQL Database používá, můžete spustit problémy. dál je seznam a diskuze nad SQL Database a funkcemi analýzy Azure Synapse, které jsou ovlivněné.

Základ a příkaz COPY služby Azure synapse Analytics

základ a příkaz COPY se běžně používají k načítání dat do služby Azure Synapse Analytics z účtů Azure Storage pro příjem dat s vysokou propustností. pokud účet Azure Storage, který načítáte data z omezení, přistupuje pouze k sadě podsítí virtuální sítě, připojení při použití základny a příkazu kopírovat pro účet úložiště se přeruší. pokud chcete povolit scénáře importu a exportu pomocí kopírovacího a základu služby Azure Synapse Analytics, která se připojuje k Azure Storage zabezpečené k virtuální síti, postupujte podle kroků v této části.

Požadavky

  • pomocí této příručkynainstalujte Azure PowerShell.
  • pokud máte účet pro obecné účely v1 nebo Azure Blob Storage, musíte nejdřív upgradovat na obecné účely v2 podle kroků v části upgrade na účet úložiště pro obecné účely verze 2.
  • abyste měli přístup k tomuto účtu úložiště zapnutý v nabídce Azure Storage brány firewall a nastavení virtuálních sítí , musíte povolit důvěryhodné služby Microsoft. Povolením této konfigurace umožníte, aby se příkaz Base a COPY připojil k účtu úložiště pomocí silného ověřování, kde síťový provoz zůstane v páteřní síti Azure. Další informace najdete v této příručce.

Důležité

modul PowerShell Azure Resource Manager je stále podporován SQL Database, ale všechny budoucí vývojové prostředí jsou pro modul Az. SQL. V modulu AzureRM bude i nadále docházet k opravám chyb až do prosince 2020. Argumenty pro příkazy v modulech AZ a v modulech AzureRm jsou v podstatě identické. další informace o kompatibilitě najdete v tématu představení nového Azure PowerShell Az module.

Postup

  1. pokud máte samostatný vyhrazený fond SQL, zaregistrujte SQL server pomocí Azure AD pomocí prostředí PowerShell:

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

    tento krok není nutný pro vyhrazené fondy SQL v pracovním prostoru Azure Synapse Analytics.

  2. Pokud máte pracovní prostor analýzy Azure synapse, zaregistrujte identitu spravovanou systémem v pracovním prostoru:

    1. V Azure Portal přejdete do pracovního prostoru Azure synapse Analytics.
    2. Přejít do podokna spravované identity .
    3. ujistěte se, že je povolená možnost povolit Pipelines .
  3. pomocí postupu v části vytvoření účtu úložištěvytvořte účet pro obecné účely v2 Storage .

    Poznámka

  4. V rámci svého účtu úložiště, přejít na Access Control (IAM) a vyberte Přidat přiřazení role. přiřaďte roli azure Storage Data Blob přispěvatele k serveru nebo pracovnímu prostoru, který je hostitelem vyhrazeného fondu SQL, který jste zaregistrovali ve službě Azure AD.

    Poznámka

    Tento krok můžou provést jenom členové s oprávněním vlastníka v účtu úložiště. Informace o různých předdefinovaných rolích Azure najdete v tématu předdefinované role Azure.

  5. pokud chcete povolit připojení k účtu Azure Storage jako základní:

    1. Pokud jste ještě nevytvořili hlavní klíč databáze, vytvořte ho.

      CREATE MASTER KEY [ENCRYPTION BY PASSWORD = 'somepassword'];
      
    2. Vytvořte pověření v oboru databáze s identitou = ' identita spravované služby '.

      CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';
      

      Poznámka

      • Není nutné zazadat SECRET s Azure Storage přístupový klíč, protože tento mechanismus nakrytě používá spravovanou identitu.
      • Aby funkce připojení PolyBase fungovala s účtem Azure Storage k virtuální síti, měla by být identita spravovaná identita.
    3. Vytvořte externí zdroj dat se schématem pro připojení k účtu úložiště pro obecné účely abfss:// verze 2 pomocí PolyBase.

      CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);
      

      Poznámka

      • Pokud už máte externí tabulky přidružené k účtu pro obecné účely v1 nebo blob Storage, měli byste tyto externí tabulky nejprve vypustit. Pak odpovídající externí zdroj dat vytáhněte. Dále vytvořte externí zdroj dat se schématem, které se připojuje k účtu úložiště pro obecné účely abfss:// v2, jak je znázorněno výše. Pak znovu vytvořte všechny externí tabulky pomocí tohoto nového externího zdroje dat. Ke snadnému generování skriptů pro všechny externí tabulky můžete použít Průvodce generováním a publikováním skriptů.
      • Další informace o schématu abfss:// najdete v tématu Použití identifikátoru URI Azure Data Lake Storage Gen2.
      • Další informace o vytvoření EXTERNÍHO ZDROJE DAT najdete v tomto průvodci.
    4. Dotazování jako obvykle pomocí externích tabulek

SQL Database auditování objektů blob

Auditování SQL azure může zapisovat SQL auditu do vlastního účtu úložiště. Pokud tento účet úložiště používá funkci koncových bodů služby pro virtuální síť, podívejte se, jak zapsat audit do účtu úložiště za virtuální sítí a bránou firewall.

Přidání pravidla brány firewall virtuální sítě na server

Před tím, než byla tato funkce vylepšena, jste před implementování pravidla živé virtuální sítě v bráně firewall měli zapnout koncové body služby pro virtuální síť. Koncové body související danou podsíť virtuální sítě s databází v SQL Database. Od ledna 2018 můžete tento požadavek obejít nastavením příznaku IgnoreMissingVNetServiceEndpoint. Teď můžete na server přidat pravidlo brány firewall virtuální sítě bez zapnutí koncových bodů služby pro virtuální síť.

Pouhé nastavení pravidla brány firewall nepomůže zabezpečit server. Aby se zabezpečení projeví, musíte také zapnout koncové body služby pro virtuální síť. Když zapnete koncové body služby, dojde k výpadku podsítě virtuální sítě, dokud nedokončil přechod z vypnuté na zapnuto. Toto období výpadku platí zejména v kontextu velkých virtuálních sítí. Příznak IgnoreMissingVNetServiceEndpoint můžete použít ke snížení nebo eliminaci výpadků během přechodu.

Příznak IgnoreMissingVNetServiceEndpoint můžete nastavit pomocí PowerShellu. Další informace najdete v tématu PowerShell pro vytvoření koncového bodu služby provirtuální síť a pravidla pro SQL Database .

Chyby 40914 a 40615

Chyba připojení 40914 se vztahuje k pravidlům virtuální sítě , jak je uvedeno v podokně Brána firewall v Azure Portal. Chyba 40615 je podobná, ale souvisí s pravidly IP adres v bráně firewall.

Chyba 40914

Text zprávy: Server [název_serveru] požadovaný pro přihlášení nelze otevřít. Klient nemá povolený přístup k serveru."

Popis chyby: Klient je v podsíti, která má koncové body serveru virtuální sítě. Server ale nemá žádné pravidlo virtuální sítě, které podsíti uděluje právo komunikovat s databází.

Řešení chyb: V podokně Brána firewall Azure Portal pomocí ovládacího prvku pravidla virtuální sítě přidejte pravidlo virtuální sítě pro podsíť.

Chyba 40615

Text zprávy: Server požadovaný pro přihlášení nelze {0} otevřít. Klient s IP adresou {1} nemá povolený přístup k serveru.

Popis chyby: Klient se pokouší připojit z IP adresy, která nemá oprávnění pro připojení k serveru. Brána firewall serveru nemá žádné pravidlo IP adres, které klientovi umožňuje komunikovat z dané IP adresy do databáze.

Řešení chyb: Jako pravidlo IP adresy zadejte IP adresu klienta. Pomocí podokna Brána firewall v Azure Portal tento krok proveďte.

Vytvoření pravidla virtuální sítě pomocí portálu

Tato část ukazuje, jak můžete pomocí Azure Portal vytvořit pravidlo virtuální sítě v databázi v SQL Database. Pravidlo říká vaší databázi, aby přijímčila komunikaci z konkrétní podsítě, která je označená jako koncový bod služby pro virtuální síť.

Poznámka

Pokud chcete přidat koncový bod služby do pravidel brány firewall virtuální sítě vašeho serveru, nejprve se ujistěte, že jsou pro podsíť zapnuté koncové body služby.

Pokud pro podsíť nejsou koncové body služby zapnuté, portál vás vyzve k jejich povolení. Ve stejném podokně, do kterého pravidlo přidáte, vyberte tlačítko Povolit.

Alternativa PowerShellu

Skript může také vytvořit pravidla virtuální sítě pomocí rutiny PowerShellu New-AzSqlServerVirtualNetworkRule nebo az network vnet create. Pokud vás to zajímá, informace o vytvoření koncovéhobodu služby pro virtuální síť a pravidla pro službu najdete v tématu SQL Database .

REST API alternativa

Rutiny PowerShellu pro akce SQL síti interně volají rozhraní REST API. Rozhraní REST API můžete volat přímo.

Požadavky

Musíte už mít podsíť, která je označená konkrétním názvem koncového bodu služby pro virtuální síť, který je relevantní SQL Database.

  • Relevantní název typu koncového bodu je Microsoft.Sql.
  • Pokud vaše podsíť nemusí být označená názvem typu, podívejte se na stránku Ověření, že je podsíť koncovým bodem.

Azure Portal kroky

  1. Přihlaste se na Azure Portal.

  2. Vyhledejte a vyberte SQL servery a pak vyberte váš server. V části Zabezpečení vyberte Brány firewall a virtuální sítě.

  3. Nastavte Povolit přístup ke službám Azure na VYPNUTO.

    Důležité

    Pokud ovládací prvek necháte nastavený na HODNOTU ON (ON), server přijme komunikaci z jakékoli podsítě uvnitř hranice Azure. To je komunikace, která pochází z jedné z IP adres, které se rozpoznaly jako ip adresy v rámci rozsahů definovaných pro datacentra Azure. Ponechání ovládacího prvku nastaveného na hodnotu ON může být nadměrný přístup z hlediska zabezpečení. Funkce Microsoft Azure Virtual Network koncového bodu služby v koordinaci s funkcí pravidel virtuální sítě ve SQL Database může omezit vaši oblast zabezpečení.

  4. V části Virtuální sítě vyberte + Přidat existující.

    Snímek obrazovky znázorňuje výběr možnosti + Přidat existující (koncový bod podsítě jako SQL pravidlo)

  5. V novém podokně Vytvořit/aktualizovat vyplňte do polí názvy vašich prostředků Azure.

    Tip

    Musíte zahrnout správnou předponu adresy pro vaši podsíť. Hodnotu Předpona adresy najdete na portálu. Přejděte na Všechny prostředky Všechny typy > Virtuální > sítě. Filtr zobrazí vaše virtuální sítě. Vyberte virtuální síť a pak vyberte Podsítě. Sloupec ROZSAH ADRES má předponu adresy, kterou potřebujete.

    Snímek obrazovky znázorňuje vyplnění polí pro nové pravidlo

  6. Vyberte tlačítko OK v dolní části podokna.

  7. Podívejte se na výsledné pravidlo virtuální sítě v podokně Brána firewall.

    Snímek obrazovky znázorňuje nové pravidlo v podokně Brána firewall

Poznámka

Na pravidla se vztahují následující stavy nebo stavy:

  • Připraveno: Označuje, že operace, kterou jste zahájili, byla úspěšná.
  • Nezdařilo se: Označuje, že operace, kterou jste zahájili, selhala.
  • Odstraněno: Vztahuje se pouze na operaci Odstranění a značí, že pravidlo bylo odstraněno a už se ne vztahuje.
  • InProgress: Označuje, že operace probíhá. Staré pravidlo platí, když je operace v tomto stavu.

Další kroky