Partager via


Utiliser des filtres de connexion IP DPS Azure IoT

La sécurité est un aspect important de n’importe quelle solution IoT. Parfois, vous devez spécifier explicitement les adresses IP à partir desquelles les appareils peuvent se connecter dans le cadre de votre configuration de sécurité. La fonctionnalité de filtre IP pour un service Azure IoT Hub Device Provisioning (DPS) vous permet de configurer des règles pour rejeter ou accepter le trafic à partir d’adresses IPv4 spécifiques.

Quand utiliser

Il existe deux cas d’usage spécifiques où il est utile de bloquer les connexions à un point de terminaison DPS à partir de certaines adresses IP :

  • Votre DPS doit recevoir le trafic uniquement à partir d’une plage d’adresses IP spécifiée et rejeter tout le reste. Par exemple, vous utilisez votre DPS avec Azure Express Route pour créer des connexions privées entre une instance DPS et vos appareils.

  • Vous devez rejeter le trafic des adresses IP identifiées comme suspectes par l’administrateur DPS.

Limitations des règles de filtre IP

Notez les limitations suivantes si le filtrage IP est activé :

  • Vous ne pouvez peut-être pas utiliser le portail Azure pour gérer les inscriptions. Si ce scénario se produit, vous pouvez ajouter l’adresse IP d’une ou plusieurs machines à l’instance ipFilterRules DPS et gérer les inscriptions dans l’instance DPS à partir de ces machines avec Azure CLI, PowerShell ou les API de service.

    Ce scénario est probablement le plus probable lorsque vous souhaitez utiliser le filtrage IP pour autoriser l’accès uniquement aux adresses IP sélectionnées. Dans ce cas, vous configurez des règles pour activer certaines adresses ou plages d’adresses et une règle par défaut qui bloque toutes les autres adresses (0.0.0.0/0). Cette règle par défaut empêche le portail Azure d’effectuer des opérations telles que la gestion des inscriptions sur l’instance DPS. Pour plus d’informations, consultez l’évaluation des règles de filtre IP dans cet article.

Comment les règles de filtre sont appliquées

Les règles de filtre IP sont appliquées au niveau de l’instance DPS. Par conséquent, les règles de filtre IP s’appliquent à toutes les connexions à partir d’appareils et d’applications principales à l’aide de n’importe quel protocole pris en charge.

Toute tentative de connexion à partir d’une adresse IP qui correspond à une règle IP rejetée dans votre instance DPS reçoit un code d’état et une description non autorisés 401. Le message de réponse ne mentionne pas la règle IP.

Important

Le rejet d’adresses IP peut empêcher d’autres services Azure d’interagir avec l’instance DPS.

Paramètre par défaut

Par défaut, le filtrage IP est désactivé et l’accès au réseau public est défini sur Tous les réseaux. Ce paramètre par défaut signifie que votre DPS accepte les connexions à partir d’une adresse IP ou est conforme à une règle qui accepte la plage d’adresses IP 0.0.0.0/0.

Capture d’écran montrant les paramètres de filtre IP par défaut IoT DPS dans le portail Azure.

Ajouter une règle de filtre IP

Pour ajouter une règle de filtre IP :

  1. Accédez au portail Azure.

  2. Dans le menu du portail ou dans la page du portail, sélectionnez Toutes les ressources.

  3. Sélectionnez votre instance de service Device Provisioning.

  4. Dans le menu de service, sous Paramètres, sélectionnez Mise en réseau.

  5. Dans le volet de travail, sous Accès réseau public, sélectionnez Plages d’adresses IP sélectionnées

  6. Sélectionnez + Ajouter une règle de filtre IP.

    Capture d’écran montrant comment ajouter une règle de filtre IP à une instance IoT DPS dans le portail Azure.

  7. Remplissez les champs suivants :

    Champ Descriptif
    Nom Chaîne alphanumérique unique qui ne respecte pas la casse et qui ne dépasse pas 128 caractères. Seuls les caractères alphanumériques ASCII 7 bits plus {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} sont acceptés.
    Plage d’adresses Une seule adresse IPv4 ou un bloc d’adresses IP en notation CIDR (Classless Inter-Domain Routing). Par exemple, dans la notation CIDR 192.168.100.0/22 représente les 1024 adresses IPv4 comprises entre 192.168.100.0 et 192.168.103.255.
    Action Sélectionnez Autoriser ou Bloquer.

    Capture d’écran montrant comment définir et enregistrer une règle de filtre IP pour une instance IoT DPS dans le portail Azure.

  8. Cliquez sur Enregistrer. Vous devriez voir une alerte vous informant que la mise à jour est en cours.

    Capture d’écran montrant la notification affichée lors de l’enregistrement d’une règle de filtre IP dans le portail Azure.

    Note

    + Ajouter une règle de filtre IP est désactivée lorsque vous atteignez le maximum de 100 règles de filtre IP.

