Freigeben über


Verwenden von IP-Verbindungsfiltern in Azure IoT DPS

Sicherheit ist ein wichtiger Aspekt jeder IoT-Lösung. Manchmal müssen Sie im Rahmen der Sicherheitskonfiguration die IP-Adressen explizit angeben, über die Geräte eine Verbindung herstellen können. Mit dem Feature IP-Filter für einen Azure IoT Hub Device Provisioning-Dienst (Device Provisioning Service, DPS) können Sie Regeln zur Ablehnung oder Akzeptierung des Datenverkehrs von bestimmten IPv4-Adressen konfigurieren.

Wann verwenden

Es gibt zwei spezifische Anwendungsfälle, in denen es nützlich ist, Verbindungen mit einem DPS-Endpunkt von bestimmten IP-Adressen zu blockieren:

  • Ihr DPS sollte Datenverkehr nur aus einem bestimmten IP-Adressbereich empfangen und jeglichen anderen Datenverkehr ablehnen. Beispielsweise verwenden Sie Ihr DPS mit Azure Express Route , um private Verbindungen zwischen einer DPS-Instanz und Ihren Geräten zu erstellen.

  • Sie müssen den Datenverkehr von IP-Adressen ablehnen, die vom DPS-Administrator als verdächtig identifiziert werden.

Einschränkungen für IP-Filterregeln

Beachten Sie die folgenden Einschränkungen bei aktivierter IP-Filterung:

  • Möglicherweise können Sie nicht das Azure-Portal zum Verwalten von Registrierungen verwenden. Wenn dieses Szenario auftritt, können Sie die IP-Adresse(n) eines oder mehrerer Computer zu ipFilterRules hinzufügen und mithilfe von Azure CLI, PowerShell oder Service-APIs die Registrierungen in der DPS-Instanz verwalten.

    Dieses Szenario tritt am wahrscheinlichsten auf, wenn Sie die IP-Filterung verwenden möchten, um den Zugriff nur auf ausgewählte IP-Adressen zuzulassen. In diesem Fall konfigurieren Sie Regeln, um bestimmte Adressen oder Adressbereiche sowie eine Standardregel zu aktivieren, die alle anderen Adressen blockiert (0.0.0.0/0). Mit dieser Standardregel wird verhindert, dass das Azure-Portal Vorgänge wie das Verwalten von Registrierungen in der DPS-Instanz ausführt. Weitere Informationen finden Sie unter IP-Filterregelauswertung in diesem Artikel.

Anwenden von Filterregeln

Die IP-Filterregeln werden auf DPS-Instanzebene angewendet. Daher gelten die IP-Filterregeln für alle Verbindungen von Geräten und Back-End-Apps mit allen unterstützten Protokollen.

Jeder Verbindungsversuch über eine IP-Adresse, der mit einer IP-Ablehnungsregel in Ihrer DPS-Instanz übereinstimmt, wird mit dem Statuscode „Unauthorized 401“ (401 – Nicht autorisiert) und einer Beschreibung versehen. Die Antwortnachricht erwähnt nicht die IP-Regel.

Von Bedeutung

Durch die Ablehnung von IP-Adressen lässt sich verhindern, dass andere Azure-Dienste mit der DPS-Instanz interagieren.

Standardeinstellung

Standardmäßig ist die IP-Filterung deaktiviert, und Öffentlicher Netzwerkzugriff ist auf Alle Netzwerke festgelegt. Diese Standardeinstellung bedeutet, dass Ihr DPS Verbindungen von beliebigen IP-Adressen akzeptiert oder dass eine Regel angewandt wird, die den IP-Adressbereich 0.0.0.0/0 akzeptiert.

Screenshot der Standardmäßigen IP-Filtereinstellungen für IoT DPS im Azure-Portal.

Hinzufügen einer IP-Filterregel

So fügen Sie eine IP-Filterregel hinzu

  1. Öffnen Sie das Azure-Portal.

  2. Wählen Sie im Portalmenü oder auf der Portalseite "Alle Ressourcen" aus.

  3. Wählen Sie Ihre Device Provisioning Service-Instanz aus.

  4. Wählen Sie im Dienstmenü unter Einstellungen die Option Netzwerk aus.

  5. Wählen Sie im Arbeitsbereich unter "Öffentlicher Netzwerkzugriff" die Option "Ausgewählte IP-Bereiche" aus.

  6. Wählen Sie + IP-Filterregel hinzufügen aus.

    Screenshot, der zeigt, wie Sie eine IP-Filterregel zu einer IoT DPS-Instanz im Azure-Portal hinzufügen.

  7. Füllen Sie die folgenden Felder aus:

    Feld BESCHREIBUNG
    Name Eine eindeutige alphanumerische Zeichenfolge ohne Beachtung von Groß-/Kleinschreibung mit maximal 128 Zeichen. Nur alphanumerische ASCII 7-Bit-Zeichen und die Zeichen {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} sind zulässig.
    Adressbereich Eine einzelne IPv4-Adresse oder ein Block von IP-Adressen in classless Inter-Domain Routing(CIDR)-Schreibweise. In CIDR-Notation steht 192.168.100.0/22 beispielsweise für die 1.024 IPv4-Adressen von 192.168.100.0 bis 192.168.103.255.
    Aktion Wählen Sie Zulassen oder Verweigern aus.

    Screenshot, der zeigt, wie Sie eine IP-Filterregel für eine IoT DPS-Instanz im Azure-Portal definieren und speichern.

  8. Wählen Sie Speichern aus. Daraufhin sollte eine Warnung mit dem Hinweis angezeigt werden, dass der Updatevorgang läuft.

    Screenshot der Benachrichtigung, die beim Speichern einer IP-Filterregel im Azure-Portal angezeigt wird.

    Hinweis

    Die Option + IP-Filterregel hinzufügen ist deaktiviert, wenn Sie das Maximum von 100 IP-Filterregeln erreichen.

Bearbeiten einer IP-Filterregel

So bearbeiten Sie eine vorhandene Regel

  1. Wählen Sie die IP-Filterregeldaten aus, die Sie ändern möchten.

    Screenshot, der zeigt, wie Sie eine IP-Filterregel für eine IoT DPS-Instanz im Azure-Portal bearbeiten.

  2. Nehmen Sie die Änderungen vor.

  3. Wählen Sie Speichern aus.

Löschen einer IP-Filterregel

So löschen Sie eine IP-Filterregel

  1. Wählen Sie das Löschsymbol in der Zeile der IP-Regel aus, die Sie löschen möchten.

    Screenshot, der zeigt, wie Eine IP-Filterregel für eine IoT DPS-Instanz im Azure-Portal gelöscht wird.

  2. Wählen Sie Speichern aus.

Auswertung von IP-Filterregeln

IP-Filterregeln werden in einer bestimmten Reihenfolge angewandt. Die erste Regel, die der IP-Adresse entspricht, bestimmt die Aktion zum Annehmen oder Verweigern.

Wenn Sie beispielsweise Adressen im Bereich 192.168.100.0/22 zulassen und alle anderen Adressen ablehnen möchten, sollte die erste Regel im Raster lauten, dass der Adressbereich 192.168.100.0/22 zulässig ist. Mit der nächsten Regel sollten alle Adressen abgelehnt werden, indem der Bereich 0.0.0.0/0 verwendet wird.

So ändern Sie die Reihenfolge Ihrer IP-Filterregeln

  1. Wählen Sie die Regel aus, die Sie verschieben möchten.

  2. Ziehen Sie die Regel per Drag & Drop an die gewünschte Position.

  3. Wählen Sie Speichern aus.

Aktualisieren von IP-Filterregeln mithilfe von Azure Resource Manager-Vorlagen

Es gibt zwei Möglichkeiten, Ihren DPS-IP-Filter zu aktualisieren:

  1. Rufen Sie die Methode der IoT Hub-Ressourcenanbieter-REST-API auf. Informationen zum Aktualisieren Ihrer IP-Filterregeln mithilfe von REST finden Sie im IpFilterRule Abschnitt "Definitionen" der IoT Hub-Ressource – Update.

  2. Verwenden Sie die Azure Resource Manager-Vorlagen. Weitere Informationen zur Verwendung der Ressourcen-Manager-Vorlagen finden Sie unter Was sind ARM-Vorlagen?. In den folgenden Beispielen wird gezeigt, wie Sie DPS-IP-Filterregeln mit Azure Resource Manager-Vorlagen erstellen, bearbeiten und löschen.

    Hinweis

    Die Aktualisierung von DPS-IP-Filterregeln mithilfe der Azure-Befehlszeilenschnittstelle oder von Azure PowerShell wird derzeit nicht unterstützt.

Hinzufügen einer IP-Filterregel

