Freigeben über


Konfigurieren einer IP-Firewall für einen Azure Relay-Namespace

Standardmäßig kann über das Internet auf Relaynamespaces zugegriffen werden, solange die Anforderung eine gültige Authentifizierung und Autorisierung aufweist. Mit der IP-Firewall können Sie den Zugriff auf eine Gruppe von IPv4-Adressen oder IPv4-Adressbereichen in der CIDR-Notation (Classless Inter-Domain Routing) weiter einschränken.

Diese Funktion ist in Szenarien hilfreich, in denen Azure Relay 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 z. B. Relay mit Azure Express Route verwenden, können Sie eine Firewallregel erstellen, um Datenverkehr nur von den IP-Adressen Ihrer lokalen Infrastruktur zuzulassen.

Aktivieren von IP-Firewallregeln

Die IP-Firewallregeln werden auf der Namespaceebene angewendet. Daher gelten die Regeln für alle Clientverbindungen mit einem beliebigen unterstützten Protokoll. Jeder Verbindungsversuch von einer IP-Adresse, die nicht mit einer zulässigen IP-Regel im 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).

Verwenden des Azure-Portals

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

  1. Navigieren Sie im Azure-Portal zu Ihrem Relaynamespace.
  2. Wählen Sie im linken Menü Netzwerk aus.
  3. Um den Zugriff auf bestimmte Netzwerke und IP-Adressen einzuschränken, wählen Sie die Option Ausgewählte Netzwerke aus. 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. Wenn Sie zulassen möchten, dass Microsoft-Dienste, denen der Azure Relay-Dienst vertraut, diese Firewall umgehen können, wählen Sie Ja für Zulassen, dass vertrauenswürdige Microsoft-Dienste diese Firewall umgehen? aus.

      Screenshot der Registerkarte „Öffentlicher Zugriff“ auf der Seite „Netzwerk“ mit aktivierter Firewall.

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

Verwenden von Resource Manager-Vorlagen

Mithilfe der folgenden Resource Manager-Vorlage können Sie einem vorhandenen Relaynamespace eine IP-Filterregel hinzufügen.

Die Vorlage nimmt einen Parameter an: ipMask. Dabei handelt es sich um eine einzelne IPv4-Adresse oder einen 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

Obwohl keine Verweigerungsregeln möglich sind, ist in der Azure Resource Manager-Vorlage die Standardaktion auf „Zulassen“ festgelegt. Dies schränkt die Verbindungen nicht ein. Beim Erstellen von Virtual Network- oder Firewall-Regeln muss die "defaultAction" wie folgt geändert werden:

Von

"defaultAction": "Allow"

Bis

"defaultAction": "Deny"
{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "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.

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 Azure Relay-Ressourcen gewährt.

Vertrauenswürdiger Dienst Unterstützte Verwendungsszenarien
Azure Machine Learning AML Kubernetes verwendet Azure Relay, um die Kommunikation zwischen AML-Diensten und dem Kubernetes-Cluster zu erleichtern. Azure Relay ist ein vollständig verwalteter Dienst, der eine sichere bidirektionale Kommunikation zwischen Anwendungen bereitstellt, die in verschiedenen Netzwerken gehostet werden. Dies macht es ideal für die Verwendung in Umgebungen mit privater Verbindung, bei denen die Kommunikation zwischen Azure-Ressourcen und lokalen Ressourcen eingeschränkt ist.
Azure Arc Azure Arc-fähige Dienste, die den oben aufgeführten Ressourcenanbietern zugeordnet sind, können eine Verbindung mit den Hybridverbindungen in Ihrem Azure Relay-Namespace als Absender herstellen, ohne durch die im Azure Relay-Namespace festgelegten IP-Firewallregeln blockiert zu werden. Der Microsoft.Hybridconnectivity-Dienst erstellt die Hybridverbindungen in Ihrem Azure Relay-Namespace und stellt die Verbindungsinformationen für den relevanten Arc-Dienst basierend auf dem Szenario bereit. Diese Dienste kommunizieren nur mit Ihrem Azure Relay-Namespace, wenn Sie Azure Arc verwenden, mit den folgenden Azure Services:

– Azure Kubernetes
– Azure Machine Learning
– Microsoft Purview

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

  • Azure Event Grid
  • Azure IoT Hub
  • Azure Stream Analytics
  • Azure Monitor
  • Azure API Management
  • Azure Synapse
  • Azure Data Explorer
  • Azure IoT Central
  • Azure Healthcare Data Services
  • Azure Digital Twins

Hinweis

In der Version 2021-11-01 oder höher des Microsoft Relay SDK ist die Eigenschaft „trustedServiceAccessEnabled“ in den Eigenschaften Microsoft.Relay/namespaces/networkRuleSets verfügbar, um den Trusted Service Access zu aktivieren.

Um vertrauenswürdige Dienste in Azure Resource Manager-Vorlagen zuzulassen, fügen Sie diese Eigenschaft in Ihre Vorlage ein:

"trustedServiceAccessEnabled": "True"

Basierend auf der oben bereitgestellten ARM-Vorlage können wir sie beispielsweise so ändern, dass die Eigenschaft „Netzwerkregelsatz“ für die Aktivierung vertrauenswürdiger Dienste eingeschlossen wird:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "trustedServiceAccessEnabled": "True",
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

Nächste Schritte

Weitere Informationen zu anderen Features in Bezug auf Netzwerksicherheit finden Sie unter Netzwerksicherheit.