Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:Azure SQL Database
Azure Synapse Analytics (endast dedikerade SQL-pooler)
Med Azure 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 både för Azure SQL Database och 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.
Så här konfigurerar du Private Link
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 den privata slutpunktsanslutningen (PEC) till SQL Database.
Gå till serverresursen i Azure-portalen.
Gå till sidan för godkännande av privat slutpunkt:
- I SQL Server-resursen går du till Säkerhet och väljer Nätverk. Välj fliken Privat åtkomst .
- I Synapse-arbetsytan går du till Säkerhet på resursmenyn och väljer Privata slutpunktsanslutningar.
Sidan visar följande:
- En lista över alla privata slutpunktsanslutningar (PECs)
- Privata slutpunkter (PE) har skapats
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 markera den.
SQL-administratören kan välja att godkänna eller avvisa en PEC och eventuellt lägga till ett kort textsvar.
Efter godkännande eller avvisande återspeglar listan lämpligt tillstånd tillsammans med svarstexten.
Välj slutligen namnet på den privata slutpunkten
Detta tar dig till privata slutpunktens översiktssida. Välj länken Nätverksgränssnitt för att hämta information om nätverksgränssnittet för den privata slutpunktsanslutningen.
Sidan Nätverksgränssnitt visar den privata IP-adressen för den privata slutpunktsanslutningen.
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
Anta att du vill inaktivera all offentlig åtkomst till den logiska servern och endast tillåta anslutningar från det virtuella nätverket i azure SQL Database logisk SQL-server.
Kontrollera först att dina privata slutpunktsanslutningar är aktiverade och konfigurerade. Inaktivera sedan offentlig åtkomst till den logiska servern:
Gå till sidan Nätverk på den logiska servern.
Markera kryssrutan Neka åtkomst till offentligt nätverk .
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.
Starta en RDP-session (Remote Desktop) och anslut till den virtuella datorn.
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:
Använd PowerShell-kommandot för att kontrollera anslutningen:
Test-NetConnection -computer myserver.database.windows.net -port 1433
Kontrollera anslutningen 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)
Anmärkning
Använd serverns fullständigt kvalificerade domännamn (FQDN) i anslutningssträngar 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änd principen för omdirigeringsanslutningar 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 krav:
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, OLE DB, .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 förutsättningen måste klienterna uttryckligen välja Omdirigeringsanslutningsprincip. Om anslutningsprincipen har ställts in på Omdirigering innan den privata slutpunkten konfigurerades kan du behöva växla anslutningsprincipen när du har konfigurerat den privata slutpunkten.
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 med standardanslutningsprincipen använder proxyanslutningsprincipen med port 1433. Anledningen till detta är att undvika avbrott i klienttrafiken från att nå SQL Database på grund av att nödvändiga portintervall för omdirigering inte är öppna.
Anmärkning
För dedikerade SQL-pooler är anslutningsprincipen när du använder privata slutpunkter alltid Proxy. Om du ändrar inställningen påverkas inte dedikerade SQL-pooler när du använder privata slutpunkter.
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 undvika att använda den IP-baserade brandväggen för att tillåta några ip-adresser.
Användningsfall för Private Link för Azure SQL Database
Klienter kan ansluta till den privata slutpunkten från samma virtuella nätverk, sammanlänkade virtuella nätverk i samma region eller via virtuellt nätverk till nätverksanslutningar mellan regioner. Dessutom kan klienter ansluta lokalt med ExpressRoute, privat peering eller VPN-tunneltrafik. Följande förenklade diagram visar vanliga användningsfall.
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 .
Ansluta 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.
Ansluta från en virtuell Azure-dator i ett virtuellt nätverk till en virtuell nätverksmiljö
Konfigurera virtuell nätverks-till-nätverks VPN-gatewayanslutning för att etablera anslutning till en databas i SQL Database från en virtuell Azure-maskin i en annan region eller prenumeration.
Ansluta 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 lösas till den offentliga IP-adressen.
Ansluta 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 det Azure Storage-konto 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, kommer anslutningen från PolyBase och COPY-instruktionen till kontot att brytas. 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 icke-Microsoft-entitet.
Ö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 i västra USA. I följande exempel visas hur du begränsar åtkomsten med offentliga slutpunkter i SQL Database med hjälp av nätverksåtkomstkontroller.
- 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.
- 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.
- 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.