Im folgenden Vorlagenbeispiel wird die neue IP-Filterregel „AllowAll“ (AlleZulassen) erstellt, die den gesamten Datenverkehr akzeptiert.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": {
        "iotDpsName": {
            "type": "string",
            "defaultValue": "[resourceGroup().name]",
            "minLength": 3,
            "metadata": {
                "description": "Specifies the name of the IoT DPS service."
            }
        }, 
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
                "description": "Location for Iot DPS resource."
            }
        }        
    }, 
    "variables": {
        "iotDpsApiVersion": "2020-01-01"
    }, 
    "resources": [
        {
            "type": "Microsoft.Devices/provisioningServices",
            "apiVersion": "[variables('iotDpsApiVersion')]",
            "name": "[parameters('iotDpsName')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "S1",
                "tier": "Standard",
                "capacity": 1
            },
            "properties": {
                "IpFilterRules": [
                    {
                        "FilterName": "AllowAll",
                        "Action": "Accept",
                        "ipMask": "0.0.0.0/0"
                    }
                ]
            }            
        }
    ]
}

Aktualisieren Sie die Attribute für die IP-Filterregel der Vorlage aufgrund Ihrer Anforderungen.

Merkmal BESCHREIBUNG
FilterName Geben Sie einen Namen für die IP-Filterregel an. Dieser Wert muss eine eindeutige, alphanumerische Zeichenfolge sein, die bis zu 128 Zeichen lang und unabhängig von Groß- und Kleinschreibung ist. Nur alphanumerische ASCII 7-Bit-Zeichen und die Zeichen {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} sind zulässig.
Aktion Akzeptierte Werte sind Akzeptieren oder Ablehnen als Aktion für die IP-Filterregel.
ipMask Geben Sie eine einzelne IPv4-Adresse oder einen Block von IP-Adressen in CIDR-Notation ein. In CIDR-Notation steht 192.168.100.0/22 beispielsweise für die 1.024 IPv4-Adressen von 192.168.100.0 bis 192.168.103.255.

Aktualisieren einer IP-Filterregel

Im folgenden Vorlagenbeispiel wird die oben gezeigte IP-Filterregel „AllowAll“ aktualisiert, um den gesamten Datenverkehr abzulehnen.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",  
    "contentVersion": "1.0.0.0",  
    "parameters": { 
        "iotDpsName": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().name]", 
            "minLength": 3, 
            "metadata": { 
                "description": "Specifies the name of the IoT DPS service." 
            } 
        },  
        "location": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().location]", 
            "metadata": { 
                "description": "Location for Iot DPS resource." 
            } 
        }        
    },  
    "variables": { 
        "iotDpsApiVersion": "2020-01-01" 
    },  
    "resources": [ 
        { 
            "type": "Microsoft.Devices/provisioningServices", 
            "apiVersion": "[variables('iotDpsApiVersion')]", 
            "name": "[parameters('iotDpsName')]", 
            "location": "[parameters('location')]", 
            "sku": { 
                "name": "S1", 
                "tier": "Standard", 
                "capacity": 1 
            }, 
            "properties": { 
                "IpFilterRules": [ 
                    { 
                        "FilterName": "AllowAll", 
                        "Action": "Reject", 
                        "ipMask": "0.0.0.0/0" 
                    } 
                ] 
            }             
        } 
    ] 
}

Löschen einer IP-Filterregel

Im folgenden Vorlagenbeispiel werden alle IP-Filterregeln für die DPS-Instanz gelöscht.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",  
    "contentVersion": "1.0.0.0",  
    "parameters": { 
        "iotDpsName": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().name]", 
            "minLength": 3, 
            "metadata": { 
                "description": "Specifies the name of the IoT DPS service." 
            } 
        },  
        "location": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().location]", 
            "metadata": { 
                "description": "Location for Iot DPS resource." 
            } 
        }        
    },  
    "variables": { 
        "iotDpsApiVersion": "2020-01-01" 
    },  
    "resources": [ 
        { 
            "type": "Microsoft.Devices/provisioningServices", 
            "apiVersion": "[variables('iotDpsApiVersion')]", 
            "name": "[parameters('iotDpsName')]", 
            "location": "[parameters('location')]", 
            "sku": { 
                "name": "S1", 
                "tier": "Standard", 
                "capacity": 1 
            }, 
            "properties": { 
            }             
        } 
    ] 
}

Nächste Schritte

Weitere Informationen zum Verwalten von DPS finden Sie unter: