Azure Private Link för Azure SQL Database och Azure Synapse Analytics

Gäller för:Azure SQL DatabaseAzure Synapse Analytics (endast dedikerade SQL-pooler)

Med Private Link kan du ansluta till olika PaaS-tjänster i Azure via en privat slutpunkt. En lista över PaaS-tjänster som stöder Private Link-funktioner finns på sidan Private Link-dokumentation . En privat slutpunkt är en privat IP-adress i ett specifikt VNet och undernät.

Viktigt!

Den här artikeln gäller för både Azure SQL Database och en dedikerad SQL-pool (tidigare SQL DW) i Azure Synapse Analytics. De här inställningarna gäller för alla SQL Database- och dedikerade SQL-pooldatabaser (tidigare SQL DW) som är associerade med servern. För enkelhetens skull refererar termen "databas" till båda databaserna i Azure SQL Database och Azure Synapse Analytics. På samma sätt refererar alla referenser till "server" till den logiska server som är värd för Azure SQL Database och en dedikerad SQL-pool (tidigare SQL DW) i Azure Synapse Analytics. Den här artikeln gäller inte för Azure SQL Managed Instance eller dedikerade SQL-pooler i Azure Synapse Analytics-arbetsytor.

Skapandeprocess

Privata slutpunkter kan skapas med hjälp av Azure-portalen, PowerShell eller Azure CLI:

Godkännandeprocess

När nätverksadministratören har skapat den privata slutpunkten (PE) kan SQL-administratören hantera PEC (Private Endpoint Anslut ion) till SQL Database.

  1. Gå till serverresursen i Azure-portalen.

  2. Välj Nätverk i den vänstra rutan.

  3. Välj fliken Privat åtkomst . Sidan visar följande:

    • En lista över alla privata slutpunkts-Anslut ioner (PECs)
    • Privata slutpunkter (PE) har skapats

    Screenshot that shows how to locate the list of private endpoint connections for the server resource.

  4. Om det inte finns några privata slutpunkter skapar du en med knappen Skapa en privat slutpunkt . Annars väljer du en enskild PEC i listan genom att välja den.

    Screenshot that shows how to select a private endpoint connection in the Azure portal.

  5. SQL-administratören kan välja att godkänna eller avvisa en PEC och eventuellt lägga till ett kort textsvar.

    Screenshot that shows how to approve a PEC in the Azure portal.

  6. Efter godkännande eller avvisande återspeglar listan lämpligt tillstånd tillsammans med svarstexten.

    Screenshot that shows the PEC in the Approved state after approval by the admin.

  7. Välj slutligen namnet på den privata slutpunkten

    Screenshot showing PEC details with the endpoint name.

    Detta tar dig till översiktssidan för privat slutpunkt . Välj länken Nätverksgränssnitt för att hämta information om nätverksgränssnittet för den privata slutpunktsanslutningen.

    Screenshot that shows the NIC details for the private endpoint connection.

    Sidan Nätverksgränssnitt visar den privata IP-adressen för den privata slutpunktsanslutningen.

    Screenshot that shows the Private IP address for the private endpoint connection.

Viktigt!

När du lägger till en privat slutpunktsanslutning blockeras inte offentlig routning till den logiska servern som standard. I fönstret Brandvägg och virtuella nätverk är inställningen Neka åtkomst till offentligt nätverk inte markerad som standard. Om du vill inaktivera åtkomst till offentligt nätverk kontrollerar du att du väljer Neka åtkomst till offentligt nätverk.

Inaktivera offentlig åtkomst till den logiska servern

I det här scenariot förutsätter du att du vill inaktivera all offentlig åtkomst till din logiska server och endast tillåta anslutningar från det virtuella nätverket.

Kontrollera först att dina privata slutpunktsanslutningar är aktiverade och konfigurerade. Inaktivera sedan offentlig åtkomst till den logiska servern:

  1. Gå till sidan Nätverkden logiska servern.

  2. Markera kryssrutan Neka åtkomst till offentligt nätverk.

    Screenshot that shows how to disable public network access for the private endpoint connection.

Testa anslutningen till SQL Database från en virtuell Azure-dator i samma virtuella nätverk

I det här scenariot antar vi att du har skapat en virtuell Azure-dator (VM) som kör en ny version av Windows i samma virtuella nätverk som den privata slutpunkten.

  1. Starta en RDP-session (Remote Desktop) och anslut till den virtuella datorn.

  2. Du kan sedan göra några grundläggande anslutningskontroller för att säkerställa att den virtuella datorn ansluter till SQL Database via den privata slutpunkten med hjälp av följande verktyg:

    • Telnet
    • PsPing
    • Nmap
    • SQL Server Management Studio (SSMS)

Kontrollera anslutningen med Telnet

