Service-eindpunten en regels voor virtuele netwerken gebruiken voor servers in Azure SQL Database
VAN TOEPASSING OP:
Azure SQL Database
Azure Synapse Analytics
Regels voor virtuele netwerken zijn een firewallbeveiligingsfunctie waarmee wordt bepaald of de server voor uw databases en elastische pools in Azure SQL Database of voor uw toegewezen SQL-pooldatabases (voorheen SQL DW) in Azure Synapse Analytics communicatie accepteert die wordt verzonden vanuit bepaalde subnetten in virtuele netwerken. In dit artikel wordt uitgelegd waarom regels voor virtuele netwerken soms de beste optie zijn om veilig communicatie met uw database toe te staan in SQL Database en Azure Synapse Analytics.
Notitie
Dit artikel is van toepassing op SQL Database en Azure Synapse Analytics. Ter vereenvoudiging verwijst de term database naar beide databases in SQL Database en Azure Synapse Analytics. Evenzo verwijzen alle verwijzingen naar de server naar de logische SQL server die als host SQL Database en Azure Synapse Analytics.
Als u een regel voor een virtueel netwerk wilt maken, moet er eerst een service-eindpunt voor een virtueel netwerk zijn waarnaar de regel moet verwijzen.
Een regel voor een virtueel netwerk maken
Als u alleen een regel voor een virtueel netwerk wilt maken, kunt u verder gaan met de stappen en uitleg verderop in dit artikel.
Details over regels voor virtuele netwerken
In deze sectie worden verschillende details over regels voor virtuele netwerken beschreven.
Slechts één geografische regio
Elk service-eindpunt voor een virtueel netwerk is van toepassing op slechts één Azure-regio. Met het eindpunt kunnen andere regio's geen communicatie van het subnet accepteren.
Een regel voor een virtueel netwerk is beperkt tot de regio waar het onderliggende eindpunt op van toepassing is.
Serverniveau, niet databaseniveau
Elke regel voor een virtueel netwerk is van toepassing op de hele server, niet alleen op één bepaalde database op de server. Met andere woorden, regels voor virtuele netwerken zijn van toepassing op serverniveau, niet op databaseniveau.
IP-regels kunnen daarentegen op beide niveau's van toepassing zijn.
Beveiligingsbeheerrollen
Er is een scheiding van beveiligingsrollen in het beheer van service-eindpunten voor virtuele netwerken. Actie is vereist voor elk van de volgende rollen:
- Netwerkbeheerder (rol Netwerkbijdrager): Schakel het eindpunt in.
- Databasebeheerder (SQL Server rol Inzender): Werk de toegangsbeheerlijst (ACL) bij om het opgegeven subnet toe te voegen aan de server.
Alternatief voor Azure RBAC
De rollen Netwerkbeheerder en Databasebeheerder hebben meer mogelijkheden dan nodig zijn voor het beheren van regels voor virtuele netwerken. Er is slechts een subset van hun mogelijkheden nodig.
U hebt de mogelijkheid om op rollen gebaseerd toegangsbeheer (RBAC) in Azure te gebruiken om één aangepaste rol te maken die alleen de benodigde subset van mogelijkheden heeft. De aangepaste rol kan worden gebruikt in plaats van de netwerkbeheerder of de databasebeheerder. Het surface area van uw beveiligingsblootstelling is lager als u een gebruiker aan een aangepaste rol toevoegt versus de gebruiker toevoegt aan de andere twee hoofdbeheerdersrollen.
Notitie
In sommige gevallen maakt de database in SQL Database subnet van het virtuele netwerk deel uit van verschillende abonnementen. In deze gevallen moet u zorgen voor de volgende configuraties:
- Beide abonnementen moeten zich in dezelfde Azure AD-tenant (Azure AD) Azure Active Directory.
- De gebruiker beschikt over de vereiste machtigingen om bewerkingen te starten, zoals het inschakelen van service-eindpunten en het toevoegen van een subnet van een virtueel netwerk aan de opgegeven server.
- Voor beide abonnementen moet de Microsoft.Sql-provider zijn geregistreerd.
Beperkingen
Voor SQL Database heeft de functie regels voor virtuele netwerken de volgende beperkingen:
- In de firewall voor uw database in SQL Database verwijst elke regel van een virtueel netwerk naar een subnet. Al deze subnetten waarnaar wordt verwezen, moeten worden gehost in dezelfde geografische regio waarin de database wordt gehost.
- Elke server kan maximaal 128 ACL-vermeldingen hebben voor elk virtueel netwerk.
- Regels voor virtuele netwerken zijn alleen van toepassing Azure Resource Manager virtuele netwerken en niet op klassieke implementatiemodelnetwerken.
- Als u service-eindpunten voor virtuele netwerken in SQL Database schakelt u ook de eindpunten voor Azure Database for MySQL en Azure Database for PostgreSQL. Als eindpunten zijn ingesteld op AAN, kunnen pogingen om verbinding te maken vanaf de eindpunten met uw Azure Database for MySQL of Azure Database for PostgreSQL exemplaren mislukken.
- De onderliggende reden is Azure Database for MySQL en Azure Database for PostgreSQL er waarschijnlijk geen regel voor een virtueel netwerk is geconfigureerd. U moet een virtuele netwerkregel configureren voor Azure Database for MySQL en Azure Database for PostgreSQL en de verbinding slaagt.
- Als u firewallregels voor virtuele netwerken wilt definiëren op SQL logische server die al is geconfigureerd met privé-eindpunten, stelt u Openbare netwerktoegang weigeren in op Nee.
- Op de firewall zijn IP-adresbereiken wel van toepassing op de volgende netwerkitems, maar regels voor virtuele netwerken niet:
Overwegingen bij het gebruik van service-eindpunten
Wanneer u service-eindpunten gebruikt voor SQL Database, bekijkt u de volgende overwegingen:
- Uitgaand naar Azure SQL Database openbare IP's is vereist. Netwerkbeveiligingsgroepen (NSG's) moeten worden geopend om SQL Database's toe te staan om connectiviteit toe te staan. U kunt dit doen met behulp van NSG-servicetags voor SQL Database.
ExpressRoute
Als u ExpressRoute gebruikt vanuit uw locatie, voor openbare peering of Microsoft-peering, moet u de NAT IP-adressen identificeren die worden gebruikt. Voor openbare peering gebruikt elk ExpressRoute-circuit standaard twee NAT IP-adressen. Deze worden toegepast op Azure-serviceverkeer wanneer het verkeer het Microsoft Azure-backbone-netwerk binnenkomt. Voor Microsoft-peering worden de NAT IP-adressen die worden gebruikt geleverd door de klant of de serviceprovider. Voor toegang tot uw serviceresources moet u deze openbare IP-adressen toestaan in de instelling voor IP-firewall voor de resource. Wanneer u op zoek bent naar de IP-adressen van uw ExpressRoute-circuit voor openbare peering, opent u een ondersteuningsticket met ExpressRoute via de Azure-portal. Zie NAT-vereisten voor openbare Azure-peering voor meer informatie over NAT voor openbare ExpressRoute-peering en Microsoft-peering.
Als u communicatie van uw circuit naar SQL Database wilt toestaan, moet u IP-netwerkregels maken voor de openbare IP-adressen van uw NAT.
Gevolgen van het gebruik van service-eindpunten voor virtuele netwerken met Azure Storage
Azure Storage heeft dezelfde functie geïmplementeerd waarmee u de connectiviteit met uw Azure Storage-account kunt beperken. Als u ervoor kiest om deze functie te gebruiken met een Azure Storage account dat SQL Database gebruikt, kunt u problemen hebben. Hierna is een lijst en bespreking van SQL Database en Azure Synapse Analytics functies die hierdoor worden beïnvloed.
Azure Synapse Analytics PolyBase- en COPY-instructie
PolyBase en de COPY-instructie worden vaak gebruikt voor het laden van gegevens in Azure Synapse Analytics van Azure Storage accounts voor gegevens opname met hoge doorvoer. Als het Azure Storage-account waar u gegevens van laadt, alleen toegang heeft tot een set subnetten van virtuele netwerken, wordt de connectiviteit tijdens het gebruik van PolyBase en de COPY-instructie voor het opslagaccount breekt. Voor het inschakelen van import- en exportscenario's met COPY en PolyBase met Azure Synapse Analytics die verbinding maken met Azure Storage die is beveiligd met een virtueel netwerk, volgt u de stappen in deze sectie.
Vereisten
- Installeer Azure PowerShell met behulp van deze handleiding.
- Als u een v1- of Azure Blob Storage-account voor algemeen gebruik hebt, moet u eerst upgraden naar algemeen v2 door de stappen in Upgrade to a general-purpose v2 storage account(Upgraden naar een algemeen v2-opslagaccount) te volgen.
- U moet Vertrouwde Microsoft-services toegang tot dit opslagaccount toestaan hebben ingeschakeld onder het instellingenmenu Azure Storage firewalls en virtuele netwerken van uw account. Als u deze configuratie inschakelen, kunnen PolyBase en de COPY-instructie verbinding maken met het opslagaccount met behulp van sterke verificatie waarbij netwerkverkeer op de Azure-backbone blijft. Zie deze handleiding voor meer informatie.
Belangrijk
De PowerShell Azure Resource Manager-module wordt nog steeds ondersteund door SQL Database, maar alle toekomstige ontwikkeling is voor de Az.Sql-module. De AzureRM-module blijft tot ten minste december 2020 bugfixes ontvangen. De argumenten voor de opdrachten in de Az-module en in de AzureRm-modules zijn vrijwel identiek. Zie Introductie van de nieuwe Az-module van Azure PowerShell voor meer informatie over de compatibiliteit van de argumenten.
Stappen
Als u een zelfstandige toegewezen SQL hebt, registreert u uw SQL-server bij Azure AD met behulp van PowerShell:
Connect-AzAccount Select-AzSubscription -SubscriptionId <subscriptionId> Set-AzSqlServer -ResourceGroupName your-database-server-resourceGroup -ServerName your-SQL-servername -AssignIdentityDeze stap is niet vereist voor toegewezen SQL binnen een Azure Synapse Analytics werkruimte.
Als u een Azure Synapse Analytics hebt, registreert u de door het systeem beheerde identiteit van uw werkruimte:
- Ga naar uw Azure Synapse Analytics werkruimte in de Azure Portal.
- Ga naar het deelvenster Beheerde identiteiten.
- Zorg ervoor dat de optie Pijplijnen toestaan is ingeschakeld.
Maak een v2-account voor algemeen Storage door de stappen in Een opslagaccount maken te volgen.
Notitie
- Als u een account voor algemeen gebruik v1 of Blob Storage hebt, moet u eerst upgraden naar v2 door de stappen te volgen in Upgrade to a general-purpose v2 storage account (Upgradennaar een v2-opslagaccount voor algemeen gebruik).
- Zie Bekende problemen met Azure Data Lake Storage Gen2 voor bekende problemen met Azure Data Lake Storage Gen2.
Ga onder uw opslagaccount naar Access Control (IAM) en selecteer Roltoewijzing toevoegen. Wijs de Azure Storage rol Inzender voor blobgegevens toe aan de server of werkruimte die als host voor uw toegewezen SQL-pool, die u hebt geregistreerd bij Azure AD.
Notitie
Alleen leden met eigenaarsrechten voor het opslagaccount kunnen deze stap uitvoeren. Zie Ingebouwde Azure-rollen voor verschillende ingebouwde Azure-rollen.
PolyBase-connectiviteit met het Azure Storage inschakelen:
Maak een database-hoofdsleutel als u er nog geen hebt gemaakt.
CREATE MASTER KEY [ENCRYPTION BY PASSWORD = 'somepassword'];Maak een referentie binnen databasebereik met IDENTITY = 'Managed Service Identity'.
CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';Notitie
- U hoeft SECRET niet op te geven met een Azure Storage-toegangssleutel, omdat dit mechanisme gebruikmaakt van beheerde identiteit.
- De identiteitsnaam moet Managed Service Identity zijn voor PolyBase-connectiviteit om te kunnen werken met een Azure Storage-account dat is beveiligd met een virtueel netwerk.
Maak een externe gegevensbron met het schema voor het maken van verbinding met uw
abfss://opslagaccount voor algemeen gebruik v2 met behulp van PolyBase.CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);Notitie
- Als u al externe tabellen hebt gekoppeld aan een account voor algemeen gebruik v1 of Blob Storage, moet u deze externe tabellen eerst verwijderen. Zet vervolgens de bijbehorende externe gegevensbron neer. Maak vervolgens een externe gegevensbron met het schema dat verbinding maakt met een v2-opslagaccount voor algemeen
abfss://gebruik, zoals eerder is weergegeven. Maak vervolgens alle externe tabellen opnieuw met behulp van deze nieuwe externe gegevensbron. U kunt de wizard Scripts genereren en publiceren gebruiken om eenvoudig create-scripts te genereren voor alle externe tabellen. - Zie De
abfss://Azure Data Lake Storage Gen2 URIgebruiken voor meer informatie over het schema. - Zie deze handleiding voor meer informatie overCREATE EXTERNAL DATA SOURCE.
- Als u al externe tabellen hebt gekoppeld aan een account voor algemeen gebruik v1 of Blob Storage, moet u deze externe tabellen eerst verwijderen. Zet vervolgens de bijbehorende externe gegevensbron neer. Maak vervolgens een externe gegevensbron met het schema dat verbinding maakt met een v2-opslagaccount voor algemeen
Query's uitvoeren zoals normaal met behulp van externe tabellen.
SQL Database blob controleren
Azure SQL auditing kan SQL auditlogboeken naar uw eigen opslagaccount schrijven. Als dit opslagaccount gebruikmaakt van de functie service-eindpunten voor virtuele netwerken, bekijkt u hoe u audit schrijft naar een opslagaccount achter VNet en firewall.
Een firewallregel voor een virtueel netwerk toevoegen aan uw server
Lang geleden was u, voordat deze functie werd uitgebreid, verplicht service-eindpunten voor virtuele netwerken in te zetten voordat u een regel voor een live virtueel netwerk in de firewall kon implementeren. De eindpunten hebben een bepaald subnet van een virtueel netwerk gerelateerd aan een database in SQL Database. Vanaf januari 2018 kunt u deze vereiste omzeilen door de vlag IgnoreMissingVNetServiceEndpoint in te stellen. U kunt nu een firewallregel voor een virtueel netwerk toevoegen aan uw server zonder service-eindpunten voor virtuele netwerken in te zetten.
Het instellen van een firewallregel helpt niet om de server te beveiligen. U moet ook service-eindpunten voor virtuele netwerken in gebruik nemen om de beveiliging van kracht te laten worden. Wanneer u service-eindpunten in schakelen, uw virtuele netwerk subnet uitvaltijd totdat de overgang van uitgeschakeld naar aan is voltooid. Deze periode van downtime geldt met name in de context van grote virtuele netwerken. U kunt de vlag IgnoreMissingVNetServiceEndpoint gebruiken om de downtime tijdens de overgang te verminderen of te elimineren.
U kunt de vlag IgnoreMissingVNetServiceEndpoint instellen met behulp van PowerShell. Zie PowerShellvoor het maken van een service-eindpunt en regel voor een virtueel netwerk voor SQL Database.
Fouten 40914 en 40615
Verbindingsfout 40914 heeft betrekking op regels voor virtuele netwerken, zoals opgegeven in het deelvenster Firewall in de Azure Portal. Fout 40615 is vergelijkbaar, behalve dat deze betrekking heeft op IP-adresregels in de firewall.
Fout 40914
Berichttekst: "Kan de server [servernaam] die is aangevraagd door de aanmelding niet openen. Client heeft geen toegang tot de server.
Foutbeschrijving: De client zich in een subnet met server-eindpunten voor virtuele netwerken. De server heeft echter geen regel voor een virtueel netwerk die aan het subnet het recht verleent om te communiceren met de database.
Foutoplossing: In het deelvenster Firewall van de Azure Portal gebruikt u het besturingselement voor regels voor virtuele netwerken om een regel voor een virtueel netwerk toe te voegen voor het subnet.
Fout 40615
Berichttekst: 'Kan server niet {0} openen' aangevraagd door de aanmelding. Client met IP-adres {1} ' ' heeft geen toegang tot de server.'
Foutbeschrijving: De client probeert verbinding te maken vanaf een IP-adres dat niet is gemachtigd om verbinding te maken met de server. De serverfirewall heeft geen IP-adresregel waarmee een client vanaf het opgegeven IP-adres met de database kan communiceren.
Foutoplossing: Voer het IP-adres van de client in als een IP-regel. Gebruik het deelvenster Firewall in de Azure Portal om deze stap uit te doen.
De portal gebruiken om een regel voor een virtueel netwerk te maken
In deze sectie ziet u hoe u de Azure Portal om een regel voor een virtueel netwerk te maken in uw database in SQL Database. De regel vertelt uw database communicatie te accepteren vanaf een bepaald subnet dat is gelabeld als een service-eindpunt voor een virtueel netwerk.
Notitie
Als u van plan bent een service-eindpunt toe te voegen aan de firewallregels van het virtuele netwerk van uw server, moet u eerst controleren of service-eindpunten zijn ingeschakeld voor het subnet.
Als service-eindpunten niet zijn ingeschakeld voor het subnet, wordt u gevraagd deze in teschakelen. Selecteer de knop Inschakelen in hetzelfde deelvenster waaraan u de regel toevoegt.
PowerShell-alternatief
Met een script kunnen ook regels voor virtuele netwerken worden gemaakt met behulp van de PowerShell-cmdlet New-AzSqlServerVirtualNetworkRule of az network vnet create. Zie PowerShell als u geïnteresseerd bent om een service-eindpunt en regel voor een virtueel netwerk te maken voor SQL Database.
REST API alternatief
Intern roepen de PowerShell-cmdlets voor SQL acties voor virtuele netwerken REST API's aan. U kunt de REST API's rechtstreeks aanroepen.
Vereisten
U moet al een subnet hebben dat is gelabeld met de naam van het service-eindpunttype van het specifieke virtuele netwerk dat relevant is voor SQL Database.
- De relevante naam van het eindpunttype is Microsoft.Sql.
- Als uw subnet mogelijk niet is getagd met de typenaam, zie Controleer of uw subnet een eindpunt is.
Azure Portal stappen
Meld u aan bij de Azure-portal.
Zoek en selecteer SQL servers en selecteer vervolgens uw server. Selecteer onder Beveiliging de optie Firewalls en virtuele netwerken.
Stel Toegang tot Azure-services toestaan in op UIT.
Belangrijk
Als u het besturingselement op AAN laat staan, accepteert uw 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 de bereiks die zijn gedefinieerd voor Azure-datacenters. Het instellen van het besturingselement op AAN kan overmatige toegang zijn vanuit het oogpunt van beveiliging. De Microsoft Azure Virtual Network service-eindpuntfunctie in coördinatie met de functie voor regels voor virtuele netwerken van SQL Database kunnen uw beveiligingsrisico'surface area.
Selecteer + Bestaande toevoegen in de sectie Virtuele netwerken.

Vul in het nieuwe deelvenster Maken/bijwerken de vakken in met de namen van uw Azure-resources.
Tip
U moet het juiste adres voorvoegsel voor uw subnet opnemen. U vindt de waarde van het adres voorvoegsel in de portal. Ga naar Alle resources > Alle typen Virtuele > netwerken. Het filter geeft uw virtuele netwerken weer. Selecteer uw virtuele netwerk en selecteer vervolgens Subnetten. De kolom ADRESBEREIK heeft het adres voorvoegsel dat u nodig hebt.

Selecteer de knop OK onderaan het deelvenster.
Zie de resulterende regel voor het virtuele netwerk in het deelvenster Firewall.

Notitie
De volgende statussen of statussen zijn van toepassing op de regels:
- Gereed: geeft aan dat de bewerking die u hebt gestart, is geslaagd.
- Mislukt: geeft aan dat de bewerking die u hebt gestart, is mislukt.
- Verwijderd: alleen van toepassing op de bewerking Verwijderen en geeft aan dat de regel is verwijderd en niet meer van toepassing is.
- InProgress: geeft aan dat de bewerking wordt uitgevoerd. De oude regel is van toepassing terwijl de bewerking deze status heeft.