Delen via


IP-verbindingsfilters van Azure IoT DPS gebruiken

Beveiliging is een belangrijk aspect van elke IoT-oplossing. Soms moet u expliciet de IP-adressen opgeven waarvan apparaten verbinding kunnen maken als onderdeel van uw beveiligingsconfiguratie. Met de functie IP-filter voor een Azure IoT Hub Device Provisioning Service (DPS) kunt u regels configureren voor het afwijzen of accepteren van verkeer van specifieke IPv4-adressen.

Wanneer gebruiken

Er zijn twee specifieke situaties waarin het nuttig is om verbindingen met een DPS-eindpunt van bepaalde IP-adressen te blokkeren:

  • Uw DPS mag alleen verkeer ontvangen van een opgegeven bereik van IP-adressen en moet alle andere gegevens weigeren. U gebruikt bijvoorbeeld uw DPS met Azure Express Route om privéverbindingen te maken tussen een DPS-exemplaar en uw apparaten.

  • U moet het verkeer afwijzen van IP-adressen die als verdacht zijn geïdentificeerd door de DPS-beheerder.

Beperkingen voor IP-filterregels

Let op de volgende beperkingen als IP-filtering is ingeschakeld:

  • Mogelijk kunt u de Azure-portal niet gebruiken om inschrijvingen te beheren. Als dit het geval is, kunt u het IP-adres van een of meer computers toevoegen aan de ipFilterRules en registraties in het DPS-exemplaar beheren vanaf die computers met Azure CLI, PowerShell of service-API's.

    Dit scenario treedt waarschijnlijk op wanneer u IP-filtering wilt gebruiken om alleen toegang tot geselecteerde IP-adressen toe te staan. In dit geval configureert u regels om bepaalde adressen of adresbereiken in te schakelen en een standaardregel die alle andere adressen blokkeert (0.0.0.0/0). Met deze standaardregel wordt voorkomen dat Azure Portal bewerkingen uitvoert, zoals het beheren van inschrijvingen op het DPS-exemplaar. Zie de evaluatie van IP-filterregels verderop in dit artikel voor meer informatie.

Hoe filterregels worden toegepast

De IP-filterregels worden toegepast op het niveau van het DPS-exemplaar. De IP-filterregels gelden daarom voor alle verbindingen van apparaten en back-endapps met behulp van elk ondersteund protocol.

Elke verbindingspoging van een IP-adres dat overeenkomt met een afwijzings-IP-regel in uw DPS-exemplaar ontvangt een niet-geautoriseerde 401-statuscode en een beschrijving. De IP-regel wordt niet vermeld in het antwoordbericht.

Belangrijk

Het afwijzen van IP-adressen kan verhinderen dat andere Azure-services communiceren met het DPS-exemplaar.

Standaardinstelling

IP-filtering is standaard uitgeschakeld en openbare netwerktoegang is ingesteld op Alle netwerken. Deze standaardinstelling betekent dat uw DPS verbindingen van elk IP-adres accepteert of voldoet aan een regel die het IP-adresbereik 0.0.0.0/0 accepteert.

IoT DPS default IP filter settings.

Een IP-filterregel toevoegen

Een IP-filterregel toevoegen:

  1. Ga naar de Azure-portal.

  2. Selecteer Alle resources in het linkermenu of op de portalpagina.

  3. Selecteer uw Device Provisioning Service.

  4. Selecteer Netwerken in het menu Instellingen aan de linkerkant.

  5. Selecteer onder Openbare netwerktoegang geselecteerde IP-bereiken

  6. Selecteer + IP-filterregel toevoegen.

    Add an IP filter rule to an IoT DPS.

  7. Vul de volgende velden in:

    Veld Beschrijving
    Naam Een unieke, niet hoofdlettergevoelige, alfanumerieke tekenreeks van maximaal 128 tekens. Alleen de ASCII 7-bits alfanumerieke tekens plus {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} worden geaccepteerd.
    Adresbereik Eén IPv4-adres of een blok IP-adressen in CIDR-notatie. Bijvoorbeeld in CIDR-notatie staat 192.168.100.0/22 voor de 1024 IPv4-adressen van 192.168.100.0 tot en met 192.168.103.255.
    Actie Selecteer Toestaan of Blokkeren.

    After selecting Add an IP Filter rule.

  8. Selecteer Opslaan. Er wordt een waarschuwing weergegeven waarin wordt gemeld dat de update wordt uitgevoerd.

    Notification about saving an IP filter rule.

    Notitie

    + Ip-filterregel toevoegen is uitgeschakeld wanneer u het maximum van 100 IP-filterregels bereikt.

Een IP-filterregel bewerken

Een bestaande regel bewerken:

  1. Selecteer de IP-filterregelgegevens die u wilt wijzigen.

    Edit an IP filter rule.

  2. Breng de wijziging aan.

  3. Selecteer Opslaan.

Een IP-filterregel verwijderen

Een IP-filterregel verwijderen:

  1. Selecteer het pictogram Verwijderen in de rij van de IP-regel die u wilt verwijderen.

    Delete an IoT DPS IP filter rule.

  2. Selecteer Opslaan.

Evaluatie van IP-filterregel

IP-filterregels worden op volgorde toegepast. De eerste regel die overeenkomt met het IP-adres bepaalt de actie Accepteren of Weigeren.

Als u bijvoorbeeld adressen in het bereik 192.168.100.0/22 wilt accepteren en de rest wilt afwijzen, moet de eerste regel in het raster het adresbereik 192.168.100.0/22 accepteren. De volgende regel moet alle adressen afwijzen met behulp van het bereik 0.0.0.0/0.

De volgorde van uw IP-filterregels wijzigen:

  1. Selecteer de regel die u wilt verplaatsen.

  2. Sleep de regel naar de gewenste locatie en zet deze neer.

  3. Selecteer Opslaan.

IP-filterregels bijwerken met behulp van Azure Resource Manager-sjablonen

Er zijn twee manieren waarop u uw DPS IP-filter kunt bijwerken:

  1. Roep de REST API-methode van IoT Hub-resource aan. Zie IpFilterRule de sectie Definities van de Iot Hub Resource - Update-methode voor meer informatie over het bijwerken van uw IP-filterregels met BEHULP van REST.

  2. Gebruik de Azure Resource Manager-sjablonen. Zie Azure Resource Manager-sjablonen voor hulp bij het gebruik van de Resource Manager-sjablonen. In de volgende voorbeelden ziet u hoe u IP-filterregels voor DPS maakt, bewerkt en verwijdert met Azure Resource Manager-sjablonen.

    Notitie

    Azure CLI en Azure PowerShell bieden momenteel geen ondersteuning voor updates voor DPS IP-filterregels.

Een IP-filterregel toevoegen

In het volgende sjabloonvoorbeeld wordt een nieuwe IP-filterregel gemaakt met de naam 'AllowAll', waarmee al het verkeer wordt geaccepteerd.

{
    "$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"
                    }
                ]
            }            
        }
    ]
}

Werk de kenmerken van de IP-filterregel van de sjabloon bij op basis van uw vereisten.

Kenmerk Omschrijving
FilterName Geef een naam op voor de IP-filterregel. Dit moet een unieke, niet-hoofdlettergevoelige tekenreeks van maximaal 128 tekens zijn. Alleen de ASCII 7-bits alfanumerieke tekens plus {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} worden geaccepteerd.
Actie Geaccepteerde waarden zijn Accepteren of Weigeren als actie voor de IP-filterregel.
ipMask Geef één IPv4-adres op of een blok met IP-adressen in CIDR-notatie. Bijvoorbeeld in CIDR-notatie staat 192.168.100.0/22 voor de 1024 IPv4-adressen van 192.168.100.0 tot en met 192.168.103.255.

Een IP-filterregel bewerken

In het volgende sjabloonvoorbeeld wordt de IP-filterregel met de naam 'AllowAll', die eerder werd weergegeven, bijgewerkt om al het verkeer af te wijzen.

{ 
    "$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" 
                    } 
                ] 
            }             
        } 
    ] 
}

Een IP-filterregel verwijderen

In het volgende sjabloonvoorbeeld worden alle IP-filterregels voor het DPS-exemplaar verwijderd.

{ 
    "$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": { 
            }             
        } 
    ] 
}

Volgende stappen

Zie voor meer informatie over het beheren van DPS: