Delen via


Netwerktoegangsbeheer van Azure SQL Database en Azure Synapse Analytics

van toepassing op:Azure SQL DatabaseAzure Synapse Analytics (alleen toegewezen SQL-pools)

Wanneer u een logische server maakt vanuit de Azure-portal voor Azure SQL Database en Azure Synapse Analytics, is het resultaat een openbaar eindpunt in de indeling: yourservername.database.windows.net.

Standaard weigert de logische server alle verbindingen om de beveiliging te garanderen. U kunt een of meer van de volgende netwerktoegangscontroles gebruiken om database-toegang selectief toe te staan via het openbare eindpunt

  • firewallregels op basis van IP: gebruik deze functie om expliciet verbindingen van een specifiek IP-adres toe te staan. Bijvoorbeeld van on-premises machines of een bereik van IP-adressen door het begin- en eind-IP-adres op te geven.

  • Azure-services en -resources toegang geven tot deze server: wanneer deze optie is ingeschakeld, hebben andere resources binnen de Azure-grens toegang tot SQL Database. Een virtuele Azure-machine heeft bijvoorbeeld toegang tot de SQL Database-resources.

U kunt ook privétoegang tot de database toestaan vanuit virtuele netwerken via:

  • firewallregels voor virtuele netwerken: gebruik deze functie om verkeer van een specifiek virtueel netwerk binnen de Grens van Azure toe te staan.

  • Private Link: gebruik deze functie om een privé-eindpunt te maken voor de logische server in Azure binnen een specifiek virtueel netwerk.

Belangrijk

Dit artikel niet van toepassing op sql Managed Instance-. Zie verbinding maken met Azure SQL Managed Instance voor meer informatie over de netwerkconfiguratie.

IP-firewallregels

Firewallregels op basis van IP zijn een functie van de logische server in Azure die alle toegang tot uw server voorkomt totdat u expliciet IP-adressen van de clientcomputers toevoegt .

Er zijn twee typen firewallregels:

  • firewallregels op serverniveau: deze regels zijn van toepassing op alle databases op de server. Ze kunnen worden geconfigureerd via De Azure-portal, PowerShell of T-SQL-opdrachten, zoals sp_set_firewall_rule.
  • firewallregels op databaseniveau: deze regels zijn van toepassing op afzonderlijke databases en kunnen alleen worden geconfigureerd met behulp van T-SQL-opdrachten zoals sp_set_database_firewall_rule

Hier volgen beperkingen voor het benoemen van firewallregels:

  • De naam van de firewallregel mag niet leeg zijn.
  • Het mag niet de volgende tekens bevatten: <, >, *, %, &, :, \\, /, ?.
  • Het kan niet eindigen met een punt (.).
  • De naam van de firewallregel mag niet langer zijn dan 128 tekens.

Pogingen om firewallregels te maken die niet aan deze beperkingen voldoen, mislukken met een foutbericht. Het kan tot vijf minuten duren voordat wijzigingen in bestaande IP-firewallregels van kracht worden.

Azure-services toestaan

Standaard is tijdens het aanmaken van een nieuwe logische server via de Azure Portalde optie om Azure-services en -resources toegang te geven tot deze server niet geselecteerd en niet ingeschakeld. Deze instelling wordt weergegeven wanneer connectiviteit is toegestaan via een openbaar eindpunt.

U kunt deze instelling ook wijzigen via de Netwerkinstelling nadat de logische server als volgt is gemaakt:

Schermopname van het beheren van serverfirewalls

Wanneer Toestaan dat Azure-services en -resources toegang hebben tot deze server is ingeschakeld, staat uw server communicatie toe van alle resources binnen de Azure-grens, ongeacht of ze deel uitmaken van uw abonnement. Achter de schermen wordt een speciale firewallregel op serverniveau toegevoegd die begint en eindigt met het IP-adres van 0.0.0.0.

In veel gevallen is het inschakelen van de instelling meer permissief dan wat de meeste klanten willen. U kunt deze instelling uitschakelen en vervangen door meer beperkende IP-firewallregels of een van de opties voor privétoegang gebruiken.

Belangrijk

Controleren Toestaan dat Azure-services en -resources toegang krijgen tot deze server voegt een firewallregel op basis van IP toe met het begin- en eind-IP-adres van 0.0.0.0

Dit is echter van invloed op de volgende functies die worden uitgevoerd op virtuele machines in Azure die geen deel uitmaken van uw virtuele netwerk en dus verbinding maken met de database via een Azure IP-adres:

Exportservice importeren

Import Export Service werkt niet wanneer Azure-services en -resources toegang geven tot deze server niet is ingeschakeld. U kunt het probleem echter omzeilen door SqlPackage handmatig uit te voeren vanaf een Azure-VM of het exporteren rechtstreeks in uw code uit te voeren met behulp van de DACFx-API.

Gegevenssynchronisatie

Als u de functie Gegevenssynchronisatie wilt gebruiken met Azure-services en -resources toegang geven tot deze server niet ingeschakeld, moet u afzonderlijke vermeldingen voor firewallregels maken om IP-adressen toe te voegen uit de Sql-servicetag voor de regio die als host fungeert voor de Hub-database. Voeg deze firewallregels op serverniveau toe aan de servers die als host fungeren voor zowel Hub- als liddatabases (die zich in verschillende regio's bevinden).

Gebruik het volgende PowerShell-script om IP-adressen te genereren die overeenkomen met de SQL-servicetag voor de regio VS - west.

PS C:\>  $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\>  $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27

Fooi

Get-AzNetworkServiceTag retourneert het globale bereik voor SQL Service Tag ondanks het opgeven van de locatieparameter. Zorg ervoor dat u deze filtert op de regio die als host fungeert voor de Hub-database die wordt gebruikt door uw synchronisatiegroep

De uitvoer van het PowerShell-script bevindt zich in cidr-notatie (Classless Inter-Domain Routing). Dit moet worden geconverteerd naar een indeling van het begin- en eind-IP-adres met behulp van Get-IPrangeStartEnd.ps1 als volgt:

PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start        end
-----        ---
52.229.17.64 52.229.17.127

U kunt het volgende PowerShell-script gebruiken om alle IP-adressen van CIDR te converteren naar de indeling van het begin- en eind-IP-adres.

PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start          end
-----          ---
13.86.216.0    13.86.216.127
13.86.216.128  13.86.216.191
13.86.216.192  13.86.216.223

U kunt deze nu toevoegen als afzonderlijke firewallregels en vervolgens de instelling uitschakelen Azure-services en -resources toegang geven tot deze server.

SQL-servicetag

servicetags kunnen worden gebruikt in beveiligingsregels en routes van clients naar SQL Database. Servicetags kunnen worden gebruikt in netwerkbeveiligingsgroepen, Azure Firewall en door de gebruiker gedefinieerde routes door ze op te geven in het bron- of doelveld van een beveiligingsregel. De Sql-servicetag bestaat uit alle IP-adressen die worden gebruikt door SQL Database. De tag wordt verder gesegmenteerd op regio's. Bijvoorbeeld Sql.WestUS somt alle IP-adressen op die worden gebruikt door SQL Database in West-US.

De Sql-servicetag bestaat uit IP-adressen die nodig zijn om verbinding te maken met SQL Database, zoals beschreven in GATEWAY-IP-adressen. Daarnaast wordt een servicetag ook gekoppeld aan uitgaand verkeer van SQL Database dat wordt gebruikt in functies zoals:

SqlManagement-servicetag

SqlManagement-servicetag wordt gebruikt voor besturingsvlakbewerkingen voor SQL Database.

Firewallregels voor virtuele netwerken

firewallregels voor virtuele netwerken zijn eenvoudiger alternatieven voor het tot stand brengen en beheren van toegang vanaf een specifiek subnet dat uw VM's bevat.

Met Private Link kunt u verbinding maken met een server via een privé-eindpunt. Een privé-eindpunt is een privé-IP-adres binnen een specifiek virtueel netwerk en subnet.