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 den 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. Da die Standardebene keine virtuellen Netzwerke (VNets) unterstützt. 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 Integration des Virtuellen Netzwerks
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.
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.
Navigieren Sie im Azure-Portal zu Ihrem Service Bus-Namespace.
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.
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.
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.
Deaktiviert. Mit dieser Option wird jeglicher öffentliche Zugriff auf den Namespace deaktiviert. Auf den Namespace kann nur über private Endpunkte zugegriffen werden.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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:
|
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:
|
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
- Microsoft Defender für Cloud
- Azure Provider Hub
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:
Set-AzServiceBusNetworkRuleSet
zum Hinzufügen einer VNET-Regel.New-AzServiceBusVirtualNetworkRuleConfig
undSet-AzServiceBusNetworkRuleSet
zusammen zum Hinzufügen einer VNET-Regel.
Standardaktion und Zugriff auf öffentliche Netzwerke
REST-API
Der Standardwert der Eigenschaft defaultAction
war Deny
(für API-Versionen bis einschließlich 2021-01-01-preview). Die Verweigerungsregel wird jedoch nur erzwungen, wenn Sie IP-Filter oder virtuelle Netzwerkregeln festlegen. Das heißt, wenn Sie keine IP-Filter oder Regeln für virtuelle Netzwerke verwendet haben, wird es 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 virtuelle Netzwerkregeln erzwungen. Wenn die Standardaktion auf Allow
festgelegt ist, werden IP-Filter und virtuelle Netzwerkregeln 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 Erstellen oder Aktualisieren von Verbindungen mit privaten Endpunkten.
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 virtuelle Netzwerkregeln angegeben haben, wurde früher im Portal auf der Seite Netzwerk Ihres Namespace die Option Ausgewählte Netzwerke ausgewählt. Nun wird die Option Alle Netzwerke überprüft.
Zugehöriger Inhalt
Weitere Informationen zu virtuellen Netzwerken finden Sie unter den folgenden Links: