Verwenden von IP-Filtern

Die Sicherheit ist bei jeder IoT-Lösung, die auf Azure IoT Hub basiert, ein wichtiger Aspekt. 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 können Sie Regeln konfigurieren, mit denen Datenverkehr von bestimmten IPv4-Adressen abgelehnt oder zugelassen wird.

Verwendung

Mithilfe von „IP-Filter“ können Sie Datenverkehr nur aus einem bestimmten IP-Adressbereich empfangen und jeglichen anderen Datenverkehr ablehnen. Ein Beispiel hierfür: Sie verwenden Ihren IoT-Hub mit Azure Express Route, um private Verbindungen zwischen einem IoT-Hub und Ihrer lokalen Infrastruktur zu erstellen.

Standardeinstellung

Wenn Sie die Seite mit den IP-Filtereinstellungen Ihres IoT-Hubs aufrufen möchten, wählen Sie Netzwerk> Öffentlicher Zugriff und dann Ausgewählte IP-Bereiche aus:

Screenshot showing how to set default IP filter settings.

Das Raster IP-Filter im Portal ist für ein IoT Hub standardmäßig leer. Diese Standardeinstellung bedeutet, dass Ihr Hub Verbindungen von allen IP-Adressen blockiert. Die Standardeinstellung entspricht einer Regel, mit der der IP-Adressbereich 0.0.0.0/0 blockiert wird.

Hinzufügen oder Bearbeiten einer IP-Filterregel

Zum Hinzufügen einer IP-Filterregel wählen Sie IP-Filterregel hinzufügen aus. Um die IP-Adresse Ihres Computers schnell hinzuzufügen, wählen Sie Client-IP-Adresse hinzufügen aus.

Screenshot showing how to add an IP filter rule to an IoT hub.

Nachdem Sie IP-Filterregel hinzufügen ausgewählt haben, füllen Sie die Felder aus. Diese Felder werden vorab für Sie ausgefüllt, wenn Sie die Option zum Hinzufügen Ihrer Client-IP-Adresse ausgewählt haben.

Screenshot that shows what to do after adding an IP filter rule.

  • Geben Sie einen Namen für die IP-Filterregel an. Dieser Name muss eine eindeutige alphanumerische Zeichenfolge ohne Beachtung von Groß-/Kleinschreibung sein, die bis zu 128 Zeichen umfassen kann. Nur die alphanumerischen ASCII-7-Bit-Zeichen und die folgenden Sonderzeichen werden akzeptiert: - : . + % _ # * ? ! ( ) , = @ ; '.

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

Nachdem Sie die Felder ausgefüllt haben, wählen Sie Speichern aus, um die Regel zu speichern. Daraufhin wird eine Warnung mit dem Hinweis angezeigt, dass der Updatevorgang läuft.

Screenshot that shows notification about saving an IP filter rule.

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

Wenn Sie eine vorhandene Regel bearbeiten möchten, wählen Sie die zu ändernden Daten aus, nehmen Sie die Änderung vor, und wählen Sie Speichern aus, um Ihre Bearbeitung zu speichern.

Löschen einer IP-Filterregel

Wählen Sie zum Löschen einer IP-Filterregel das Papierkorbsymbol in dieser Zeile und dann Speichern aus. Die Regel wird entfernt und die Änderung gespeichert.

Screenshot showing how to delete an IoT Hub IP filter rule.

Anwenden von IP-Filterregeln auf den integrierten Event Hubs-kompatiblen Endpunkt

Wenn Sie die IP-Filterregeln auf den integrierten Event Hubs-kompatiblen Endpunkt anwenden möchten, aktivieren Sie das Kontrollkästchen neben IP-Filterregeln auf den integrierten Endpunkt anwenden?, und wählen Sie Speichern aus.

Screenshot showing the toggle for the built-in endpoint.

Hinweis

Diese Option ist für kostenlose IoT-Hubs (F1) nicht verfügbar. Wenn Sie IP-Filterregeln auf den integrierten Endpunkt anwenden möchten, verwenden Sie einen kostenpflichtigen IoT-Hub.

Durch Aktivierung dieser Option werden Ihre IP-Filterregeln auf den integrierten Endpunkt repliziert, sodass nur vertrauenswürdige IP-Adressbereiche darauf zugreifen können.

Wenn Sie diese Option deaktivieren, ist der Zugriff auf den integrierten Endpunkt für alle IP-Adressen möglich. Dieses Verhalten kann nützlich sein, wenn Sie vom Endpunkt mit Diensten mit sich ändernden Quell-IP-Adressen (z. B. Azure Stream Analytics) lesen möchten.

Anwenden von Filterregeln

Die IP-Filterregeln werden auf IoT Hub-Dienstebene angewendet. Daher gelten die IP-Filterregeln für alle Verbindungen von Geräten und Back-End-Apps mit allen unterstützten Protokollen. Außerdem können Sie auswählen, ob der integrierte Event Hubs-kompatible Endpunkt (nicht über die IoT Hub-Verbindungszeichenfolge) an diese Regeln gebunden werden soll.

