Zulassen des Zugriffs auf den Azure Service Bus-Namespace von bestimmten IP-Adressen oder -Adressbereichen

Standardmäßig kann über das Internet auf Service Bus-Namespaces zugegriffen werden, solange die Anforderung eine gültige Authentifizierung und Autorisierung aufweist. Mit der IP-Firewall kann der Datenverkehr auf eine Gruppe von IPv4-Adressen oder IPv4-Adressbereichen in der CIDR-Notation (Klassenloses Inter-Domain Routing) weiter eingeschränkt werden.

Diese Funktion ist in Szenarien hilfreich, in denen Azure Service Bus nur von bestimmten bekannten Websites aus zugänglich sein soll. Mithilfe von Firewallregeln können Sie Regeln konfigurieren, um Datenverkehr von bestimmten IPv4-Adressen zuzulassen. Wenn Sie Service Bus mit Azure ExpressRoute verwenden, können Sie beispielsweise eine Firewallregel erstellen, um nur Datenverkehr von den IP-Adressen Ihrer lokalen Infrastruktur oder von Adressen eines unternehmenseigenen NAT-Gateways zuzulassen.

IP-Firewallregeln

Die IP-Firewallregeln werden auf der Service Bus-Namespaceebene angewendet. Daher gelten die Regeln für alle Clientverbindungen mit einem beliebigen unterstützten Protokoll (AMQP (5671) und HTTPS (443)). Jeder Verbindungsversuch über eine IP-Adresse, die nicht mit einer IP-Zulassungsregel im Service Bus-Namespace übereinstimmt, wird als nicht autorisiert abgelehnt. In der Antwort wird die IP-Regel nicht erwähnt. IP-Filterregeln werden der Reihe nach angewendet, und die erste Regel, die eine Übereinstimmung mit der IP-Adresse ergibt, bestimmt die Aktion (Zulassen oder Ablehnen).

Wichtige Punkte

  • Virtuelle Netzwerke werden nur im Tarif Premium von Service Bus unterstützt. Wenn ein Upgrade auf den Premium-Tarif keine Option ist, können IP-Firewallregeln verwendet werden. Es wird empfohlen, dass Sie die Sicherheit des SAS-Tokens (Shared Access Signature) gewährleisten und es nur für autorisierte Benutzer freigeben. Weitere Informationen zur SAS-Authentifizierung finden Sie unter Authentifizierung und Autorisierung.

  • Geben Sie mindestens eine IP-Firewallregel 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.

  • Durch Implementieren von Firewallregeln kann verhindert werden, dass andere Azure-Dienste mit Service Bus interagieren. Als Ausnahme können Sie bestimmten vertrauenswürdigen Diensten selbst dann den Zugriff auf Service Bus-Ressourcen erlauben, wenn die IP-Filterung aktiviert ist. 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

Hinweis

Die Registerkarte Netzwerk wird nur für Namespaces vom Typ Premium angezeigt. Verwenden Sie zum Festlegen von IP-Firewall-Regeln für die anderen Ebenen Azure Resource Manager-Vorlagen, Azure CLI, PowerShell oder REST API.

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. Der nächste Abschnitt enthält Details zum Konfigurieren der IP-Firewall, um die IP-Adressen anzugeben, von denen aus der Zugriff zulässig ist.

Konfigurieren einer IP-Firewall für einen vorhandenen Namespace

In diesem Abschnitt erfahren Sie, wie Sie im Azure-Portal IP-Firewallregeln für einen Service Bus-Namespace erstellen.

  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 nur von bestimmten IP-Adressen aus zuzulassen, wählen Sie die Option Ausgewählte Netzwerke aus, sofern sie noch nicht ausgewählt wurde. Gehen Sie im Abschnitt Firewall wie folgt vor:

    1. Wählen Sie die Option Client-IP-Adresse hinzufügen aus, um Ihrer aktuellen Client-IP Zugriff auf den Namespace zu gewähren.

    2. Geben Sie für Adressbereich eine bestimmte IPv4-Adresse oder einen Bereich von IPv4-Adressen in der CIDR-Notation ein.

    3. Wählen Sie unter Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben? die Option „Ja“ oder „Nein“ aus. Die Liste der vertrauenswürdigen Microsoft-Dienste für Azure Service Bus finden Sie im Abschnitt Vertrauenswürdige Microsoft-Dienste.

      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.

      Screenshot of the Azure portal Networking page. The option to allow access from Selected networks is selected and the Firewall section is highlighted.

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

    Hinweis

    Informationen zum Beschränken des Zugriffs auf bestimmte virtuelle Netzwerke finden Sie unter Zulassen des Zugriffs aus bestimmten Netzwerken.

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

In diesem Abschnitt wird eine Azure Resource Manager-Vorlage verwendet, die einem vorhandenen Service Bus-Namespace ein virtuelles Netzwerk und eine Firewallregel hinzufügt.

ipMask ist eine einzelne IPv4-Adresse oder ein Block von IP-Adressen in CIDR-Notation. In CIDR-Notation steht beispielsweise 70.37.104.0/24 für die 256 IPv4-Adressen von 70.37.104.0 bis 70.37.104.255. „24“ gibt dabei die Anzahl signifikanter Präfixbits für den Bereich an.

Hinweis

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

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespace_name": {
            "defaultValue": "mypremiumnamespace",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.ServiceBus/namespaces",
            "apiVersion": "2022-10-01-preview",
            "name": "[parameters('namespace_name')]",
            "location": "East US",
            "sku": {
                "name": "Premium",
                "tier": "Premium",
                "capacity": 1
            },
            "properties": {
                "premiumMessagingPartitions": 1,
                "minimumTlsVersion": "1.2",
                "publicNetworkAccess": "Enabled",
                "disableLocalAuth": false,
                "zoneRedundant": true
            }
        },
        {
            "type": "Microsoft.ServiceBus/namespaces/networkRuleSets",
            "apiVersion": "2022-10-01-preview",
            "name": "[concat(parameters('namespace_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.ServiceBus/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "virtualNetworkRules": [],
                "ipRules": [
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

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 IP-Firewallregeln 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 IP-Firewallregeln:

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

Informationen zum Einschränken des Service Bus-Zugriffs für virtuelle Azure-Netzwerke finden Sie unter dem folgenden Link: