Azure Private Link pro službu Azure SQL Database a Azure Synapse Analytics

Platí pro:Azure SQL DatabaseAzure Synapse Analytics (pouze vyhrazené fondy SQL)

Private Link umožňuje připojení k různým službám PaaS v Azure prostřednictvím privátního koncového bodu. Seznam služeb PaaS, které podporují funkce Služby Private Link, najdete na stránce Dokumentace služby Private Link. Privátní koncový bod je privátní IP adresa v rámci konkrétní virtuální sítě a podsítě.

Důležité

Tento článek se týká služby Azure SQL Database i vyhrazeného fondu SQL (dříve SQL DW) ve službě Azure Synapse Analytics. Tato nastavení platí pro všechny databáze SQL Database a vyhrazené databáze SQL (dříve SQL DW) přidružené k serveru. Pro zjednodušení termín "databáze" odkazuje na obě databáze ve službě Azure SQL Database a Azure Synapse Analytics. Stejně tak všechny odkazy na "server" odkazují na logický server , který hostuje Azure SQL Database a vyhrazený fond SQL (dříve SQL DW) ve službě Azure Synapse Analytics. Tento článek se nevztahuje na službu Azure SQL Managed Instance ani vyhrazené fondy SQL v pracovních prostorech Azure Synapse Analytics.

Proces vytváření

Privátní koncové body je možné vytvořit pomocí webu Azure Portal, PowerShellu nebo Azure CLI:

Proces schválení

Jakmile správce sítě vytvoří privátní koncový bod (PE), může správce SQL spravovat privátní koncový bod Připojení ion (PEC) do služby SQL Database.

  1. Na webu Azure Portal přejděte k prostředku serveru.

  2. Přejděte na stránku schválení privátního koncového bodu:

    • V Azure SQL Database v části Zabezpečení v nabídce prostředků vyberte Sítě. Vyberte kartu Soukromý přístup.
    • V pracovním prostoru Synapse v části Zabezpečení v nabídce prostředků vyberte připojení privátního koncového bodu.
  3. Na stránce je znázorněno následující:

    • Seznam všech Připojení privátních koncových bodů (PEC)
    • Vytvořené privátní koncové body (PE)

    Snímek obrazovky, který ukazuje, jak najít seznam připojení privátního koncového bodu pro prostředek serveru

  4. Pokud neexistují žádné privátní koncové body, vytvořte ho pomocí tlačítka Vytvořit privátní koncový bod . V opačném případě vyberte jednotlivou pec ze seznamu.

    Snímek obrazovky znázorňující výběr připojení privátního koncového bodu na webu Azure Portal

  5. Správce SQL se může rozhodnout schválit nebo odmítnout PEC a volitelně přidat krátkou textovou odpověď.

    Snímek obrazovky, který ukazuje, jak schválit PEC na webu Azure Portal

  6. Po schválení nebo zamítnutí se v seznamu zobrazí odpovídající stav spolu s textem odpovědi.

    Snímek obrazovky znázorňující PEC ve schváleném stavu po schválení správcem

  7. Nakonec vyberte název privátního koncového bodu.

    Snímek obrazovky s podrobnostmi o peci s názvem koncového bodu

    Tím přejdete na stránku přehledu privátního koncového bodu . Výběrem odkazu Síťová rozhraní získáte podrobnosti o síťovém rozhraní pro připojení privátního koncového bodu.

    Snímek obrazovky znázorňující podrobnosti síťové karty pro připojení privátního koncového bodu

    Na stránce Síťové rozhraní se zobrazuje privátní IP adresa pro připojení privátního koncového bodu.

    Snímek obrazovky znázorňující privátní IP adresu pro připojení privátního koncového bodu

Důležité

Když přidáte připojení privátního koncového bodu, veřejné směrování na logický server není ve výchozím nastavení blokované. V podokně Brána firewall a virtuální sítě není ve výchozím nastavení vybraná možnost Odepřít přístup k veřejné síti. Pokud chcete zakázat přístup k veřejné síti, ujistěte se, že jste vybrali Odepřít přístup k veřejné síti.

Zakázání veřejného přístupu k logickému serveru

Na logickém sql serveru Azure SQL Database předpokládejme, že chcete zakázat veškerý veřejný přístup k logickému serveru a povolit připojení jenom z vaší virtuální sítě.

Nejprve se ujistěte, že jsou povolená a nakonfigurovaná připojení privátního koncového bodu. Potom zakažte veřejný přístup k logickému serveru:

  1. Přejděte na stránku Sítě vašeho logického serveru.

  2. Zaškrtněte políčko Odepřít přístup k veřejné síti.

    Snímek obrazovky, který ukazuje, jak zakázat přístup k veřejné síti pro připojení privátního koncového bodu

Testování připojení ke službě SQL Database z virtuálního počítače Azure ve stejné virtuální síti

V tomto scénáři předpokládejme, že jste vytvořili virtuální počítač Azure s nejnovější verzí Windows ve stejné virtuální síti jako privátní koncový bod.

  1. Spusťte relaci vzdálené plochy (RDP) a připojte se k virtuálnímu počítači.

  2. Pak můžete provést několik základních kontrol připojení, abyste zajistili, že se virtuální počítač připojuje ke službě SQL Database přes privátní koncový bod pomocí následujících nástrojů:

Kontrola připojení pomocí telnetu

Klient Telnet je funkce systému Windows, která se dá použít k testování připojení. V závislosti na verzi operačního systému Windows možná budete muset tuto funkci explicitně povolit.

Po instalaci telnetu otevřete okno příkazového řádku. Spusťte příkaz Telnet a zadejte IP adresu a privátní koncový bod databáze ve službě SQL Database.

telnet 10.9.0.4 1433

Když se telnet úspěšně připojí, v příkazovém okně vypíše prázdnou obrazovku, jak je znázorněno na následujícím obrázku:

Diagram okna Telnet s prázdnou obrazovkou

Pomocí příkazu PowerShellu zkontrolujte možnosti připojení:

Test-NetConnection -computer myserver.database.windows.net -port 1433

Kontrola Připojení ivity pomocí nástroje PsPing

Nástroj PsPing se dá použít následujícím způsobem ke kontrole, jestli privátní koncový bod naslouchá připojením na portu 1433.

Spusťte PsPing následujícím způsobem zadáním plně kvalifikovaného názvu domény pro logický SQL server a port 1433:

PsPing.exe mysqldbsrvr.database.windows.net:1433

Toto je příklad očekávaného výstupu:

TCP connect to 10.9.0.4:1433:
5 iterations (warmup 1) ping test:
Connecting to 10.9.0.4:1433 (warmup): from 10.6.0.4:49953: 2.83ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49954: 1.26ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49955: 1.98ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49956: 1.43ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49958: 2.28ms

Výstup ukazuje, že Nástroj PsPing může otestovat privátní IP adresu přidruženou k privátnímu koncovému bodu příkazem ping.

Kontrola připojení pomocí Nmap

Nmap (Network Mapper) je bezplatný opensourcový nástroj používaný ke zjišťování sítě a auditování zabezpečení. Další informace a odkaz ke stažení naleznete na stránce https://Nmap.org. Pomocí tohoto nástroje můžete zajistit, aby privátní koncový bod naslouchal připojení na portu 1433.

Následujícím způsobem spusťte Nmap zadáním rozsahu adres podsítě, která je hostitelem privátního koncového bodu.

Nmap -n -sP 10.9.0.0/24

Toto je příklad očekávaného výstupu:

