Netzwerk-Zugriffssteuerung für Azure SQL-Datenbank und Azure Synapse Analytics
Gilt für: Azure SQL-Datenbank Azure Synapse Analytics (nur dedizierte SQL-Pools)
Wenn Sie im Azure-Portal einen logischen Server für Azure SQL-Datenbank und Azure Synapse Analytics erstellen, ist das Ergebnis ein öffentlicher Endpunkt im Format IhrServername.database.windows.net.
Mit den folgenden Netzwerkzugriffssteuerungen können Sie den Zugriff auf eine Datenbank über den öffentlichen Endpunkt selektiv zulassen:
IP-Firewallregeln: Verwenden Sie dieses Feature, um Verbindungen von einer bestimmten IP-Adresse explizit zuzulassen. Beispielsweise von lokalen Computern oder einem Bereich von IP-Adressen, indem Sie die Anfangs- und End-IP-Adresse angeben.
Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben: Wenn diese Option aktiviert ist, können andere Ressourcen innerhalb der Azure-Grenze auf die SQL-Datenbank zugreifen. Beispielsweise kann eine Azure Virtual Machine auf die Ressourcen der SQL-Datenbank zugreifen.
Sie können den privaten Zugriff auf die Datenbank über virtuelle Netzwerke auch wie folgt zulassen:
Firewallregeln für virtuelle Netzwerke: Verwenden Sie dieses Feature, um Datenverkehr von einem bestimmten virtuellen Netzwerk innerhalb der Azure-Grenze zuzulassen.
Private Link: Verwenden Sie dieses Feature zum Erstellen eines privaten Endpunkts für einen logischen Server in Azure innerhalb eines bestimmten virtuellen Netzwerks.
Wichtig
Dieser Artikel bezieht sich nicht auf SQL Managed Instance. Weitere Informationen zur Netzwerkkonfiguration finden Sie unter Herstellen einer Verbindung zwischen einer Anwendung und Azure SQL Managed Instance.
IP-Firewallregeln
Die IP-basierte Firewall ist ein Feature des logischen Servers in Azure, das den gesamten Zugriff auf den Server verhindert, bis Sie explizit die IP-Adressen für den Clientcomputer hinzufügen.
Azure-Dienste zulassen
Bei der Erstellung einer neuen logischen SQL Server-Instanz im Azure-Portal ist die Einstellung Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben standardmäßig nicht ausgewählt und nicht aktiviert. Diese Einstellung wird angezeigt, wenn die Konnektivität mithilfe des öffentlichen Endpunkts zugelassen ist.
Sie können diese Einstellung nach dem Erstellen des logischen Servers auch wie folgt über die Einstellung Netzwerk ändern.
Wenn Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben aktiviert ist, lässt Ihr Server die Kommunikation mit allen Ressourcen innerhalb der Azure-Grenze zu, und zwar unabhängig davon, ob sie zu Ihrem Abonnement gehören. In vielen Fällen ist die Aktivierung der weniger einschränkend, als es die meisten Kunden wünschen. Möglicherweise möchten Sie diese Einstellung deaktivieren und durch restriktivere IP-Firewallregeln ersetzen, oder eine der Optionen für den privaten Zugriff verwenden.
Wichtig
Wenn Sie die Option Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben aktivieren, wird eine IP-Firewallregel mit der Anfangs- und End-IP-Adresse 0.0.0.0 hinzugefügt.
Dies wirkt sich jedoch auf die folgenden Features auf virtuellen Computern in Azure aus, die nicht Teil Ihres virtuellen Netzwerks sind und somit über eine Azure-IP-Adresse eine Verbindung mit der Datenbank herstellen:
Import/Export-Dienst
Der Import-/Exportdienst funktioniert nicht, wenn Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben nicht aktiviert ist. Sie können dieses Problem jedoch umgehen, indem Sie SqlPackage manuell auf einer Azure-VM ausführen oder den Export mithilfe der DACFx-API direkt in Ihrem Code durchführen.
Datensynchronisierung
Um die Datensynchronisierungsfunktion zu verwenden, wenn Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben nicht aktiviert ist, müssen Sie einzelne Firewallregeleinträge erstellen, um IP-Adressen aus dem Sql-Diensttag für die Region hinzuzufügen, die die Hub-Datenbank hostet. Fügen Sie diese Firewallregeln auf Serverebene den Servern hinzu, die sowohl die Hub-Datenbank als auch die Mitgliedsdatenbanken hosten. (Diese können sich in verschiedenen Regionen befinden).
Verwenden Sie das folgende PowerShell-Skript, um die entsprechenden IP-Adressen für das SQL-Diensttag für die Region USA, Westen zu generieren.
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
Tipp
„Get-AzNetworkServiceTag“ gibt trotz Angabe des Parameters „Location“ den globalen Bereich für das SQL-Diensttag zurück. Filtern Sie daher nach der Region, in der die von Ihrer Synchronisierungsgruppe verwendete Hub-Datenbank gehostet wird.
Die Ausgabe des PowerShell-Skripts erfolgt in CIDR-Notation (Classless Inter-Domain Routing). Diese muss wie folgt unter Verwendung von Get-IPrangeStartEnd.ps1 in ein Format mit Start- und End-IP-Adresse konvertiert werden:
PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start end
----- ---
52.229.17.64 52.229.17.127
Sie können das folgende PowerShell-Skript verwenden, um alle IP-Adressen von CIDR in das Start- und End-IP-Adressformat zu konvertieren.
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
Sie können diese nun als unterschiedliche Firewallregeln hinzufügen und dann die Einstellung Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben deaktivieren.
SQL-Diensttag
Diensttags können in Sicherheitsregeln und Routen von Clients zu SQL-Datenbank verwendet werden. Diensttags können in Netzwerksicherheitsgruppen, Azure Firewall und benutzerdefinierten Routen verwendet werden, indem sie im Quell- oder Zielfeld einer Sicherheitsregel angegeben werden. Das SQL-Diensttag besteht aus allen IP-Adressen, die von SQL-Datenbank verwendet werden. Das Tag wird weiter nach Regionen segmentiert. Beispielsweise listet Sql.WestUS alle IP-Adressen auf, die von SQL-Datenbank in West-US verwendet werden.
Das SQL-Diensttag besteht aus IP-Adressen, die erforderlich sind, um eine Verbindung mit SQL-Datenbank herzustellen, wie in Gateway-IP-Adressen dokumentiert. Darüber hinaus wird ein Diensttag auch jedem ausgehenden Datenverkehr aus SQL-Datenbank zugeordnet, der in Features wie den folgenden verwendet wird:
- Überwachung
- Sicherheitsrisikobewertung
- Import/Export-Dienst
- OPENROWSET
- Masseneinfügung
- sp_invoke_external_rest_endpoint
- Ledger
- Azure SQL Transparent Data Encryption mithilfe eines kundenseitig verwalteten Schlüssels
SqlManagement-Diensttag
Das SqlManagement-Diensttag wird für Steuerungsebenenvorgänge der SQL-Datenbank verwendet.
Firewallregeln für virtuelle Netzwerke
Firewall-Regeln für virtuelle Netzwerke sind eine einfachere Alternative zum Einrichten und Verwalten des Zugriffs von einem bestimmten Subnetz, das Ihre VMs enthält.
Private Link
Private Link ermöglicht das Herstellen von Verbindungen mit einem Server über einen privaten Endpunkt. Ein privater Endpunkt ist eine private IP-Adresse in einem bestimmten virtuellen Netzwerk und Subnetz.
Zugehöriger Inhalt
Einen Schnellstart zum Erstellen einer IP-Firewallregel auf Serverebene finden Sie unter Schnellstart: Erstellen einer Azure SQL-Einzeldatenbank.
Einen Schnellstart zum Erstellen einer Firewallregel für ein virtuelles Netzwerk auf Serverebene finden Sie unter Verwenden von Virtual Network-Dienstendpunkten und -Regeln für Server in Azure SQL-Datenbank.
Hilfe beim Herstellen einer Verbindung mit einer Datenbank in SQL-Datenbank über Open-Source-Anwendungen oder Partneranwendungen finden Sie unter Clientschnellstart: Codebeispiele für SQL-Datenbank.
Informationen zu anderen Ports, die Sie ggf. öffnen müssen, finden Sie im Abschnitt SQL-Datenbank: Außerhalb im Vergleich zu Innerhalb im Artikel Andere Ports als 1433 für ADO.NET 4.5 und SQL-Datenbank.
Eine Übersicht über die Azure SQL-Datenbank-Konnektivität finden Sie unter Verbindungsarchitektur von Azure SQL-Datenbank.
Eine Übersicht über die Sicherheit von Azure SQL-Datenbank finden Sie unter Sichern der SQL-Datenbank.