Telnet-klienten är en Windows-funktion som kan användas för att testa anslutningen. Beroende på vilken version av Windows-operativsystemet du har kan du behöva aktivera den här funktionen explicit.

Öppna ett kommandotolksfönster när du har installerat Telnet. Kör Telnet-kommandot och ange IP-adressen och den privata slutpunkten för databasen i SQL Database.

telnet 10.9.0.4 1433

När Telnet ansluter visas en tom skärm i kommandofönstret, enligt följande bild:

Diagram of the Telnet window with blank screen.

Använd PowerShell-kommandot för att kontrollera anslutningen:

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

Kontrollera Anslut ivitet med psping

PsPing kan användas på följande sätt för att kontrollera att den privata slutpunkten lyssnar efter anslutningar på port 1433.

Kör PsPing på följande sätt genom att ange FQDN för logisk SQL-server och port 1433:

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

Det här är ett exempel på förväntade utdata:

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

Utdata visar att PsPing kan pinga den privata IP-adress som är associerad med den privata slutpunkten.

Kontrollera anslutningen med hjälp av Nmap

Nmap (Network Mapper) är ett kostnadsfritt verktyg med öppen källkod som används för nätverksidentifiering och säkerhetsgranskning. Mer information och nedladdningslänken finns i https://Nmap.org. Du kan använda det här verktyget för att säkerställa att den privata slutpunkten lyssnar efter anslutningar på port 1433.

Kör Nmap på följande sätt genom att ange adressintervallet för det undernät som är värd för den privata slutpunkten.

Nmap -n -sP 10.9.0.0/24

Det här är ett exempel på förväntade utdata:

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

Resultatet visar att en IP-adress har aktiverats. som motsvarar IP-adressen för den privata slutpunkten.

Kontrollera anslutningen med SQL Server Management Studio (SSMS)

Kommentar

Använd serverns fullständigt kvalificerade domännamn (FQDN) i anslutningssträng för dina klienter (<server>.database.windows.net). Alla inloggningsförsök som görs direkt till IP-adressen eller med hjälp av det privata länk-FQDN (<server>.privatelink.database.windows.net) ska misslyckas. Det här beteendet är avsiktligt eftersom privat slutpunkt dirigerar trafik till SQL Gateway i regionen och rätt FQDN måste anges för att inloggningarna ska lyckas.

Följ stegen här för att använda SSMS för att ansluta till SQL Database. När du har anslutit till SQL Database med hjälp av SSMS ska följande fråga återspegla client_net_address som matchar den privata IP-adressen för den virtuella Azure-dator som du ansluter från:

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

Använda omdirigeringsanslutningsprincip med privata slutpunkter

Vi rekommenderar att kunderna använder den privata länken med principen Omdirigeringsanslutning för kortare svarstid och förbättrat dataflöde. För att anslutningar ska kunna använda det här läget måste klienterna uppfylla följande förutsättningar:

  • Tillåt inkommande kommunikation till det virtuella nätverket som är värd för den privata slutpunkten till portintervallet 1433 till 65535.

  • Tillåt utgående kommunikation från det virtuella nätverket som är värd för klienten till portintervallet 1433 till 65535.

  • Använd den senaste versionen av drivrutiner som har inbyggd omdirigeringsstöd. Omdirigeringsstöd ingår i DRIVRUTINERna ODBC, OLEDB, NET SqlClient Data Provider, Core .NET SqlClient Data Provider och JDBC (version 9.4 eller senare). Anslutningar som kommer från alla andra drivrutiner där proxy används.

När du har uppfyllt kraven måste klienterna välja omdirigeringsanslutningsprincip.

Om det inte går att ändra brandväggsinställningarna för att tillåta utgående åtkomst i portintervallet 1433-65535 är en alternativ lösning att ändra anslutningsprincipen till Proxy.

Befintliga privata slutpunkter som använder standardanslutningsprincipen ska vara proportionella, dvs. de använder proxyanslutningsprincipen med port 1433. Anledningen till detta är att undvika avbrott i klientens trafik från att nå Sql Database på grund av att nödvändiga portintervall för omdirigering inte är öppna.

Lokal anslutning via privat peering

När kunder ansluter till den offentliga slutpunkten från lokala datorer måste deras IP-adress läggas till i den IP-baserade brandväggen med hjälp av en brandväggsregel på servernivå. Den här modellen fungerar bra för att ge åtkomst till enskilda datorer för utvecklings- eller testarbetsbelastningar, men det är svårt att hantera i en produktionsmiljö.

Med Private Link kan kunder aktivera åtkomst mellan platser till den privata slutpunkten med hjälp av ExpressRoute, privat peering eller VPN-tunneltrafik. Kunder kan sedan inaktivera all åtkomst via den offentliga slutpunkten och inte använda den IP-baserade brandväggen för att tillåta ip-adresser.

Klienter kan ansluta till den privata slutpunkten från samma virtuella nätverk, peer-kopplade virtuella nätverk i samma region eller via virtuellt nätverk till en virtuell nätverksanslutning mellan regioner. Dessutom kan klienter ansluta lokalt med ExpressRoute, privat peering eller VPN-tunneltrafik. Följande förenklade diagram visar vanliga användningsfall.

Diagram of connectivity option.

Dessutom kan tjänster som inte körs direkt i det virtuella nätverket men som är integrerade med det (till exempel App Service-webbappar eller Functions) också uppnå privat anslutning till databasen. Mer information om det här specifika användningsfallet finns i scenariot Webbapp med privat anslutning till Azure SQL-databasarkitektur .

Anslut från en virtuell Azure-dator i peer-kopplat virtuellt nätverk

Konfigurera peering för virtuella nätverk för att upprätta anslutning till SQL Database från en virtuell Azure-dator i ett peer-kopplat virtuellt nätverk.

Anslut från en virtuell Azure-dator i virtuellt nätverk till en virtuell nätverksmiljö

Konfigurera vpn-gatewayanslutning för virtuella nätverk till virtuella nätverk för att upprätta anslutning till en databas i SQL Database från en virtuell Azure-dator i en annan region eller prenumeration.

Anslut från en lokal miljö via VPN

Om du vill upprätta en anslutning från en lokal miljö till databasen i SQL Database väljer du och implementerar något av alternativen:

Överväg även DNS-konfigurationsscenarier , eftersom tjänstens fullständiga domännamn kan matchas mot den offentliga IP-adressen.

Anslut från Azure Synapse Analytics till Azure Storage med hjälp av PolyBase och COPY-instruktionen

PolyBase och COPY-instruktionen används ofta för att läsa in data till Azure Synapse Analytics från Azure Storage-konton. Om Azure Storage-kontot, som du läser in data från, begränsar åtkomsten endast till en uppsättning virtuella nätverksundernät via privata slutpunkter, tjänstslutpunkter eller IP-baserade brandväggar bryts anslutningen från PolyBase och COPY-instruktionen till kontot. Följ stegen nedan för att aktivera både import- och exportscenarier med Azure Synapse Analytics som ansluter till Azure Storage som är skyddat till ett virtuellt nätverk.

Dataexfiltreringsskydd

Dataexfiltrering i Azure SQL Database är när en användare, till exempel en databasadministratör, kan extrahera data från ett system och flytta dem till en annan plats eller ett annat system utanför organisationen. Användaren flyttar till exempel data till ett lagringskonto som ägs av en tredje part.

Överväg ett scenario med en användare som kör SQL Server Management Studio (SSMS) i en virtuell Azure-dator som ansluter till en databas i SQL Database. Den här databasen finns i datacentret för USA, västra. I följande exempel visas hur du begränsar åtkomsten med offentliga slutpunkter i SQL Database med hjälp av nätverksåtkomstkontroller.

  1. Inaktivera all Azure-tjänsttrafik till SQL Database via den offentliga slutpunkten genom att ange Tillåt Azure-tjänster till AV. Se till att inga IP-adresser tillåts i brandväggsreglerna på server- och databasnivå. Mer information finns i Nätverksåtkomstkontroller för Azure SQL Database och Azure Synapse Analytics.
  2. Tillåt endast trafik till databasen i SQL Database med hjälp av den virtuella datorns privata IP-adress. Mer information finns i artiklarna om brandväggsregler för tjänstslutpunkter och virtuella nätverk.
  3. På den virtuella Azure-datorn begränsar du omfattningen för utgående anslutning med hjälp av nätverkssäkerhetsgrupper (NSG:er) och tjänsttaggar enligt följande.
    • Ange en NSG-regel för att tillåta trafik för Service Tag = SQL. WestUs – tillåter endast anslutning till SQL Database i USA, västra.
    • Ange en NSG-regel (med högre prioritet) för att neka trafik för Service Tag = SQL – neka anslutningar till SQL Database i alla regioner.

I slutet av den här installationen kan den virtuella Azure-datorn endast ansluta till en databas i SQL Database i regionen USA, västra. Anslutningen är dock inte begränsad till en enda databas i SQL Database. Den virtuella datorn kan fortfarande ansluta till valfri databas i regionen USA, västra, inklusive de databaser som inte ingår i prenumerationen. Även om vi har minskat omfattningen för dataexfiltrering i scenariot ovan till en viss region har vi inte eliminerat den helt.

Med Private Link kan kunder nu konfigurera nätverksåtkomstkontroller som NSG:er för att begränsa åtkomsten till den privata slutpunkten. Enskilda Azure PaaS-resurser mappas sedan till specifika privata slutpunkter. En obehörig insider kan bara komma åt den mappade PaaS-resursen (till exempel en databas i SQL Database) och ingen annan resurs.