Bei jedem Verbindungsversuch von einer IP-Adresse, die nicht explizit zulässig ist, wird ein nicht autorisierter Statuscode 401 und eine Beschreibung empfangen. In der Antwortnachricht wird die IP-Regel nicht erwähnt. Das Ablehnen von IP-Adressen kann andere Azure-Dienste wie z. B. Azure Stream Analytics, Azure Virtual Machines oder den Geräte-Explorer im Azure-Portal an der Interaktion mit dem IoT-Hub hindern.

Hinweis

Wenn Sie Azure Stream Analytics (ASA) verwenden möchten, um Nachrichten aus einem IoT-Hub mit aktiviertem IP-Filter zu lesen, deaktivieren Sie die Option IP-Adressfilter auf den integrierten Endpunkt anwenden?. Verwenden Sie dann den Event Hub-kompatiblen Namen und Endpunkt Ihres IoT-Hubs zum manuellen Hinzufügen einer Event Hubs-Streameingabe in der ASA.

Sortieren

IP-Filterregeln sind Regeln für Zulassen und werden unsortiert angewendet. Nur von Ihnen hinzugefügte IP-Adressen dürfen eine Verbindung mit IoT Hub herstellen.

Wenn Sie beispielsweise Adressen im Bereich 192.168.100.0/22 zulassen und alle anderen Adressen ablehnen möchten, müssen Sie nur eine einzige Regel mit dem Adressbereich 192.168.100.0/22 im Raster hinzufügen.

Azure-Portal

IP-Filterregeln werden auch bei der Verwendung von IoT Hub über das Azure-Portal angewendet. Das liegt daran, dass API-Aufrufe des IoT Hub-Dienst direkt über Ihren Browser mit Ihren Anmeldeinformationen ausgeführt werden, was anderen Azure-Diensten entspricht. Fügen Sie die IP-Adresse Ihres Computers der Positivliste hinzu, um bei aktiviertem IP-Adressfilter über das Azure-Portal auf IoT Hub zuzugreifen.

Abrufen und Aktualisieren von IP-Filtern über die Azure-Befehlszeilenschnittstelle

Die IP-Filter für Ihren IoT Hub können über die Azure CLI abgerufen und aktualisiert werden.

Wenn Sie die aktuellen IP-Filter für Ihren IoT Hub abrufen möchten, führen Sie Folgendes aus:

az resource show -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs

Damit wird ein JSON-Objekt zurückgegeben, in dem Ihre vorhandenen IP-Filter unter dem Schlüssel properties.networkRuleSets aufgelistet sind:

{
...
    "properties": {
        "networkRuleSets": {
            "defaultAction": "Deny",
            "applyToBuiltInEventHubEndpoint": true,
            "ipRules": [{
                    "filterName": "TrustedFactories",
                    "action": "Allow",
                    "ipMask": "1.2.3.4/5"
                },
                {
                    "filterName": "TrustedDevices",
                    "action": "Allow",
                    "ipMask": "1.1.1.1/1"
                }
            ]
        }
    }
}

Wenn Sie einen neuen IP-Filter für Ihren IoT Hub hinzufügen möchten, führen Sie aus:

az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules "{\"action\":\"Allow\",\"filterName\":\"TrustedIP\",\"ipMask\":\"192.168.0.1\"}"

Wenn Sie einen vorhandenen IP-Filter in Ihrem IoT Hub entfernen möchten, führen Sie aus:

az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules <ipFilterIndexToRemove>

Hier muss <ipFilterIndexToRemove> der Reihenfolge von IP-Filtern in properties.networkRuleSets.ipRules Ihres IoT Hubs entsprechen.

Abrufen und Aktualisieren von IP-Filtern über Azure PowerShell

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Die IP-Filter für Ihren IoT Hub können über Azure PowerShell abgerufen und festgelegt werden.

# Get your IoT Hub resource using its name and its resource group name
$iothubResource = Get-AzResource -ResourceGroupName <resourceGroupNmae> -ResourceName <iotHubName> -ExpandProperties

# Access existing IP filter rules
$iothubResource.Properties.networkRuleSets.ipRules |% { Write-host $_ }

# Construct a new IP filter
$filter = @{'filterName'='TrustedIP'; 'action'='Allow'; 'ipMask'='192.168.0.1'}

# Add your new IP filter rule
$iothubResource.Properties.networkRuleSets.ipRules += $filter

# Remove an existing IP filter rule using its name, e.g., 'GoodIP'
$iothubResource.Properties.networkRuleSets.ipRules = @($iothubResource.Properties.networkRuleSets.ipRules | Where 'filterName' -ne 'GoodIP')

# Update your IoT Hub resource with your updated IP filters
$iothubResource | Set-AzResource -Force

Aktualisieren von IP-Filterregeln mit REST

Möglicherweise müssen Sie den IP-Filter für Ihren IoT Hub auch über den REST-Endpunkt des Azure-Ressourcenanbieters abrufen und ändern. Lesen Sie dazu properties.networkRuleSets unter createorupdate-Methode.

Nächste Schritte

Weitere Informationen zu den Funktionen von IoT Hub finden Sie unter: