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.

Screenshot: Verwalten der Serverfirewall

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:

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 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.