Utiliser les filtres de connexion IP d’instance IoT DPS Azure
La sécurité est un aspect important de toute solution IoT. Parfois, dans le cadre de votre configuration de sécurité, vous devez spécifier explicitement les adresses IP à partir desquelles les appareils peuvent se connecter. La fonctionnalité Filtre IP d’un service Azure IoT Hub Device Provisioning Service (DPS) vous permet de configurer des règles de rejet ou d’acceptation du trafic provenant de certaines adresses IPv4.
Quand utiliser
Il existe deux cas d’utilisation spécifiques dans lesquels il est utile de bloquer les connexions à un point de terminaison d’instance DPS à partir de certaines adresses IP :
Votre instance DPS doit recevoir le trafic uniquement d’une plage d’adresses IP spécifiée et refuser tout le reste. Par exemple, vous utilisez votre instance DPS avec Azure Express Route pour créer des connexions privées entre une instance DPS et vos appareils.
Vous devez refuser le trafic provenant d’adresses IP qui ont été identifiées comme suspectes par l’administrateur de l’instance DPS.
Limitations des règles de filtre IP
Notez les limitations suivantes si le filtrage IP est activé :
Vous ne pourrez peut-être pas utiliser le portail Azure pour gérer les inscriptions. Si cela se produit, vous pouvez ajouter l’adresse IP d’une ou plusieurs machines aux
ipFilterRules
et gérer les inscriptions dans l’instance DPS à partir de ces machines avec l’interface de ligne de commande Azure, 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 la section Évaluation des règles de filtrage IP plus loin dans cet article.
Application des règles de filtre
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 issues des appareils et des applications principales utilisant n’importe quel protocole pris en charge.
Toute tentative de connexion à partir d’une adresse IP qui correspond à une règle IP de rejet dans votre instance DPS reçoit un code d’état 401 non autorisé et une description. 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 Accès 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 de n’importe quelle adresse IP ou qu’il est conforme à une règle qui accepte la plage d’adresses IP 0.0.0.0/0.
Ajouter une règle de filtre IP
Pour ajouter une règle de filtre IP :
Accédez au portail Azure.
Dans le menu de gauche ou dans la page du portail, sélectionnez Toutes les ressources.
Sélectionnez votre service Device Provisioning.
Dans le menu Paramètres à gauche, sélectionnez Mise en réseau.
Sous Accès réseau public, sélectionnez Plages d’adresses IP sélectionnées.
Sélectionnez + Ajouter une règle de filtre IP.
Renseignez les champs suivants :
Champ Description 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 et {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}
sont acceptés.Plage d’adresses Adresse IPv4 unique ou bloc d’adresses IP en notation CIDR. Par exemple, dans la notation CIDR, 192.168.100.0/22 représente les 1024 adresses IPv4 allant de 192.168.100.0 à 192.168.103.255. Action Sélectionnez Autoriser ou Bloquer. Cliquez sur Enregistrer. Une alerte s’affiche vous informant que la mise à jour est en cours.
Remarque
L’option + Ajouter une règle de filtre IP est désactivée lorsque vous atteignez le nombre maximal de 100 règles de filtre IP.
Modifier une règle de filtre IP
Pour modifier une règle existante :
Sélectionnez les données de la règle de filtre IP que vous souhaitez modifier.
Apportez la modification.
Cliquez sur Enregistrer.
Suppression d’une règle de filtre IP
Pour supprimer une règle de filtre IP :
Sélectionnez l’icône Supprimer sur la ligne de la règle d’adresse IP que vous souhaitez supprimer.
Cliquez sur Enregistrer.
Évaluation de règle 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 accepter ou refuser.
Par exemple, si vous souhaitez accepter les 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 :
Sélectionnez la règle que vous souhaitez déplacer.
Faites glisser la règle et déposez-la à l’emplacement souhaité.
Cliquez sur Enregistrer.
Mettre à jour les règles de filtre IP à l’aide de modèles Azure Resource Manager
Vous pouvez mettre à jour votre filtre IP DPS de deux manières :
Appelez la méthode de l’API REST de fournisseur de ressources IoT Hub. Pour savoir comment mettre à jour vos règles de filtre IP avec REST, consultez
IpFilterRule
dans la section Définitions de la méthode Fournisseur de ressources Iot Hub – Mise à jour.Utilisez les modèles Azure Resource Manager. Pour obtenir de l’aide sur l’utilisation des modèles Resource Manager, consultez Modèles Azure Resource Manager. Les exemples qui suivent vous montrent comment créer, modifier et supprimer des règles de filtre IP DPS à l’aide de modèles Azure Resource Manager.
Remarque
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 appelé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"
}
]
}
}
]
}
Modifiez les attributs de la règle de filtre IP du modèle selon vos besoins.
Attribut | Description |
---|---|
FilterName | Donnez un nom à la règle de filtre IP. Ce nom doit être une chaîne alphanumérique unique qui ne prend pas en compte la casse et qui ne dépasse pas 128 caractères. Seuls les caractères alphanumériques ASCII 7 bits et {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} sont acceptés. |
Action | Les valeurs autorisées sont Accepter ou Refuser pour l’action de la règle de filtre IP. |
ipMask | Fournissez une adresse IPv4 unique 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 allant de 192.168.100.0 à 192.168.103.255. |
Modifier une règle de filtre IP
L’exemple de modèle suivant met à jour la règle de filtre IP nommée « AllowAll », mentionnée précédemment, pour refuser 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"
}
]
}
}
]
}
Suppression d’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 aller plus loin dans la gestion d’une instance DPS, consultez :