Zulassen des Zugriffs auf den Azure Service Bus-Namespace aus bestimmten virtuellen Netzwerken

Die Integration von Service Bus mit VNET-Dienstendpunkten ermöglicht den sicheren Zugriff auf Messagingfunktionen für Workloads, z. B. an virtuelle Netzwerke (VNETs) gebundene virtuelle Computer. Der Pfad für den Netzwerkdatenverkehr ist dabei an beiden Enden geschützt.

Nachdem die Konfiguration der Bindung an mindestens einen Dienstendpunkt des VNET-Subnetzes durchgeführt wurde, akzeptiert der entsprechende Service Bus-Namespace nur noch Datenverkehr von autorisierten virtuellen Netzwerken und optional bestimmten Internet-IP-Adressen. Aus Sicht des virtuellen Netzwerks wird durch die Bindung eines Service Bus-Namespace an einen Dienstendpunkt ein isolierter Netzwerktunnel vom Subnetz des virtuellen Netzwerks zum Messagingdienst konfiguriert.

Das Ergebnis ist eine private und isolierte Beziehung zwischen den Workloads, die an das Subnetz gebunden sind, und dem entsprechenden Service Bus-Namespace, obwohl sich die beobachtbare Netzwerkadresse des Messaging-Dienstendpunkts in einem öffentlichen IP-Bereich befindet.

Wichtige Punkte

  • Virtuelle Netzwerke werden nur in Service Bus-Namespaces im Tarif Premium unterstützt. Bei der Verwendung von VNET-Dienstendpunkten mit Service Bus sollten Sie diese Endpunkte nicht in Anwendungen aktivieren, in denen Service Bus-Namespaces der Tarife Standard und Premium gemischt werden. Der Standard-Tarif unterstützt nämlich keine VNets. Der Endpunkt ist nur auf Namespaces im Premium-Tarif beschränkt.

  • Die Implementierung der VNET-Integration kann verhindern, dass andere Azure-Dienste mit Service Bus interagieren. Als Ausnahme können Sie bestimmten vertrauenswürdigen Diensten den Zugriff auf Service Bus-Ressourcen erlauben, auch wenn Netzwerkdienst-Endpunkte aktiviert sind. Eine Liste der vertrauenswürdigen Dienste finden Sie unter Vertrauenswürdige Dienste.

    Die folgenden Microsoft-Dienste müssen sich in einem virtuellen Netzwerk befinden:

    • Azure App Service
    • Azure-Funktionen
  • Geben Sie mindestens eine IP-Regel oder VNET-Regel für den Namespace an, um nur Datenverkehr von den angegebenen IP-Adressen oder dem Subnetz eines virtuellen Netzwerks zuzulassen. Wenn keine IP- und VNET-Regeln vorliegen, kann (mithilfe des Zugriffsschlüssels) über das öffentliche Internet auf den Namespace zugegriffen werden.

Erweiterte Sicherheitsszenarien basierend auf der VNET-Integration

Lösungen, für die eine strikte und auf mehrere Bereiche aufgeteilte Sicherheit erforderlich ist und bei denen die VNET-Subnetze die Segmentierung zwischen den einzelnen aufgeteilten Diensten bereitstellen, benötigen im Allgemeinen weiterhin Kommunikationspfade zwischen den Diensten, die sich in diesen Bereichen befinden.

Für alle direkten IP-Routen zwischen den Bereichen (auch für HTTPS per TCP/IP) besteht die Gefahr, dass ab der Vermittlungsschicht Sicherheitsrisiken ausgenutzt werden. Bei Messagingdiensten werden isolierte Kommunikationspfade bereitgestellt, für die Nachrichten während des Übergangs zwischen Parteien sogar auf Datenträger geschrieben werden. Workloads in zwei einzelnen virtuellen Netzwerken, die beide an dieselbe Service Bus-Instanz gebunden sind, können über Nachrichten effizient und zuverlässig kommunizieren, während die Integrität der jeweiligen Netzwerkisolationsgrenze aufrechterhalten wird.

Dies bedeutet, dass Ihre sicherheitsrelevanten Cloudlösungen nicht nur Zugriff auf zuverlässige und skalierbare Azure-Funktionen für asynchrones Messaging eines Branchenführers haben, sondern dass das Messaging jetzt auch genutzt werden kann, um Kommunikationspfade zwischen sicheren Lösungsbereichen zu erstellen. Diese sind deutlich sicherer als alle Optionen des Peer-to-Peer-Kommunikationsmodus, einschließlich HTTPS und andere per TLS geschützte Socketprotokolle.

Binden von Service Bus an virtuelle Netzwerke

VNET-Regeln sind das Feature für die Firewallsicherheit, mit dem gesteuert wird, ob Ihr Azure Service Bus-Server Verbindungen eines bestimmten VNET-Subnetzes akzeptiert.

Das Binden eines Service Bus-Namespace an ein virtuelles Netzwerk ist ein Prozess mit zwei Schritten. Zunächst müssen Sie einen VNET-Dienstendpunkt in einem Virtual Network-Subnetz erstellen und für Microsoft.ServiceBus aktivieren, wie unter Übersicht über Dienstendpunkte beschrieben. Nachdem Sie den Dienstendpunkt hinzugefügt haben, binden Sie den Service Bus-Namespace mit einer VNET-Regel daran.

Die VNET-Regel ist eine Zuordnung des Service Bus-Namespace zu einem Subnetz eines virtuellen Netzwerks. Während die Regel vorhanden ist, wird allen Workloads, die an das Subnetz gebunden sind, Zugriff auf den Service Bus-Namespace gewährt. Service Bus stellt selbst niemals ausgehende Verbindungen her, muss keinen Zugriff erhalten und erhält daher niemals Zugriff auf Ihr Subnetz, indem diese Regel aktiviert wird.

Hinweis

Beachten Sie, dass ein Netzwerkdienstendpunkt in einem virtuellen Netzwerk ausgeführte Anwendungen für den Zugriff auf den Service Bus-Namespace bereitstellt. Das virtuelle Netzwerk steuert die Erreichbarkeit des Endpunkts, aber nicht die Vorgänge, die auf Service Bus-Entitäten (Warteschlangen, Themen oder Abonnements) durchgeführt werden können. Verwenden Sie Microsoft Entra ID, um Vorgänge zu autorisieren, die die Anwendung für den Namespace und seine Entitäten ausführen können. Weitere Informationen finden Sie unter Authentifizieren und Autorisieren einer Anwendung mit Microsoft Entra ID für den Zugriff auf Azure Service Bus-Entitäten.

Verwenden des Azure-Portals

Beim Erstellen eines Namespace können Sie entweder nur öffentlichen Zugriff (aus allen Netzwerken) oder nur privaten Zugriff (nur über private Endpunkte) auf den Namespace zulassen. Nachdem der Namespace erstellt wurde, können Sie den Zugriff von bestimmten IP-Adressen oder aus bestimmten virtuellen Netzwerken (mithilfe von Netzwerkdienstendpunkten) zulassen.

Konfigurieren des öffentlichen Zugriffs beim Erstellen eines Namespace

Um den öffentlichen Zugriff zu aktivieren, wählen Sie im Assistenten zum Erstellen von Namespaces auf der Seite Netzwerk die Option Öffentlicher Zugriff aus.

Screenshot showing the Networking page of the Create namespace wizard with Public access option selected.

Wählen Sie nach Erstellung des Namespace im linken Menü der Seite Service Bus-Namespace die Option Netzwerk aus. Sie sehen, dass die Option Alle Netzwerke ausgewählt ist. Sie können die Option Ausgewählte Netzwerke auswählen und den Zugriff von bestimmten IP-Adressen oder bestimmten virtuellen Netzwerken zulassen. Im nächsten Abschnitt finden Sie Details zur Angabe der Netzwerke, von denen aus der Zugriff zulässig sein soll.

Konfigurieren ausgewählter Netzwerke für einen vorhandenen Namespace

In diesem Abschnitt erfahren Sie, wie Sie mit dem Azure-Portal einen VNET-Dienstendpunkt hinzufügen. Zum Beschränken des Zugriffs müssen Sie den VNET-Dienstendpunkt für diesen Event Hubs-Namespace integrieren.

  1. Navigieren Sie im Azure-Portal zu Ihrem Service Bus-Namespace.

  2. Wählen Sie im Menü links unter Einstellungen die Option Netzwerk aus.

    Hinweis

    Die Registerkarte Netzwerk wird nur für Namespaces vom Typ Premium angezeigt.

  3. Auf der Seite Netzwerk können Sie für Öffentlicher Netzwerkzugriff eine der drei folgenden Optionen festlegen. Wählen Sie die Option Ausgewählte Netzwerke, um Zugriff nur über bestimmte IP-Adressen zuzulassen.

    • Deaktiviert. Mit dieser Option wird jeglicher öffentliche Zugriff auf den Namespace deaktiviert. Auf den Namespace kann nur über private Endpunkte zugegriffen werden.

      Screenshot that shows the Networking page of a namespace with public access disabled.

      Wählen Sie aus, ob Sie vertrauenswürdigen Microsoft-Diensten erlauben möchten, die Firewall zu umgehen. Die Liste der vertrauenswürdigen Microsoft-Dienste für Azure Service Bus finden Sie im Abschnitt Vertrauenswürdige Microsoft-Dienste.

    • Ausgewählte Netzwerke: Diese Option ermöglicht den öffentlichen Zugriff auf den Namespace unter Verwendung eines Zugriffsschlüssels aus ausgewählten Netzwerken.

      Wichtig

      Wenn Sie Ausgewählte Netzwerke auswählen, fügen Sie mindestens eine IP-Firewallregel oder ein virtuelles Netzwerk hinzu, das Zugriff auf den Namespace hat. Wählen Sie Deaktiviert, wenn Sie den gesamten Datenverkehr an diesen Namespace auf private Endpunkte beschränken möchten.

    • Alle Netzwerke (Standardeinstellung): Diese Option ermöglicht den öffentlichen Zugriff aus allen Netzwerken mit einem Zugriffsschlüssel. Wenn Sie die Option Alle Netzwerke auswählen, akzeptiert Service Bus Verbindungen von beliebigen IP-Adressen (mit dem Zugriffsschlüssel). Diese Einstellung entspricht einer Regel, bei der der IP-Adressbereich 0.0.0.0/0 zulässig ist.

  4. Um den Zugriff auf bestimmte virtuelle Netzwerke zu beschränken, wählen Sie die Option Ausgewählte Netzwerke aus, sofern sie noch nicht ausgewählt wurde.

  5. Wählen Sie im Abschnitt Virtuelles Netzwerk der Seite die Option + Vorhandenes virtuelles Netzwerk hinzufügen aus. Wählen Sie + Neues virtuelles Netzwerk erstellen aus, wenn Sie ein neues VNET erstellen möchten.

    Image showing the selection of Add existing virtual network button on the toolbar.

    Warnung

    Wenn Sie die Option Ausgewählte Netzwerke auswählen und auf dieser Seite nicht mindestens eine IP-Firewallregel oder ein virtuelles Netzwerk hinzufügen, kann (mit dem Zugriffsschlüssel) über das öffentliche Internet auf den Namespace zugegriffen werden.

  6. Wählen Sie in der Liste mit den virtuellen Netzwerken das virtuelle Netzwerk und anschließend das Subnetz aus. Sie müssen den Dienstendpunkt aktivieren, bevor Sie das virtuelle Netzwerk der Liste hinzufügen. Wenn der Dienstendpunkt nicht aktiviert ist, erhalten Sie im Portal eine entsprechende Eingabeaufforderung zur Aktivierung.

    Image showing the selection of VNet and subnet.

  7. Die folgende Erfolgsmeldung sollte angezeigt werden, nachdem der Dienstendpunkt für das Subnetz für Microsoft.ServiceBus aktiviert wurde. Wählen Sie unten auf der Seite die Option Hinzufügen aus, um das Netzwerk hinzuzufügen.

    Image showing the success message of enabling the service endpoint.

    Hinweis

    Falls Sie den Dienstendpunkt nicht aktivieren können, können Sie den fehlenden VNET-Dienstendpunkt ignorieren und die Resource Manager-Vorlage verwenden. Diese Funktionalität ist nicht im Portal verfügbar.

  8. Wählen Sie auf der Symbolleiste Speichern aus, um die Einstellungen zu speichern. Warten Sie einige Minuten, bis die Bestätigung in den Portalbenachrichtigungen angezeigt wird. Die Schaltfläche Speichern sollte deaktiviert sein.

    Image showing the network service endpoint saved.

    Hinweis

    Anweisungen dazu, wie Sie den Zugriff von bestimmten IP-Adressen oder -Adressbereichen zulassen, finden Sie unter Zulassen des Zugriffs von bestimmten IP-Adressen oder -Adressbereichen.

Vertrauenswürdige Microsoft-Dienste

Wenn Sie die Einstellung Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben aktivieren, wird den folgenden Diensten Zugriff auf Ihre Service Bus-Ressourcen gewährt.

Vertrauenswürdiger Dienst Unterstützte Verwendungsszenarien
Azure Event Grid Ermöglicht Azure Event Grid das Senden von Ereignissen an Warteschlangen oder Themen in Ihrem Service Bus-Namespace. Sie müssen außerdem die folgenden Schritte ausführen:
  • Aktivieren der vom System zugewiesenen Identität für ein Thema oder eine Domäne
  • Hinzufügen der Identität der Rolle „Azure Service Bus-Datenabsender“ für den Service Bus-Namespace
  • Konfigurieren Sie dann das Ereignisabonnement, das eine Service Bus-Warteschlange oder ein Thema als Endpunkt verwendet, um die vom System zugewiesene Identität zu verwenden.

Weitere Informationen finden Sie unter Ereignisübermittlung mit einer verwalteten Identität.

Azure Stream Analytics Ermöglicht einem Azure Stream Analytics-Auftrag das Ausgeben von Daten in Service Bus-Warteschlangen für Themen.

Wichtig: Der Stream Analytics-Auftrag sollte so konfiguriert werden, dass er eine verwaltete Identität für den Zugriff auf den Service Bus-Namespace verwendet. Fügen Sie der Rolle Azure Service Bus-Datensender für den Service Bus-Namespace die Identität hinzu.

Azure IoT Hub Ermöglicht einem IoT Hub das Senden von Nachrichten an Warteschlangen oder Themen in Ihrem Service Bus-Namespace. Sie müssen außerdem die folgenden Schritte ausführen:
Azure API Management

Der API Management-Dienst ermöglicht Ihnen das Senden von Nachrichten an eine Service Bus-Warteschlange bzw. ein -Thema im Service Bus-Namespace.

Azure IoT Central

Ermöglicht IoT Central das Exportieren von Daten in Service Bus-Warteschlangen oder -Themen in Ihrem Service Bus-Namespace. Sie müssen außerdem die folgenden Schritte ausführen:

  • Aktivieren der systemseitig zugewiesenen Identität für Ihre IoT Central-Anwendung
  • Fügen Sie der Rolle Azure Service Bus-Datensender für den Service Bus-Namespace die Identität hinzu.
  • Konfigurieren Sie dann das Service Bus-Exportziel in Ihrer IoT Central-Anwendung, um die identitätsbasierte Authentifizierung zu verwenden.
Azure Digital Twins Ermöglicht Azure Digital Twins das Ausgeben von Daten an Service Bus-Themen in Ihrem Service Bus-Namespace. Sie müssen außerdem die folgenden Schritte ausführen:

  • Aktivieren Sie die systemseitig zugewiesene Identität für Ihre Azure Digital Twins-Instanz.
  • Fügen Sie der Rolle Azure Service Bus-Datensender für den Service Bus-Namespace die Identität hinzu.
  • Konfigurieren Sie dann einen Azure Digital Twins-Endpunkt oder eine Azure Digital Twins-Datenverlaufsverbindung, welche die systemseitig zugewiesene Identität zur Authentifizierung verwendet. Weitere Informationen zum Konfigurieren von Endpunkten und Ereignisrouten zu Service Bus-Ressourcen von Azure Digital Twins finden Sie unter Routen von Azure Digital Twins-Ereignissen und Erstellen von Endpunkten in Azure Digital Twins.
Azure Monitor (Diagnoseeinstellungen und Aktionsgruppen) Ermöglicht Azure Monitor das Senden von Diagnoseinformationen und Warnungsbenachrichtigungen an Service Bus in Ihrem Service Bus-Namespace. Azure Monitor kann Daten aus dem Service Bus-Namespace lesen und in diesen schreiben.
Azure Synapse Ermöglicht Azure Synapse, mithilfe der verwalteten Identität des Synapse-Arbeitsbereichs eine Verbindung mit Service Bus herzustellen. Fügen Sie der Identität im Service Bus-Namespace die Rolle „Azure Service Bus-Datensender“, „Azure Service Bus-Datenempfänger“ oder „Azure Service Bus-Datenbesitzer“ hinzu.

Die anderen vertrauenswürdigen Dienste für Azure Service Bus finden Sie unten:

  • Azure-Daten-Explorer
  • Azure Health Data Services
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview

Verwenden von Resource Manager-Vorlagen

Die folgende Resource Manager-Beispielvorlage fügt einem vorhandenen Service Bus-Namespace eine VNET-Regel hinzu. Die Netzwerkregel gibt die ID eines Subnetzes in einem virtuellen Netzwerk an.

Die ID ist ein voll qualifizierter Resource Manager-Pfad für das Subnetz des virtuellen Netzwerks. Beispielsweise /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default für das Standardsubnetz eines virtuellen Netzwerks.

Hinweis

Der Standardwert von defaultAction ist Allow. Legen Sie beim Hinzufügen von VNet- oder Firewallregeln defaultAction auf Deny fest.

Vorlage:

{
	"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
	"contentVersion": "1.0.0.0",
	"parameters": {
		"servicebusNamespaceName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Service Bus namespace"
			}
		},
		"virtualNetworkName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Rule"
			}
		},
		"subnetName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Sub Net"
			}
		},
		"location": {
			"type": "string",
			"metadata": {
				"description": "Location for Namespace"
			}
		}
	},
	"variables": {
		"namespaceNetworkRuleSetName": "[concat(parameters('servicebusNamespaceName'), concat('/', 'default'))]",
		"subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
	},
	"resources": [{
			"apiVersion": "2022-10-01-preview",
			"name": "[parameters('servicebusNamespaceName')]",
			"type": "Microsoft.ServiceBus/namespaces",
			"location": "[parameters('location')]",
			"sku": {
				"name": "Premium",
				"tier": "Premium",
				"capacity": 1
			},
			"properties": {
				"premiumMessagingPartitions": 1,
				"minimumTlsVersion": "1.2",
				"publicNetworkAccess": "Enabled",
				"disableLocalAuth": false,
				"zoneRedundant": true
			}
		},
		{
			"apiVersion": "2022-07-01",
			"name": "[parameters('virtualNetworkName')]",
			"location": "[parameters('location')]",
			"type": "Microsoft.Network/virtualNetworks",
			"properties": {
				"addressSpace": {
					"addressPrefixes": [
						"10.0.0.0/23"
					]
				},
				"subnets": [{
					"name": "[parameters('subnetName')]",
					"properties": {
						"addressPrefix": "10.0.0.0/23",
						"serviceEndpoints": [{
							"service": "Microsoft.ServiceBus"
						}]
					}
				}]
			}
		},
		{
			"apiVersion": "2022-10-01-preview",
			"name": "[variables('namespaceNetworkRuleSetName')]",
			"type": "Microsoft.ServiceBus/namespaces/networkruleset",
			"dependsOn": [
				"[concat('Microsoft.ServiceBus/namespaces/', parameters('servicebusNamespaceName'))]"
			],
			"properties": {
				"publicNetworkAccess": "Enabled",
				"defaultAction": "Deny",
				"virtualNetworkRules": [{
					"subnet": {
						"id": "[variables('subNetId')]"
					},
					"ignoreMissingVnetServiceEndpoint": false
				}],
				"ipRules": [],
				"trustedServiceAccessEnabled": false
			}
		}
	],
	"outputs": {}
}

Gehen Sie zum Bereitstellen der Vorlage gemäß den Anweisungen für Azure Resource Manager vor.

Wichtig

Wenn keine IP- und VNET-Regeln vorliegen, fließt der gesamte Datenverkehr auch dann in den Namespace, wenn Sie für defaultAction den Wert deny festlegen. Der Zugriff auf den Namespace erfolgt (mithilfe des Zugriffsschlüssels) über das öffentliche Internet. Geben Sie mindestens eine IP-Regel oder eine VNET-Regel für den Namespace an, um nur Datenverkehr von den angegebenen IP-Adressen oder dem Subnetz eines virtuellen Netzwerks zuzulassen.

Mithilfe der Azure-Befehlszeilenschnittstelle

Verwenden Sie az servicebus namespace network-rule-set-Befehle zum Hinzufügen, Auflisten, Aktualisieren und Entfernen, um VNET-Regeln für einen Service Bus-Namespace zu verwalten.

Mithilfe von Azure PowerShell

Verwenden Sie die folgenden Azure PowerShell-Befehle zum Hinzufügen, Auflisten, Entfernen, Aktualisieren und Löschen von Netzwerkregeln für einen Service Bus-Namespace:

Standardaktion und Zugriff auf das öffentliche Netzwerk

REST-API

Der Standardwert der Eigenschaft defaultAction war Deny (für API-Versionen bis einschließlich 2021-01-01-preview). Die Ablehnungsregel wird jedoch nur erzwungen, wenn Sie IP-Filter oder VNet-Regeln (virtuelles Netzwerk) festlegen. Wenn Sie über keine IP-Filter oder VNet-Regeln verfügen, wird sie als Allow behandelt.

Ab der API-Version 2021-06-01-preview hat die Eigenschaft defaultAction den Standardwert Allow, um die dienstseitige Erzwingung korrekt widerzuspiegeln. Wenn die Standardaktion auf Deny festgelegt ist, werden IP-Filter und VNet-Regeln erzwungen. Ist die Standardaktion auf Allow festgelegt, werden IP-Filter und VNet-Regeln nicht erzwungen. Der Dienst speichert die Regeln, wenn Sie sie deaktivieren und dann wieder aktivieren.

Mit der API-Version 2021-06-01-preview wird auch eine neue Eigenschaft namens publicNetworkAccess eingeführt. Wenn sie auf Disabled festgelegt ist, sind Vorgänge auf private Verbindungen beschränkt. Ist sie auf Enabled festgelegt, sind Vorgänge über das öffentliche Internet zulässig.

Weitere Informationen zu diesen Eigenschaften finden Sie unter Namespaces: Netzwerkregelsatz: Erstellen oder Aktualisieren des Netzwerkregelsatzes sowie unter Verbindungen mit privaten Endpunkten: Erstellen oder Aktualisieren.

Hinweis

Keine der obigen Einstellungen umgeht die Validierung von Ansprüchen per SAS- oder Microsoft Entra-Authentifizierung. Die Authentifizierungsüberprüfung wird immer erst im Anschluss an die durch die Einstellungen defaultAction, publicNetworkAccess und privateEndpointConnections konfigurierten Netzwerküberprüfungen ausgeführt.

Azure-Portal

Das Azure-Portal verwendet immer die neueste API-Version, um Eigenschaften abzurufen und festzulegen. Wenn Sie Ihren Namespace zuvor mit einer Version bis einschließlich 2021-01-01-preview konfiguriert und dabei defaultAction auf Deny festgelegt sowie keine IP-Filter und VNet-Regeln angegeben haben, hätte das Portal in der Vergangenheit Ausgewählte Netzwerke auf der Seite Netzwerk Ihres Namespace überprüft. Nun wird die Option Alle Netzwerke überprüft.

Screenshot of the Azure portal Networking page. The option to allow access from All networks is selected on the Firewalls and virtual networks tab.

Nächste Schritte

Weitere Informationen zu virtuellen Netzwerken finden Sie unter den folgenden Links: