Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:Azure SQL-Datenbank
Virtuelle Netzwerkregeln sind eine Firewall-Sicherheitsfunktion, die steuert, ob der Server für Ihre Datenbanken und elastischen Pools in Azure SQL-Datenbank Kommunikationen akzeptiert, die von bestimmten Subnetzen in virtuellen Netzwerken gesendet werden. Dieser Artikel erklärt, warum virtuelle Netzwerkregeln manchmal Ihre beste Option sind, um die Kommunikation mit Ihrer Datenbank in SQL Database sicher zu ermöglichen.
Hinweis
In diesem Artikel bezeichnet Server den logischen Server, der Datenbanken in der Azure SQL-Datenbank hostet.
Damit eine VNET-Regel erstellt werden kann, muss zuerst ein VNET-Dienstendpunkt vorhanden sein, auf den die Regel verweisen kann.
Hinweis
Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.
Regel für ein virtuelles Netzwerk erstellen
Wenn Sie nur eine VNET-Regel erstellen möchten, können Sie mit den Schritten und der Erklärung weiter unten in diesem Artikel fortfahren.
Details zu Regeln für virtuelle Netzwerke
In diesem Abschnitt werden verschiedene Details zu VNET-Regeln beschrieben.
Nur eine geografische Region
Jeder VNET-Dienstendpunkt gehört nur zu einer Azure-Region. Der Endpunkt ermöglicht anderen Regionen nicht das Akzeptieren von Kommunikation aus dem Subnetz.
Eine VNET-Regel ist auf die Region beschränkt, zu der der zugrunde liegende Endpunkt gehört.
Auf Serverebene, nicht auf Datenbankebene
Jede VNET-Regel gilt für den gesamten Server und nicht nur für eine bestimmte Datenbank auf dem Server. Das heißt, dass VNET-Regeln auf Server- und nicht auf Datenbankebene gelten.
Im Gegensatz dazu können IP-Regeln auf jeder der beiden Ebenen gelten.
Sicherheitsverwaltungsrollen
Bei der Verwaltung der VNET-Dienstendpunkte erfolgt eine Trennung von Sicherheitsrollen. Von jeder der folgenden Rollen ist eine Aktion erforderlich:
- Netzwerkadministrator (Rolle Netzwerkmitwirkender): Aktivieren Sie den Endpunkt.
- Datenbankadministrator (Rolle „Mitwirkender für SQL Server“): Aktualisieren Sie die Zugriffssteuerungsliste, um das angegebene Subnetz dem Server hinzuzufügen.
Alternative zur Azure RBAC
Die Rollen „Netzwerkadministrator“ und „Datenbankadministrator“ haben mehr Zugriffsrechte, als für die Verwaltung von VNET-Regeln erforderlich ist. Du brauchst nur eine Teilmenge ihrer Funktionen.
Sie können rollenbasierte Zugriffskontrolle (RBAC) in Azure verwenden, um eine einzelne benutzerdefinierte Rolle zu erstellen, die nur die notwendige Teilmenge an Funktionen besitzt. Du kannst die benutzerdefinierte Rolle verwenden, anstatt entweder den Netzwerkadministrator oder den Datenbankadministrator einzubeziehen. Die Angriffsfläche deiner Sicherheitsgefährdung ist geringer, wenn du einen Benutzer zu einer benutzerdefinierten Rolle hinzufügst, als wenn du den Benutzer zu den anderen beiden großen Administratorrollen hinzufügst.
Hinweis
In einigen Fällen befinden sich die Datenbank in SQL Database und das VNET-Subnetz in unterschiedlichen Abonnements. In diesen Fällen müssen Sie folgende Konfigurationen sicherstellen:
- Der Benutzer muss über die erforderlichen Berechtigungen zum Initiieren der Vorgänge verfügen. Dazu gehören z. B. das Aktivieren von Dienstendpunkten und das Hinzufügen eines VNET-Subnetzes dem angegebenen Server.
- In beiden Abonnements ist der
Microsoft.Sql-Anbieter registriert.
Einschränkungen
Bei SQL-Datenbank gelten für VNET-Regeln folgende Einschränkungen:
- In der Firewall für Ihre Datenbank in SQL-Datenbank verweist jede VNET-Regel auf ein Subnetz. Sie müssen alle diese referenzierten Subnetze in derselben geografischen Region hosten, die die Datenbank beherbergt.
- Für jeden Server können für jedes beliebige virtuelle Netzwerk maximal 128 Einträge in der Zugriffssteuerungsliste enthalten sein.
- Regeln für virtuelle Netzwerke gelten nur für virtuelle Azure Resource Manager-Netzwerke und nicht für Netzwerke im klassischen Bereitstellungsmodell.
- Auf der Firewall gelten IP-Adressbereiche für die folgenden Netzwerkelemente, aber virtuelle Netzwerkregeln nicht:
- Beide Abonnements müssen demselben Microsoft Entra-Mandanten zugeordnet sein.
Überlegungen zur Verwendung von Dienstendpunkten
Berücksichtigen Sie bei der Verwendung von Dienstendpunkten für SQL-Datenbank folgende Überlegungen:
- Ausgehender Datenverkehr zu den öffentlichen IP-Adressen von Azure SQL-Datenbank ist erforderlich. Sie müssen Netzwerksicherheitsgruppen (NSGs) für SQL-Datenbank-IPs öffnen, um die Verbindung zu ermöglichen. Sie erreichen dies, indem Sie für SQL-Datenbank NSG-Servicetags verwenden.
ExpressRoute
Wenn Sie ExpressRoute von Ihrem Standort aus verwenden, für öffentliches Peering oder Microsoft-Peering, müssen Sie die verwendeten NAT-IP-Adressen identifizieren. Beim Public Peering werden für jede ExpressRoute-Verbindung standardmäßig zwei NAT-IP-Adressen verwendet. Diese werden für den Datenverkehr der Azure-Dienste verwendet, wenn der Datenverkehr im Microsoft Azure-Netzwerk-Backbone eintrifft. Beim Microsoft-Peering stellt entweder der Kunde oder der Dienstleister die verwendeten NAT-IP-Adressen bereit. Um den Zugriff auf Ihre Dienstressourcen zuzulassen, müssen Sie diese öffentlichen IP-Adressen in der Ressourceneinstellung der IP-Firewall zulassen. Öffnen Sie über das Azure-Portal ein Supportticket für ExpressRoute, um die IP-Adressen Ihrer ExpressRoute-Verbindung für öffentliches Peering zu ermitteln. Weitere Informationen zu NAT für öffentliches ExpressRoute-Peering und Microsoft-Peering finden Sie unter NAT-Anforderungen für öffentliches Azure-Peering.
Um die Kommunikation von Ihrer Leitung mit SQL-Datenbank zu ermöglichen, müssen Sie IP-Netzwerkregeln für die öffentlichen IP-Adressen Ihrer NAT erstellen.
Auswirkungen der Verwendung von VNET-Dienstendpunkten mit Azure Storage
Azure Storage unterstützt virtuelle Netzwerkservice-Endpunkte, die die Konnektivität zu einem Speicherkonto begrenzen. Wenn SQL Database ein Konto mit dieser Konfiguration verwendet, überprüfen Sie die Auswirkungen auf das Blob-Auditing.
Azure SQL-Datenbank-Überwachung in Blob Storage
Die Azure SQL-Überwachung kann SQL-Überwachungsprotokolle in Ihr eigenes Speicherkonto schreiben. Wenn dieses Speicherkonto das VNET-Dienstendpunktfeature verwendet, finden Sie weitere Informationen unter Schreiben von Überwachungsprotokollen in ein Speicherkonto hinter einem VNET oder einer Firewall.
Fügen Sie Ihrem Server eine Firewallregel für virtuelle Netzwerke hinzu
Bevor diese Funktion erweitert wurde, musste man virtuelle Netzwerkservice-Endpunkte aktivieren, bevor man eine aktive Regel für virtuelle Netzwerke in der Firewall implementieren konnte. Die Endpunkte verknüpfen ein bestimmtes VNET-Subnetz mit einer Datenbank in SQL Database. Seit Januar 2018 können Sie diese Anforderung umgehen, indem Sie das Flag IgnoreMissingVNetServiceEndpoint setzen. Nun können Sie auf dem Server eine Firewallregel für virtuelle Netzwerke hinzufügen, ohne VNET-Dienstendpunkte zu aktivieren.
Allein das Festlegen einer Firewallregel trägt nicht zum Schutz des Servers bei. Sie müssen auch VNET-Dienstendpunkte aktivieren, damit die Sicherheitsfunktion wirksam wird. Wenn Sie Dienstendpunkte aktivieren, fällt das VNET-Subnetz solange aus, bis der Übergang von „deaktiviert“ zu „aktiviert“ abgeschlossen ist. Diese Ausfallzeit ist insbesondere bei großen virtuellen Netzwerken von Bedeutung. Du kannst die Flag IgnoreMissingVNetServiceEndpoint nutzen, um die Ausfallzeiten während des Übergangs zu reduzieren oder zu eliminieren.
Du kannst das Flag IgnoreMissingVNetServiceEndpoint mit PowerShell setzen. Weitere Informationen finden Sie unter Verwenden von PowerShell zum Erstellen eines VNET-Dienstendpunkts und einer Regel für SQL-Datenbank.
Verwenden Sie das Azure-Portal, um eine Regel für ein virtuelles Netzwerk zu erstellen.
In diesem Abschnitt wird veranschaulicht, wie Sie im Azure-Portal eine VNET-Regel in Ihrer Datenbank in SQL-Datenbank erstellen. Die Regel weist Ihre Datenbank an, Kommunikation von einem bestimmten Subnetz zu akzeptieren, das Sie als virtuellen Netzwerk-Service-Endpunkt markiert haben.
Hinweis
Um einen Service-Endpunkt zu den virtuellen Netzwerk-Firewall-Regeln Ihres Servers hinzuzufügen, stellen Sie zunächst sicher, dass Service-Endpunkte für das Subnetz aktiviert sind.
Wenn Dienstendpunkte für das Subnetz nicht aktiviert sind, werden Sie im Portal dazu aufgefordert. Wählen Sie im selben Bereich, auf dem Sie auch die Regel hinzufügen, die Schaltfläche Aktivieren aus.
Voraussetzungen
Sie müssen bereits über ein Subnetz verfügen, das mit dem bestimmten VNET-Dienstendpunkt type name gekennzeichnet ist, der für SQL-Datenbank relevant ist.
- Der Typname dieses Endpunkts ist Microsoft.Sql.
- Wenn Ihr Subnetz möglicherweise nicht mit dem Typnamen gekennzeichnet ist, lesen Sie unter Überprüfen, ob Ihr Subnetz ein Endpunkt ist nach.
Schritte im Azure-Portal
Melden Sie sich beim Azure-Portal an.
Suchen Sie nach SQL-Server, und wählen Sie dann Ihren Server aus. Wählen Sie unter Sicherheit die Option Netzwerken aus.
Stellen Sie auf der Registerkarte Öffentlicher Zugriff sicher, dass der Öffentlicher Netzwerkzugriff auf Netzwerke auswählen festgelegt ist. Andernfalls sind die Einstellungen für virtuelle Netzwerke ausgeblendet. Wählen Sie die Option + Vorhandenes virtuelles Netzwerk hinzufügen in dem Abschnitt Virtuelle Netzwerke aus.
Füllen Sie im Bereich Erstellen/Aktualisieren die Felder mit den Namen Ihrer Azure-Ressourcen aus.
Tipp
Sie müssen das richtige Adresspräfix für Ihr Subnetz hinzufügen. Den Wert für das Adresspräfix finden Sie im Portal. Navigieren Sie zu Alle Ressourcen>Alle Typen>Virtuelle Netzwerke. Der Filter zeigt Ihre virtuellen Netzwerke an. Wählen Sie Ihr virtuelles Netzwerk und dann Subnetze aus. Die Spalte ADRESSBEREICH enthält das Adresspräfix, das Sie benötigen.
Sehen Sie sich die resultierende VNET-Regel im Bereich Firewall an.
Legen Sie Zugriff von Azure-Diensten und -Ressourcen auf diesen Server zulassen auf Nein fest.
Wichtig
Wenn Sie Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben aktiviert lassen, akzeptiert Ihr Server die Kommunikation von jedem Subnetz innerhalb der Azure-Grenzen. Diese Kommunikation stammt von einer der IP-Adressen, die als zu den für Azure-Rechenzentren definierten IP-Adressbereichen gehörend erkannt wird. Das Steuerelement aktiviert zu lassen, kann unter Sicherheitsaspekten zu einem übermäßigen Zugriff führen. Mithilfe der Features VNET-Dienstendpunkte von Microsoft Azure und VNET-Regeln von SQL-Datenbank können Sie die Angriffsfläche verkleinern.
Wählen Sie am unteren Rand des Bereichs die Schaltfläche OK aus.
Hinweis
Für die Regeln gelten die folgenden Status oder Zustände:
- Erfolgreich: Zeigt an, dass die von Ihnen eingeleitete Operation erfolgreich war.
- Fehlgeschlagen: Zeigt an, dass die von Ihnen eingeleitete Operation fehlgeschlagen ist.
-
Gelöscht: Gilt nur für die Operation
Deleteund zeigt an, dass die Regel gelöscht wurde und nicht mehr gilt. - InProgress (In Bearbeitung): Gibt an, dass der Vorgang ausgeführt wird. In diesem Zustand wird die alte Regel weiter angewendet.
Verwenden Sie PowerShell, um eine Regel für ein virtuelles Netzwerk zu erstellen.
Du kannst ein Skript verwenden, um virtuelle Netzwerkregeln mit dem PowerShell-Cmdlet New-AzSqlServerVirtualNetworkRule oder az network vnet create zu erstellen. Weitere Informationen finden Sie unter Verwenden von PowerShell zum Erstellen eines VNET-Dienstendpunkts und einer Regel für SQL-Datenbank.
Verwenden Sie die REST-API, um eine Regel für ein virtuelles Netzwerk zu erstellen
Intern rufen die PowerShell-Cmdlets für SQL-VNET-Aktionen REST-APIs auf. Sie können die REST-APIs direkt aufrufen. Weitere Informationen finden Sie unter Regeln für virtuelle Netzwerke: Vorgangsweisen.
Fehler 40914 und 40615 beheben
Der Verbindungsfehler 40914 bezieht sich auf Regeln für virtuelle Netzwerke, die im Azure-Portal im Bereich Firewall angegeben werden.
Fehler 40615 ist ähnlich, bezieht sich aber auf IP-Adressregeln in der Firewall.
Fehler 40914
Nachrichtentext: „Der bei der Anmeldung angeforderte Server ' [Servername] ' kann nicht geöffnet werden. Dem Client ist der Zugriff auf den Server nicht gestattet.“
Fehlerbeschreibung: Der Client befindet sich in einem Subnetz, das Serverendpunkte für virtuelle Netzwerke hat. Der Server hat jedoch keine virtuelle Netzwerkregel, die dem Subnetz das Recht gibt, mit der Datenbank zu kommunizieren.
Fehlerbehebung: Verwenden Sie im Azure-Portal im Bereich Firewall die Steuerung von VNET-Regeln, um eine Regel für ein virtuelles Netzwerk hinzuzufügen.
Fehler 40615
Nachrichtentext: „Der bei der Anmeldung angeforderte Server '{0}' kann nicht geöffnet werden. Der Client mit der IP-Adresse '{1}' hat keine Zugriffsberechtigung für den Server.“
Fehlerbeschreibung: Der Client versucht, eine Verbindung über eine IP-Adresse herzustellen, die nicht berechtigt ist, eine Verbindung mit dem Server herzustellen. Die Serverfirewall enthält keine IP-Adressregel, die einem Client die Kommunikation mit der Datenbank über die angegebene IP-Adresse erlaubt.
Fehlerbehebung: Geben Sie als IP-Regel die IP-Adresse des Clients ein. Verwenden Sie den Firewall-Bereich im Azure-Portal, um diesen Schritt abzuschließen.
Virtual network service endpoints for Azure Synapse Analytics
Weitere Informationen finden Sie unter Virtual network service endpoints and rules for Azure Synapse Analytics.