Nmap scan report for 10.9.0.4
Host is up (0.00s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 207.00 seconds

Výsledek ukazuje, že jedna IP adresa je vzhůru; který odpovídá IP adrese privátního koncového bodu.

Kontrola připojení pomocí aplikace SQL Server Management Studio (SSMS)

Poznámka:

Pro klienty<server>.database.windows.net (připojovací řetězec) použijte plně kvalifikovaný název domény (FQDN) serveru. Všechny pokusy o přihlášení provedené přímo na IP adrese nebo použití plně kvalifikovaného názvu<server>.privatelink.database.windows.net domény privátního propojení selžou. Toto chování je záměrně nastavené, protože privátní koncový bod směruje provoz do služby SQL Gateway v dané oblasti a je potřeba zadat správný plně kvalifikovaný název domény, aby bylo možné úspěšně přihlásit.

Pokud se chcete připojit ke službě SQL Database, postupujte podle kroků uvedených tady. Po připojení ke službě SQL Database pomocí SSMS se zobrazí následující dotaz client_net_address, který odpovídá privátní IP adrese virtuálního počítače Azure, ze kterého se připojujete:

SELECT client_net_address
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

Použití zásad přesměrování připojení s privátními koncovými body

Doporučujeme, aby zákazníci používali privátní propojení se zásadami přesměrování připojení, aby se snížila latence a zlepšila propustnost. Aby klienti mohli používat tento režim, musí splnit následující požadavky:

  • Povolte příchozí komunikaci s virtuální sítí hostující privátní koncový bod do rozsahu portů 1433 až 65535.

  • Povolte odchozí komunikaci z virtuální sítě hostujícího klienta do rozsahu portů 1433 až 65535.

  • Použijte nejnovější verzi ovladačů, které mají integrovanou podporu přesměrování. Podpora přesměrování je součástí ovladačů ODBC, OLEDB, NET SqlClient Zprostředkovatel dat, Core .NET SqlClient Zprostředkovatel dat a JDBC (verze 9.4 nebo novější). Připojení pocházející ze všech ostatních ovladačů jsou proxy.

Po splnění požadavků musí klienti zvolit zásady přesměrování připojení.

Pokud není možné upravit nastavení brány firewall tak, aby umožňovala odchozí přístup v rozsahu portů 1433–65535, je alternativním řešením změnit zásady připojení na Proxy.

Stávající privátní koncové body, které používají výchozí zásady připojení, se předají, tj. budou používat zásady připojení proxy serveru s portem 1433. Důvodem je vyhnout se přerušení provozu klienta z důvodu nedosažení do služby Sql Database kvůli tomu, že se neotevřou požadované rozsahy portů pro přesměrování.

Místní připojení přes privátní partnerský vztah

Když se zákazníci připojí k veřejnému koncovému bodu z místních počítačů, musí se jejich IP adresa přidat do brány firewall založené na PROTOKOLU IP pomocí pravidla brány firewall na úrovni serveru. I když tento model funguje dobře pro povolení přístupu k jednotlivým počítačům pro vývojové nebo testovací úlohy, je obtížné je spravovat v produkčním prostředí.

Se službou Private Link můžou zákazníci povolit přístup mezi místy k privátnímu koncovému bodu pomocí ExpressRoute, privátního partnerského vztahu nebo tunelování VPN. Zákazníci pak můžou zakázat veškerý přístup přes veřejný koncový bod a nepoužívat bránu firewall založenou na PROTOKOLU IP k povolení jakýchkoli IP adres.

Klienti se můžou připojit k privátnímu koncovému bodu ze stejné virtuální sítě, partnerské virtuální sítě ve stejné oblasti nebo prostřednictvím virtuální sítě k připojení k virtuální síti napříč oblastmi. Klienti se navíc můžou připojit z místního prostředí pomocí ExpressRoute, privátního partnerského vztahu nebo tunelového propojení VPN. Následující zjednodušený diagram znázorňuje běžné případy použití.

Diagram možnosti připojení

Kromě toho služby, které nejsou spuštěné přímo ve virtuální síti, ale jsou s ní integrované (například webové aplikace služby App Service nebo Funkce), můžou také dosáhnout privátního připojení k databázi. Další informace o tomto konkrétním případu použití najdete ve webové aplikaci se scénářem privátního připojení k architektuře databáze Azure SQL.

Připojení z virtuálního počítače Azure v partnerské virtuální síti

Nakonfigurujte partnerský vztah virtuálních sítí tak, aby navazoval připojení ke službě SQL Database z virtuálního počítače Azure v partnerské virtuální síti.

Připojení z virtuálního počítače Azure ve virtuální síti do prostředí virtuální sítě

Nakonfigurujte připojení brány VPN k virtuální síti pro navázání připojení k databázi ve službě SQL Database z virtuálního počítače Azure v jiné oblasti nebo předplatném.

Připojení z místního prostředí přes SÍŤ VPN

Pokud chcete navázat připojení z místního prostředí k databázi ve službě SQL Database, zvolte a implementujte jednu z těchto možností:

Zvažte scénáře konfigurace DNS i plně kvalifikovaný název domény služby, který dokáže přeložit na veřejnou IP adresu.

Připojení z Azure Synapse Analytics do azure Storage pomocí PolyBase a příkazu COPY

PolyBase a příkaz COPY se běžně používají k načtení dat do Azure Synapse Analytics z účtů Azure Storage. Pokud účet služby Azure Storage, ze kterého načítáte data, omezuje přístup pouze na sadu podsítí virtuální sítě prostřednictvím privátních koncových bodů, koncových bodů služby nebo bran firewall založených na PROTOKOLU IP, připojení z PolyBase a příkazu COPY k účtu se přeruší. Pokud chcete povolit scénáře importu a exportu pomocí Azure Synapse Analytics, které se připojují ke službě Azure Storage, která je zabezpečená k virtuální síti, postupujte podle zde uvedených kroků.

Prevence exfiltrace dat

Exfiltrace dat ve službě Azure SQL Database je, když uživatel, například správce databáze, dokáže extrahovat data z jednoho systému a přesunout je do jiného umístění nebo systému mimo organizaci. Uživatel například přesune data do účtu úložiště vlastněného třetí stranou.

Představte si scénář s uživatelem se systémem SQL Server Management Studio (SSMS) uvnitř virtuálního počítače Azure, který se připojuje k databázi ve službě SQL Database. Tato databáze je v datacentru USA – západ. Následující příklad ukazuje, jak omezit přístup s veřejnými koncovými body ve službě SQL Database pomocí řízení přístupu k síti.

  1. Zakažte veškerý provoz služby Azure do služby SQL Database prostřednictvím veřejného koncového bodu nastavením Povolit službám Azure vypnuto. Ujistěte se, že v pravidlech brány firewall na úrovni serveru a databáze nejsou povolené žádné IP adresy. Další informace najdete v tématu Azure SQL Database a řízení přístupu k síti Azure Synapse Analytics.
  2. Povolte provoz pouze do databáze v SQL Database pomocí privátní IP adresy virtuálního počítače. Další informace najdete v článcích o koncovém bodu služby a pravidlech brány firewall virtuální sítě.
  3. Na virtuálním počítači Azure zpřesníte rozsah odchozího připojení pomocí skupin zabezpečení sítě (NSG) a značek služeb následujícím způsobem.
    • Zadejte pravidlo NSG, které povolí provoz pro značku služby = SQL. Usa – západ – povoluje připojení ke službě SQL Database pouze v oblasti USA – západ.
    • Zadejte pravidlo NSG (s vyšší prioritou) pro odepření provozu pro značku služby = SQL – odepření připojení ke službě SQL Database ve všech oblastech.

Na konci tohoto nastavení se virtuální počítač Azure může připojit pouze k databázi ve službě SQL Database v oblasti USA – západ. Připojení ale není omezené na jednu databázi ve službě SQL Database. Virtuální počítač se stále může připojit k jakékoli databázi v oblasti USA – západ, včetně databází, které nejsou součástí předplatného. I když jsme omezili rozsah exfiltrace dat ve výše uvedeném scénáři na konkrétní oblast, úplně jsme ho neodstranili.

Díky službě Private Link teď můžou zákazníci nastavit řízení přístupu k síti, jako jsou skupiny zabezpečení sítě, aby omezili přístup k privátnímu koncovému bodu. Jednotlivé prostředky Azure PaaS se pak mapují na konkrétní privátní koncové body. Člen programu Insider se zlými úmysly má přístup pouze k mapovanému prostředku PaaS (například k databázi ve službě SQL Database) a k žádnému jinému prostředku.