Modifier une règle de filtre IP

Pour modifier une règle existante :

  1. Sélectionnez les données de règle de filtre IP que vous souhaitez modifier.

    Capture d’écran montrant comment modifier une règle de filtre IP pour une instance IoT DPS dans le portail Azure.

  2. Apportez la modification.

  3. Cliquez sur Enregistrer.

Supprimer une règle de filtre IP

Pour supprimer une règle de filtre IP :

  1. Sélectionnez l’icône supprimer sur la ligne de la règle IP que vous souhaitez supprimer.

    Capture d’écran montrant comment supprimer une règle de filtre IP pour une instance IoT DPS dans le portail Azure.

  2. Cliquez sur Enregistrer.

Évaluation des règles de filtre IP

Les règles de filtre IP sont appliquées dans l’ordre. La première règle qui correspond à l’adresse IP détermine l’action d’acceptation ou de rejet.

Par exemple, si vous souhaitez accepter des adresses dans la plage 192.168.100.0/22 et rejeter tout le reste, la première règle de la grille doit accepter la plage d’adresses 192.168.100.0/22. La règle suivante doit rejeter toutes les adresses à l’aide de la plage 0.0.0.0/0.

Pour modifier l’ordre de vos règles de filtre IP :

  1. Sélectionnez la règle à déplacer.

  2. Faites glisser et déposez la règle vers l’emplacement souhaité.

  3. Cliquez sur Enregistrer.

Mettre à jour des règles de filtre IP à l’aide de modèles Azure Resource Manager

Vous pouvez mettre à jour votre filtre IP DPS de deux façons :

  1. Appelez la méthode REST de l'API de la ressource IoT Hub. Pour savoir comment mettre à jour vos règles de filtre IP à l’aide de REST, consultez IpFilterRule la section Définitions de la ressource IoT Hub - Mise à jour.

  2. Utilisez les modèles Azure Resource Manager. Pour plus d’informations sur l’utilisation des modèles Resource Manager, consultez Qu’est-ce que les modèles ARM ?. Les exemples suivants vous montrent comment créer, modifier et supprimer des règles de filtre IP DPS avec des modèles Azure Resource Manager.

    Note

    Azure CLI et Azure PowerShell ne prennent actuellement pas en charge les mises à jour des règles de filtre IP DPS.

Ajouter une règle de filtre IP

L’exemple de modèle suivant crée une règle de filtre IP nommée « AllowAll » qui accepte tout le trafic.

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

Mettez à jour les attributs de règle de filtre IP du modèle en fonction de vos besoins.

Caractéristique Descriptif
FilterName Indiquez un nom pour la règle de filtre IP. Cette valeur doit être une chaîne alphanumérique unique, non sensible à la casse, d’une longueur maximale de 128 caractères. Seuls les caractères alphanumériques ASCII 7 bits plus {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} sont acceptés.
Action Les valeurs acceptées sont Accept ou Reject comme action pour la règle de filtre IP.
ipMask Fournissez une seule adresse IPv4 ou un bloc d’adresses IP en notation CIDR. Par exemple, dans la notation CIDR 192.168.100.0/22 représente les 1024 adresses IPv4 comprises entre 192.168.100.0 et 192.168.103.255.

Mettre à jour une règle de filtre IP

L’exemple de modèle suivant met à jour la règle de filtre IP nommée « AllowAll », illustrée précédemment, pour rejeter tout le trafic.

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

Supprimer une règle de filtre IP

L’exemple de modèle suivant supprime toutes les règles de filtre IP pour l’instance DPS.

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

Étapes suivantes

Pour explorer plus en détail la gestion de DPS, consultez :