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 Sicherheitseinstellungen>Netzwerk>Öffentliche Bereiche und dann Ausgewählte IP-Bereiche aus:
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.
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.
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.
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.
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.
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.
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.
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.
Abrufen und Aktualisieren von IP-Filtern über die Azure-Befehlszeilenschnittstelle
Die IP-Filter für Ihren IoT Hub können über die Azure-Befehlszeilenschnittstelle 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 entspricht <ipFilterIndexToRemove>
der Reihenfolge von IP-Filtern in properties.networkRuleSets.ipRules
Ihres IoT Hubs.
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 von Azure PowerShell. 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
Sie können 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: