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.
Verwendung
Es gibt zwei spezielle Anwendungsfälle, in denen es nützlich ist, Verbindungen von bestimmten IP-Adressen zu einem DPS-Endpunkt zu blockieren:
Ihr DPS sollte Datenverkehr nur aus einem bestimmten IP-Adressbereich empfangen und jeglichen anderen Datenverkehr ablehnen. Beispielsweise verwenden Sie Ihren DPS bei Azure Express Route, um private Verbindungen zwischen einer DPS-Instanz und Ihren Geräten zu erstellen.
Sie müssen Datenverkehr von IP-Adressen ablehnen, die vom DPS-Administrator als verdächtig eingestuft wurden.
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. In diesem Fall können Sie den
ipFilterRules
die IP-Adresse eines oder mehrerer Computer hinzufügen und die Registrierungen bei der DPS-Instanz von diesen Computern mithilfe der Azure-Befehlszeilenschnittstelle, mit PowerShell oder über Dienst-APIs 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). Diese Standardregel verhindert das Ausführen von bestimmten Vorgängen wie das Verwalten von Registrierungen in der DPS-Instanz über das Azure-Portal. Weitere Informationen finden Sie im Abschnitt zur Auswertung von IP-Filterregeln weiter unten 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. In der Antwortnachricht wird die IP-Regel nicht erwähnt.
Wichtig
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.
Hinzufügen einer IP-Filterregel
So fügen Sie eine IP-Filterregel hinzu
Öffnen Sie das Azure-Portal.
Wählen Sie im Menü auf der linken Seite oder auf der Portalseite die Option Alle Ressourcen aus.
Wählen Sie Ihre Device Provisioning Service-Instanz aus.
Wählen Sie im Menü Einstellungen auf der linken Seite Netzwerk aus.
Wählen Sie unter Öffentlicher Netzwerkzugriff die Option Ausgewählte IP-Adressbereiche aus.
Wählen Sie + IP-Filterregel hinzufügen aus.
Füllen Sie die folgenden Felder aus:
Feld Beschreibung des Dataflows 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 einen Block von IP-Adressen in CIDR-Notation. 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. Wählen Sie Speichern aus. Daraufhin sollte eine Warnung mit dem Hinweis angezeigt werden, dass der Updatevorgang läuft.
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
Wählen Sie die IP-Filterregeldaten aus, die Sie ändern möchten.
Nehmen Sie die Änderungen vor.
Wählen Sie Speichern aus.
Löschen einer IP-Filterregel
So löschen Sie eine IP-Filterregel
Wählen Sie das Löschsymbol in der Zeile der IP-Regel aus, die Sie löschen möchten.
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
Wählen Sie die Regel aus, die Sie verschieben möchten.
Ziehen Sie die Regel per Drag & Drop an die gewünschte Position.
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:
Rufen Sie die Methode der IoT Hub-Ressourcenanbieter-REST-API auf. Informationen zum Aktualisieren Ihrer IP-Filterregeln mithilfe von REST finden Sie unter
IpFilterRule
im Abschnitt Definitionen der IoT Hub-Ressource: Updatemethode.Verwenden Sie die Azure Resource Manager-Vorlagen. Unter Azure Resource Manager-Vorlagen finden Sie Leitfäden zur Verwendung von Resource Manager-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.
attribute | BESCHREIBUNG |
---|---|
FilterName | Geben Sie einen Namen für die IP-Filterregel an. Er muss eine eindeutige alphanumerische Zeichenfolge ohne Beachtung von Groß-/Kleinschreibung sein, die bis zu 128 Zeichen umfassen kann. 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:
- Understanding IoT DPS IP addresses (Informationen zu IP-Adressen für IoT DPS)
- Einrichten von DPS über die Azure CLI
- Steuern des Zugriffs auf DPS