Azure Private Link voor Azure SQL Database en Azure Synapse Analytics

Van toepassing op: Azure SQL Database Azure Synapse Analytics (alleen toegewezen SQL-pool (voorheen SQL DW)

Met een Private Link kunt u via een privé-eindpunt verbinding maken met verschillende PaaS-services in Azure. Raadpleeg de pagina Documentatie over Private Link voor een lijst van PaaS-services die de Private Link-functionaliteit ondersteunen. Een privé-eindpunt is een privé-IP-adres binnen een specifiek VNet en subnet.

Belangrijk

Dit artikel is van toepassing op zowel Azure SQL Database als toegewezen SQL DW (voorheen SQL DW) in Azure Synapse Analytics. Deze instellingen zijn van toepassing op alle SQL Database en toegewezen SQL-pooldatabases (voorheen SQL DW) die aan de server zijn gekoppeld. Ter vereenvoudiging verwijst de term “database” naar beide databases in Azure SQL Database en Azure Synapse Analytics. Eventuele verwijzingen naar 'server' verwijzen ook naar de logische server die als host fungeert voor Azure SQL Database en toegewezen SQL-pool (voorheen SQL DW) in Azure Synapse Analytics. Dit artikel is niet van toepassing op Azure SQL Managed Instance of toegewezen SQL-pools in Azure Synapse Analytics-werkruimten.

Proces maken

Privé-eindpunten kunnen worden gemaakt met behulp van de Azure-portal, PowerShell of de Azure CLI:

Goedkeuringsproces

Zodra de netwerkbeheerder het privé-eindpunt (PE) heeft gemaakt, kan de SQL-beheerder de verbinding met het privé-eindpunt (PEC) met SQL Database beheren.

  1. Ga naar de serverresource in de Azure-portal volgens de stappen in de onderstaande schermopname

    • (1) Selecteer de verbindingen met het privé-eindpunt in het linker deelvenster
    • (2) Toont een lijst met alle privé-eindpunt verbindingen (PEC's)
    • (3) Bijbehorende privé-eindpunt (PE) gemaakt schermopname van alle PEC's
  2. Selecteer een individuele PEC uit de lijst door deze te kiezen. Schermopname van PEC geselecteerd

  3. De SQL-beheerder kan kiezen voor het goedkeuren of afwijzen van een PEC en optioneel een korte tekst als antwoord toevoegen. Schermopname van PEC-goedkeuring

  4. Na goedkeuring of afwijzing wordt in de lijst de juiste staat en de antwoordtekst weergegeven. Schermopname van alle PEC's na goedkeuring

  5. Klik ten slotte op de naam van het privé-eindpunt Schermafbeelding van PEC-details

    leidt naar de netwerkinterfacedetails Schermopname van NIC-details

    wat ten slotte leidt tot het IP-adres voor het privé-eindpunt Schermopname van privé-IP

Belangrijk

Wanneer u een privé-eindpuntverbinding toevoegt, wordt openbare routering naar uw logische server niet standaard geblokkeerd. In het deelvenster Firewall en virtuele netwerken is de instelling Openbare netwerktoegang weigeren niet standaard geselecteerd. Als u openbare netwerktoegang wilt uitschakelen, moet u openbare netwerktoegang weigeren selecteren.

Openbare toegang tot uw logische server uitschakelen

Voor dit scenario wordt ervan uitgegaan dat u alle openbare toegang tot uw logische server wilt uitschakelen en alleen verbindingen vanuit uw virtuele netwerk wilt toestaan.

Zorg er eerst voor dat uw privé-eindpuntverbindingen zijn ingeschakeld en geconfigureerd. Als u vervolgens openbare toegang tot uw logische server wilt uitschakelen:

  1. Ga naar de pagina Netwerken van uw logische server.
  2. Schakel het selectievakje Openbare netwerktoegang weigeren in.

Schermopname van het selecteren van de optie Openbare netwerktoegang weigeren.

De connectiviteit met de SQL Database testen vanaf een Azure-VM in hetzelfde virtuele netwerk

Voor dit scenario wordt ervan uitgegaan dat u een virtuele Azure-machine (VM) hebt gemaakt waarop een recente versie van Windows wordt uitgevoerd in hetzelfde virtuele netwerk als het privé-eindpunt.

  1. Start een Extern bureaublad-sessie (RDP) en maak verbinding met de virtuele machine.

  2. U kunt vervolgens een aantal basis connectiviteitscontroles uitvoeren om ervoor te zorgen dat de VM verbinding maakt met de SQL Database via het privé-eindpunt met behulp van de volgende hulpprogramma's:

    1. Telnet
    2. Psping
    3. Nmap
    4. SQL Server Management Studio (SSMS)

Connectiviteit controleren met Telnet

Telnet-client is een Windows-functie die kan worden gebruikt om de connectiviteit te testen. Afhankelijk van de versie van het Windows-besturingssysteem moet u deze functie mogelijk expliciet inschakelen.

Open een opdrachtpromptvenster nadat u Telnet hebt geïnstalleerd. Voer de Telnet-opdracht uit en geef het IP-adres en het privé-eindpunt van de database in SQL Database op.

>telnet 10.9.0.4 1433

Wanneer Telnet verbinding maakt, wordt in het opdrachtvenster een leeg scherm weer gegeven, zoals in de onderstaande afbeelding:

Diagram van Telnet

PowerShell-opdracht gebruiken om de connectiviteit te controleren

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

Connectiviteit controleren met Psping

Psping kan als volgt worden gebruikt om te controleren of het privé-eindpunt luistert naar verbindingen op poort 1433.

Voer psping als volgt uit door de FQDN voor logische SQL-Server en poort 1433 op te geven:

>psping.exe mysqldbsrvr.database.windows.net:1433
...
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

De uitvoer laat zien dat Psping het privé-IP-adres dat is gekoppeld aan het privé-eindpunt kan pingen.

Connectiviteit controleren met Nmap

Nmap (Network Mapper) is een gratis en open source-hulpprogramma dat wordt gebruikt voor netwerkdetectie en beveiligingscontrole. Ga voor meer informatie en de download koppeling naar https://nmap.org. U kunt dit hulpprogramma gebruiken om ervoor te zorgen dat het privé-eindpunt luistert naar verbindingen op poort 1433.

Voer Nmap als volgt uit door het adresbereik op te geven van het subnet dat als host fungeert voor het privé-eindpunt.

>nmap -n -sP 10.9.0.0/24
...
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

In het resultaat ziet u dat één IP-adres actief is. dat overeenkomt met het IP-adres voor het privé-eindpunt.

Controleer de connectiviteit met behulp van SQL Server Management Studio (SSMS)

Notitie

Gebruik de FQDN (Fully Qualified Domain Name) van de server in verbindingstekenreeksen voor uw clients (<server>.database.windows.net). Aanmeldingspogingen rechtstreeks naar het IP-adres of met behulp van de FQDN van de privékoppeling (<server>.privatelink.database.windows.net) zullen falen. Dit gedrag is inherent aan het ontwerp, omdat het privé-eindpunt verkeer naar de SQL-gateway in de regio routeert en de juiste FQDN moet worden opgegeven om aanmeldingen te laten slagen.

Volg de onderstaande stappen voor gebruik van SSMS om verbinding te maken met de SQL Database. Nadat u verbinding hebt gemaakt met de SQL Database met behulp van SSMS, wordt de volgende query weergegeven client_net_address die overeenkomt met het privé-IP-adres van de Azure-VM waarmee u verbinding maakt:

select client_net_address from sys.dm_exec_connections 
where session_id=@@SPID

Beperkingen

Verbindingen met een privé-eindpunt ondersteunen uitsluitend Proxy als het verbindingsbeleid

On-premises connectiviteit via privé-peering

Wanneer klanten verbinding maken met het openbare eindpunt vanaf on-premises computers, moet hun IP-adres worden toegevoegd aan de op IP-gebaseerde firewall met behulp van een firewallregel op serverniveau. Hoewel dit model goed werkt voor het toestaan van toegang tot afzonderlijke computers voor ontwikkel- of testwerkbelastingen, is het moeilijk te beheren in een productieomgeving.

Met Private Link kunnen klanten cross-premises toegang tot het privé-eindpunt inschakelen met behulp van ExpressRoute, privé-peering of VPN-tunneling. Klanten kunnen vervolgens alle toegang uitschakelen via het openbare eindpunt en de op IP-gebaseerde firewall niet gebruiken om IP-adressen toe te staan.

Clients kunnen verbinding maken met het privé-eindpunt van hetzelfde virtuele netwerk, een peered virtueel netwerk in dezelfde regio, of via een verbinding van virtueel netwerk tot virtueel netwerk tussen regio's. Daarnaast kunnen clients via on-premises verbinding maken met behulp van ExpressRoute, privé peering of VPN-tunneling. Hieronder ziet u een vereenvoudigd diagram waarin de algemene gebruikscases worden weergegeven.

Schema van connectiviteitsopties

Bovendien kunnen services die niet rechtstreeks in het virtuele netwerk worden uitgevoerd, maar zijn geïntegreerd met het netwerk (bijvoorbeeld App Service web-apps of Functions) ook privéconnectiviteit met de database bereiken. Zie de web-app met een privéverbinding met Azure SQL databasearchitectuurscenario voor meer informatie over deze specifieke use case.

Verbinding maken vanaf een Azure-VM in een Peered Virtual Network

Configureer peering van virtuele netwerken om verbinding te maken met de SQL Database vanuit een Azure-VM in een peered virtueel netwerk.

Verbinding maken van een Azure-VM in een virtueel netwerk naar een virtuele netwerkomgeving

Configureer een VPN-gatewayverbinding van virtueel netwerk naar virtueel netwerk om connectiviteit te maken met een database in SQL Database vanaf een Azure VM in een andere regio of een ander abonnement.

Verbinding maken vanuit een on-premises omgeving via VPN

Als u verbinding wilt maken vanuit een on-premises omgeving met de database in SQL Database, kiest en implementeert u een van de volgende opties:

Overweeg ook DNS-configuratiescenario's , evenals de FQDN-naam van de service kan worden omgezet in het openbare IP-adres.

Verbinding maken vanaf Azure Synapse Analytics met Azure Storage met behulp van PolyBase en de COPY-instructie

PolyBase en de COPY-instructie worden vaak gebruikt voor het laden van gegevens in Azure Synapse Analytics vanaf Azure Storage-accounts. Als het Azure Storage-account waarvan u gegevens wilt laden, alleen toegang heeft tot een set virtueel netwerk-subnetten via Privé-eindpunten, Service-eindpunten of op IP-gebaseerde firewalls, wordt de connectiviteit van PolyBase en de COPY-instructie naar het account verbroken. Voor het inschakelen van zowel import- als exportscenario's met Azure Synapse Analytics die verbinding maakt met Azure Storage die is beveiligd met een virtueel netwerk, volgt u de stappen die hier worden gegeven.

Preventie van gegevensexfiltratie

Gegevensexfiltratie in Azure SQL Database is wanneer een gebruiker, zoals een databasebeheerder, gegevens uit het ene systeem kan extraheren en naar een andere locatie of een ander systeem buiten de organisatie kan verplaatsen. De gebruiker verplaatst bijvoorbeeld de gegevens naar een opslagaccount dat eigendom is van een derde partij.

Overweeg een scenario met een gebruiker die SQL Server Management Studio (SSMS) uitvoert binnen een virtuele machine in Azure die verbinding maakt met een database in SQL Database. Deze SQL Database bevindt zich in het datacentrum US - west. In het onderstaande voorbeeld ziet u hoe u de toegang tot de openbare eindpunten op SQL Database met behulp van besturingselementen voor netwerktoegang kunt beperken.

  1. Schakel alle Azure-serviceverkeer uit naar SQL Database via het openbare eindpunt door Azure-services toestaan UIT te schakelen. Zorg ervoor dat er geen IP-adressen zijn toegestaan in de firewallregels op server- en databaseniveau. Zie Azure SQL Database en Azure Synapse Analytics-netwerk toegangsbeheervoor meer informatie.
  2. Alleen verkeer naar de database in SQL Database toestaan met behulp van het privé-IP-adres van de VM. Zie de artikelen over Service-eindpunt en firewallregels voor virtuele netwerkenvoor meer informatie.
  3. Op de Azure VM beperkt u het bereik van de uitgaande verbinding met behulp van Netwerkbeveiligingsgroepen (NSG's) en servicetags als volgt
    • Geef een NSG-regel op om verkeer voor Service Tag = SQL.WestUs toe te staan – alleen verbinding toestaan met SQL Database in US – West
    • Geef een NSG-regel (met een hogere prioriteit) op om verkeer te weigeren voor Service Tag = SQL – verbindingen met SQL Database in alle regio's weigeren

Aan het einde van deze installatie kan de Azure-VM alleen verbinding maken met een database in SQL Database in de regio US - west. De connectiviteit is echter niet beperkt tot één database in SQL Database. De VM kan nog steeds verbinding maken met elke database in de regio US - west, met inbegrip van de databases die geen onderdeel zijn van het abonnement. Hoewel we het bereik van de gegevensexfiltratie in het bovenstaande scenario naar een bepaalde regio hebben gereduceerd, hebben we het niet geheel verwijderd.

Met Private Link kunnen klanten nu netwerk toegangsbeheer instellen, zoals NSG's om de toegang tot het privé-eindpunt te beperken. Afzonderlijke Azure PaaS-resources worden vervolgens toegewezen aan specifieke privé-eindpunten. Een kwaadwillende Insider heeft alleen toegang tot de toegewezen PaaS-resource (bijvoorbeeld een database in SQL Database) en geen andere resource.

Volgende stappen