Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Tip
Microsoft Fabric Data Warehouse is een relationeel warehouse op ondernemingsniveau op data lake-basis, met een architectuur die klaar is voor de toekomst, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensopslag, begin dan met Fabric Data Warehouse. Bestaande dediceerde SQL-poolworkloads kunnen upgraden naar Fabric voor toegang tot nieuwe mogelijkheden in data science, realtime analyses en rapportage.
Van toepassing op: toegewezen SQL-pools van Azure Synapse Analytics
Virtuele netwerkregels zijn een firewallbeveiligingsfunctie die bepaalt of de logische server voor je dedicated SQL pool (voorheen SQL DW) databases in Azure Synapse Analytics communicatie accepteert die vanuit bepaalde subnetten in virtuele netwerken wordt verzonden. Dit artikel legt uit waarom virtuele netwerkregels soms de beste optie zijn om communicatie met je toegewijde SQL-pool veilig toe te staan.
Om een virtuele netwerkregel te maken, moet er eerst een virtueel netwerkservice-eindpunt zijn waar de regel naar kan verwijzen.
Een regel voor een virtueel netwerk maken
Als je alleen een virtuele netwerkregel wilt maken, kun je later in dit artikel de stappen en uitleg volgen.
Details over virtuele netwerkregels
Deze sectie beschrijft verschillende details over virtuele netwerkregels.
Slechts één geografische regio
Ieder virtueel netwerkservice-endpoint geldt slechts voor één Azure-regio. Met het eindpunt kunnen andere regio's geen communicatie van het subnet accepteren.
Elke virtuele netwerkregel is beperkt tot de regio waarop het onderliggende eindpunt van toepassing is.
Serverniveau, niet databaseniveau
Elke virtuele netwerkregel geldt voor je hele server, niet alleen voor één specifieke database op de server. Met andere woorden, virtuele netwerkregels gelden op serverniveau, niet op databaseniveau.
Rollen voor beveiligingsbeheer
Er is een scheiding van beveiligingsrollen bij het beheer van virtuele netwerkservice-endpoints. Actie is vereist vanuit elk van de volgende rollen:
- Netwerkbeheerder (rol als Netwerkbijdrager ): Zet de endpoint aan.
- Databasebeheerder (SQL Server Contributor-rol): Werk de toegangscontrolelijst (ACL) bij om het betreffende subnet aan de server toe te voegen.
Azure RBAC alternative
De rollen van Netwerkbeheerder en Databasebeheerder hebben meer mogelijkheden dan nodig is om virtuele netwerkregels te beheren. Slechts een subset van hun capaciteiten is nodig.
Je hebt de optie om role-based access control (RBAC) in Azure te gebruiken om een enkele aangepaste rol te creëren die alleen de benodigde subset van mogelijkheden heeft. De aangepaste rol kan worden gebruikt in plaats van de netwerkbeheerder of de databasebeheerder te betrekken. Je aanvalsoppervlak is kleiner als je een gebruiker toevoegt aan een aangepaste rol in plaats van de gebruiker aan de andere twee grote beheerdersrollen.
Note
In sommige gevallen zitten de dedicated SQL-pool en het virtuele netwerksubnet in verschillende abonnementen. In deze gevallen moet u ervoor zorgen dat de volgende configuraties correct zijn ingesteld:
- De gebruiker heeft de vereiste rechten om operaties te starten, zoals het inschakelen van service-endpoints en het toevoegen van een virtueel netwerksubnet aan de betreffende server.
- De provider
Microsoft.Sqlmoet op beide abonnementen geregistreerd zijn.
Limitations
Voor zelfstandige dedicated SQL-pools heeft de functie van virtuele netwerkregels de volgende beperkingen:
- In de firewall van je logische server verwijst elke virtuele netwerkregel naar een subnet. Alle gerefereerde subnetten moeten in hetzelfde geografische gebied worden gehost als de toegewijde SQL-pool.
- Elke server kan tot 128 ACL-vermeldingen hebben voor elk virtueel netwerk.
- Virtuele netwerkregels zijn alleen van toepassing op virtuele netwerken in Azure Resource Manager en niet op netwerken van het klassieke implementatiemodel.
- Op de firewall gelden IP-adresbereiken wel voor de volgende netwerkitems, maar virtuele netwerkregels niet:
- Site-to-site (S2S) virtueel privénetwerk (VPN)
- On-premises via Azure ExpressRoute
- Beide abonnementen moeten in dezelfde Microsoft Entra-tenant zitten.
Overwegingen bij het gebruik van service-endpoints
Wanneer je service-endpoints gebruikt voor een dedicated SQL-pool, bekijk dan de volgende overweging:
- Uitgaande toegang tot de openbare IP-adressen van Azure Synapse Analytics is vereist. Netwerkbeveiligingsgroepen (NSG's) moeten connectiviteit met de service-IP's toestaan. Je kunt de
SqlNSG-servicetag gebruiken.
ExpressRoute
Als je ExpressRoute vanuit je eigen locatie gebruikt, voor publieke peering of Microsoft-peering, moet je de gebruikte NAT-IP-adressen identificeren. Voor publieke peering gebruikt elk ExpressRoute-circuit standaard twee NAT-IP-adressen die worden toegepast op Azure-serviceverkeer wanneer het verkeer de Microsoft Azure-netwerkbackbone binnenkomt. Voor Microsoft-peering worden de gebruikte NAT-IP-adressen geleverd door de klant of de dienstverlener. Voor toegang tot uw serviceresources moet u deze openbare IP-adressen toestaan in de instelling voor IP-firewall voor de resource. Om de IP-adressen van je publieke peering ExpressRoute circuit te vinden, open je een supportticket bij ExpressRoute via het Azure-portaal. Voor meer informatie over NAT voor ExpressRoute publieke en Microsoft peering, zie NAT-vereisten voor Azure publieke peering.
Om communicatie van je circuit naar Azure Synapse Analytics mogelijk te maken, moet je IP-netwerkregels maken voor de publieke IP-adressen van je NAT.
Impact van het gebruik van virtual network service endpoints met Azure Storage
Azure Storage heeft dezelfde functie geïmplementeerd waarmee u de connectiviteit met uw Azure Storage-account kunt beperken. Als je deze functie gebruikt met een Azure Storage-account dat door Azure Synapse Analytics wordt gebruikt, kun je problemen krijgen.
In de volgende secties worden de betrokken Azure Synapse Analytics-functies besproken.
Azure Synapse Analytics PolyBase and COPY statement
PolyBase en de COPY-instructie worden vaak gebruikt om data te laden in Azure Synapse Analytics vanuit Azure Storage-accounts voor gegevensinname met hoge doorvoer. Als het Azure Storage-account waar je data van laadt de toegang beperkt tot een set virtuele netwerksubnetten, zal de connectiviteit verbreken wanneer je PolyBase en de COPY-instructie voor het storage-account gebruikt. Voor het inschakelen van import- en exportscenario's door gebruik te maken van COPY en PolyBase om met Azure Synapse Analytics verbinding te maken met Azure Storage die beveiligd is met een virtueel netwerk, volgt u de stappen in deze sectie.
Prerequisites
- Installeer Azure PowerShell. Zie De Azure Az PowerShell-module installeren voor meer informatie.
- Als je een algemeen gebruik v1- of Azure Blob Storage-account hebt, moet je eerst upgraden naar algemeen gebruik v2 door de stappen in Upgrade naar een opslagaccount voor algemeen gebruik v2 te volgen.
- Je moet Vertrouwde Microsoft-services toegang geven tot dit opslagaccount hebben ingeschakeld in het instellingenmenu Firewalls en virtuele netwerken van het Azure Storage-account. Door deze configuratie in te schakelen, kunnen PolyBase en de COPY-instructie verbinding maken met het opslagaccount door sterke authenticatie te gebruiken, waarbij netwerkverkeer op de Azure-backbone blijft. Voor meer informatie, zie deze gids.
Important
De Module PowerShell Azure Resource Manager (AzureRM) is afgeschaft op 29 februari 2024. Voor alle toekomstige ontwikkeling moet de Az.Sql-module worden gebruikt. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen. De AzureRM-module wordt niet meer onderhouden of ondersteund. De argumenten voor de opdrachten in de Az PowerShell-module en in de AzureRM-modules zijn aanzienlijk identiek. Zie Introductie van de nieuwe Az PowerShell-modulevoor meer informatie over de compatibiliteit.
Steps
Als je een zelfstandige dedicated SQL-pool hebt (voorheen SQL DW), registreer dan je SQL-server bij Microsoft Entra ID door PowerShell te gebruiken:
Connect-AzAccount Select-AzSubscription -SubscriptionId <subscriptionId> Set-AzSqlServer -ResourceGroupName your-database-server-resourceGroup -ServerName your-SQL-servername -AssignIdentityDeze stap is niet vereist voor de dedicated SQL-pools binnen een Azure Synapse Analytics-werkruimte. De door het systeem toegewezen beheerde identiteit (SA-MI) van de werkruimte is lid van de rol Synapse-beheerder en heeft dus verhoogde bevoegdheden voor de toegewezen SQL-pools van de werkruimte.
Maak een General-purpose v2 Storage Account aan door de stappen in Een opslagaccount maken te volgen.
- Als je een algemeen v1- of Blob Storage-account hebt, moet je eerst upgraden naar v2 door de stappen in Upgrade naar een algemeen v2 opslagaccount te volgen.
- Voor bekende problemen met Azure Data Lake Storage Gen2, zie Bekende problemen met Azure Data Lake Storage Gen2.
Selecteer op je opslagaccountpagina Access control (IAM).
Klik op Toevoegen>Roltoewijzing toevoegen om het deelvenster Roltoewijzing toevoegen te openen.
Wijs de volgende rol toe. Zie Azure-rollen toewijzen met behulp van Azure Portal voor gedetailleerde stappen.
Setting Value Role Inzender voor Storage Blob-gegevens Toegang toewijzen Gebruiker, groep of service-principal Members Server of werkruimte die als host fungeert voor je dedicated SQL-pool die je hebt geregistreerd bij Microsoft Entra ID
Note
Alleen leden met Owner-privilege op het opslagaccount kunnen deze stap uitvoeren. Voor verschillende ingebouwde rollen van Azure, zie Azure ingebouwde rollen.
Om PolyBase-connectiviteit met het Azure Storage-account in te schakelen:
Maak een databasemasterkey aan als je die nog niet eerder hebt gemaakt.
CREATE MASTER KEY [ENCRYPTION BY PASSWORD = '<password>'];Maak een database-scope credential aan met IDENTITY = 'Managed Service Identity'.
CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';Het is niet nodig om SECRET te specificeren met een Azure Storage-toegangssleutel, omdat dit mechanisme Managed Identity achter de schermen gebruikt. Deze stap is niet vereist voor de dedicated SQL-pools binnen een Azure Synapse Analytics-werkruimte. De door het systeem toegewezen beheerde identiteit (SA-MI) van de werkruimte is lid van de rol Synapse-beheerder en heeft dus verhoogde bevoegdheden voor de toegewezen SQL-pools van de werkruimte.
De naam IDENTITY moet 'Managed Service Identity' zijn om PolyBase-connectiviteit te laten werken met een Azure Storage-account dat beveiligd is met een virtueel netwerk.
Maak een externe databron aan met het
abfss://scheme om verbinding te maken met je algemene v2-opslagaccount met PolyBase.CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);- Als je al externe tabellen hebt gekoppeld aan een algemeen v1- of Blob Storage-account, moet je die externe tabellen eerst verwijderen. Verwijder daarna de bijbehorende externe gegevensbron. Maak vervolgens een externe databron aan met het
abfss://-scheme die verbinding maakt met een algemeen v2-opslagaccount, zoals eerder getoond. Maak vervolgens alle externe tabellen opnieuw aan met behulp van deze nieuwe externe databron. Je zou de Generate and Publish Scripts Wizard kunnen gebruiken om create-scripts te genereren voor alle externe tabellen voor het gemak. - Voor meer informatie over het
abfss://schema, zie De Azure Data Lake Storage Gen2-URI gebruiken. - Voor meer informatie over de T-SQL-commando's, zie CREATE EXTERNAL DATA SOURCE.
- Als je al externe tabellen hebt gekoppeld aan een algemeen v1- of Blob Storage-account, moet je die externe tabellen eerst verwijderen. Verwijder daarna de bijbehorende externe gegevensbron. Maak vervolgens een externe databron aan met het
Voer zoals gebruikelijk query's uit via externe tabellen.
Azure Synapse Analytics controlelogboekregistratie naar blobopslag
Azure Synapse Analytics auditing kan SQL auditlogs schrijven naar je eigen storage-account. Als dit opslagaccount de functie virtuele netwerkservice-endpoints gebruikt, kijk dan hoe je auditlogboeken schrijft naar een opslagaccount achter VNet en firewall.
Voeg een virtuele netwerkfirewallregel toe aan je dedicated SQL pool SQL-server
Lang geleden, voordat deze functie werd verbeterd, moest je virtuele netwerkservice-endpoints inschakelen voordat je een live virtuele netwerkregel in de firewall kon implementeren. De eindpunten relateren een bepaald virtueel netwerksubnet aan een dedicated SQL-pool. Vanaf januari 2018 kun je deze eis omzeilen door de IgnoreMissingVNetServiceEndpoint-vlag in te stellen. Nu kun je een virtuele netwerk-firewallregel aan je server toevoegen zonder virtuele netwerkservice-endpoints aan te schakelen.
Alleen een firewallregel instellen helpt niet om de server te beveiligen. Je moet ook virtuele netwerkservice-endpoints inschakelen om de beveiliging van kracht te laten worden. Wanneer je service-endpoints inschakelt, ondervindt je virtuele netwerksubnet downtime totdat de overgang van uitgeschakeld naar aan is voltooid. Deze periode van stilstand geldt vooral in de context van grote virtuele netwerken. Je kunt de IgnoreMissingVNetServiceEndpoint-vlag gebruiken om de downtime tijdens de overgang te verminderen of te elimineren.
Je kunt de IgnoreMissingVNetServiceEndpoint vlag instellen met PowerShell. Voor meer informatie, zie New-AzSqlServerVirtualNetworkRule.
Gebruik Azure portal om een virtuele netwerkregel te maken
Note
Deze regelinstructies voor virtueel netwerk zijn van toepassing op standalone dedicated SQL-pools. Zie voor de netwerkconfiguratie van de werkruimte Azure Synapse Analytics IP firewall rules.
In deze sectie leer je hoe je het Azure-portaal kunt gebruiken om een virtuele netwerkregel te maken voor een zelfstandige dedicated SQL-pool. De regel vertelt de logische server om communicatie te accepteren van een bepaald subnet dat is getagd als een virtueel netwerkservice-eindpunt.
Note
Als je van plan bent een service-endpoint toe te voegen aan de virtuele netwerk-firewallregels van je server, zorg er dan eerst voor dat service-endpoints voor het subnet zijn ingeschakeld.
Als service-endpoints niet zijn ingeschakeld voor het subnet, vraagt het portaal je om ze aan te schakelen. Selecteer de knop Inschakelen in hetzelfde paneel waar je de regel toevoegt.
Prerequisites
Je moet al een subnet hebben dat is getagd met de typenaam van het virtuele netwerkservice-endpoint dat wordt gebruikt door Azure Synapse Analytics.
- De relevante eindpunttypenaam is
Microsoft.Sql. - Als je subnet mogelijk niet is getagd met de typenaam, zie Controleren of het service-endpoint is ingeschakeld.
Stappen voor Azure-portal
Meld u aan bij het Azure-portaal.
Zoek naar en selecteer SQL-servers, en selecteer vervolgens je server. Selecteer onder de secties Securityen Networking.
Zorg er onder het tabblad Publieke toegang voor dat publieke netwerktoegang is ingesteld op Netwerken selecteren, anders zijn de instellingen voor Virtuele netwerken verborgen. Selecteer + Voeg bestaand virtueel netwerk toe in de sectie Virtuele netwerken .
Vul in het nieuwe Create/Update-paneel de vakjes in met de namen van je Azure-bronnen.
Tip
Je moet de juiste adresprefix voor je subnet toevoegen. Je kunt de waarde van het adresprefix vinden in het portaal. Ga naar Alle bronnen.>Alle typen>Virtuele netwerken. Het filter toont je virtuele netwerken. Selecteer je virtuele netwerk en selecteer vervolgens Subnets. De kolom ADDRESS RANGE bevat het adresprefix dat je nodig hebt.
Zie de resulterende regel voor virtueel netwerk in het Firewall-paneel .
Stel toe dat Azure-diensten en -resources deze server mogen benaderen in op Nee.
Important
Als je 'Laat Azure-diensten en -resources toegang tot deze server' aangevinkt laat, accepteert je server communicatie van elk subnet binnen de Azure-grens. Dat is communicatie die afkomstig is van een van de IP-adressen die worden herkend als die binnen bereiken die zijn gedefinieerd voor Azure-datacenters. Het ingeschakeld laten van het besturingselement kan vanuit beveiligingsoogpunt te veel toegang geven. De Microsoft Azure Virtual Network service endpoint-functie, samen met Azure Synapse Analytics virtuele netwerkregels, kan je beveiligingsoppervlak verkleinen.
Selecteer de OK-knop onderaan het paneel.
Note
De volgende statussen of toestanden zijn van toepassing op de regels:
- Klaar: Geeft aan dat de operatie die u bent gestart geslaagd is.
- Mislukt: Geeft aan dat de operatie die je hebt gestart is mislukt.
-
Verwijderd: Alleen van toepassing op de
Deleteoperatie en geeft aan dat de regel is verwijderd en niet langer van toepassing is. - InProgress: Geeft aan dat de operatie gaande is. De oude regel geldt zolang de bewerking in deze toestand is.
Gebruik PowerShell om een virtuele netwerkregel te maken
Een script kan ook virtuele netwerkregels maken door gebruik te maken van de PowerShell-cmdlet New-AzSqlServerVirtualNetworkRule of az network vnet create. Voor meer informatie, zie New-AzSqlServerVirtualNetworkRule.
Gebruik de REST API om een virtuele netwerkregel te maken
Intern roepen de PowerShell-cmdlets voor Synapse SQL virtuele netwerkacties REST API's aan. Je kunt de REST-API's direct aanroepen. Voor meer informatie, zie Virtuele netwerkregels: Bewerkingen.
Probleemoplossing bij fouten 40914 en 40615
Verbindingsfout 40914 heeft betrekking op virtuele netwerkregels, zoals gespecificeerd in het firewallpaneel in het Azure-portaal.
Fout 40615 is vergelijkbaar, behalve dat het betrekking heeft op IP-adresregels op de firewall.
Fout 40914
Berichttekst: "Kan server '[server-name]' die door de aanmelding is aangevraagd, niet openen. Client heeft geen toegang tot de server"
Foutbeschrijving: De client bevindt zich in een subnet met virtuele netwerkserver-eindpunten. Maar de server heeft geen virtuele netwerkregel die het subnet het recht geeft om met de database te communiceren.
Foutoplossing: Gebruik in het Firewall-deelvenster van het Azure-portaal het besturingselement voor regels voor virtuele netwerken om een virtuele netwerkregel voor het subnet toe te voegen.
Fout 40615
Berichttekst: "Kan de server '{0}' die door de aanmelding is aangevraagd, niet openen. Client met IP-adres '{1}' heeft geen toegang tot de server".
Foutbeschrijving: De client probeert verbinding te maken vanaf een IP-adres dat niet geautoriseerd is om verbinding te maken met de server. De serverfirewall heeft geen IP-adresregel die een client toestaat te communiceren van het opgegeven IP-adres naar de database.
Foutoplossing: Voer het IP-adres van de client in als IP-regel. Gebruik het firewallpaneel in het Azure-portaal om deze stap uit te voeren.