Utiliser des filtres IP
La sécurité est un aspect important de toute solution IoT basée sur Azure IoT Hub. 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 vous permet de configurer des règles de rejet ou d’acceptation du trafic provenant de certaines adresses IPv4.
Quand l’utiliser
Utilisez le filtre IP pour recevoir le trafic uniquement à partir d’une plage spécifiée d’adresses IP et refuser tout le reste. Par exemple, vous utilisez votre hub IoT avec Azure Express Route pour créer des connexions privées entre un hub IoT et votre infrastructure locale.
Paramètre par défaut
Pour accéder à la page Paramètres de filtre IP de votre hub IoT, sélectionnez Paramètres de sécurité>Mise en réseau>Accès public, puis choisissez Plages IP sélectionnées :
Par défaut, la grille Filtre IP dans le portail pour un IoT Hub est vide. Ce paramètre par défaut signifie que votre hub bloque les connexions provenant de toutes les adresses IP. Ce paramètre par défaut est équivalent à une règle qui bloque la plage d’adresses IP 0.0.0.0/0
.
Ajouter ou modifier une règle de filtre IP
Pour ajouter une règle de filtre IP, sélectionnez Ajouter une règle de filtre IP. Pour ajouter rapidement l’adresse IP de votre ordinateur, sélectionnez Ajouter l’adresse IP de votre client.
Après avoir sélectionné Ajouter une règle de filtre IP, renseignez les champs. Ces champs sont préremplis si vous avez choisi d’ajouter l’adresse IP de votre client.
Donnez un nom à la règle de filtre IP. Ce nom doit être une 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 sont acceptés ainsi que les caractères spéciaux suivants :
- : . + % _ # * ? ! ( ) , = @ ; '
.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.
Après avoir rempli les champs, sélectionnez Enregistrer pour enregistrer la règle. Une alerte s’affiche vous informant que la mise à jour est en cours.
L’option Ajouter est désactivée lorsque vous atteignez le nombre maximal de 100 règles de filtre IP.
Pour modifier une règle existante, sélectionnez les données que vous souhaitez modifier, effectuez la modification, puis sélectionnez Enregistrer pour enregistrer votre modification.
Suppression d’une règle de filtre IP
Pour supprimer une règle de filtre IP, sélectionnez l’icône de la corbeille sur cette ligne, puis sélectionnez Enregistrer. La règle est supprimée et la modification est enregistrée.
Appliquer des règles de filtre IP au point de terminaison intégré compatible avec Event Hubs
Pour appliquer les règles de filtre IP au point de terminaison intégré compatible avec Event Hubs, cochez la case à côté de l’option Appliquer des filtres IP au point de terminaison intégré ?, puis sélectionnez Enregistrer.
Notes
Cette option n’est pas disponible pour les hubs IoT (F1) gratuits. Pour appliquer des règles de filtre IP au point de terminaison intégré, utilisez un hub IoT payant.
En activant cette option, vos règles de filtre IP sont répliquées sur le point de terminaison intégré, de sorte que seules les plages d’adresses IP approuvées peuvent y accéder.
Si vous désactivez cette option, le point de terminaison intégré est accessible à toutes les adresses IP. Ce comportement peut être utile si vous voulez lire à partir du point de terminaison avec des services dont les adresses IP sources peuvent peut-être changer dans le temps comme Azure Stream Analytics.
Application des règles de filtre
Les règles de filtre IP sont appliquées au niveau du service IoT Hub. 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. Vous pouvez également indiquer si le point de terminaison intégré compatible avec Event Hubs (et non par le biais de la chaîne de connexion IoT Hub) est soumis à ces règles.
Toute tentative de connexion à partir d’une adresse IP qui n’est pas explicitement autorisée reçoit un code d’état 401 non autorisé et une description. Le message de réponse ne mentionne pas la règle IP. Le rejet d’adresses IP est de nature à empêcher d’autres services Azure (comme Azure Stream Analytics, Azure Virtual Machines ou l’Explorateur d’appareils dans le portail Azure) d’interagir avec IoT Hub.
Notes
Si vous devez utiliser Azure Stream Analytics (ASA) pour lire des messages à partir d’un hub IoT avec le filtre IP activé, désactivez l’option Appliquer des filtres IP au point de terminaison intégré, puis utilisez le nom compatible avec Event Hub et le point de terminaison de votre hub IoT pour ajouter manuellement une entrée de flux Event Hubs dans l’ASA.
Portail Azure
Les règles de filtre IP sont également appliquées lors de l’utilisation d’IoT Hub via le portail Azure. Cela est dû au fait que les appels d’API au service IoT Hub sont effectués directement à l’aide de votre navigateur avec vos informations d’identification, ce qui est cohérent avec les autres services Azure. Pour accéder à IoT Hub avec le portail Azure quand le filtre IP est activé, ajoutez l’adresse IP de votre ordinateur à la liste d’autorisation.
Classement
Les règles de filtre IP sont des règles d’autorisation appliquées sans ordre. Seules les adresses IP que vous ajoutez sont autorisées à se connecter à IoT Hub.
Par exemple, si vous souhaitez accepter des adresses dans la plage 192.168.100.0/22
et rejeter tout le reste, il vous suffit d’ajouter une règle dans la grille avec la plage d’adresses 192.168.100.0/22
.
Récupérer et mettre à jour des filtres IP à l'aide d'Azure CLI
Les filtres IP de votre hub IoT peuvent être récupérés et mis à jour via Azure CLI.
Pour récupérer les filtres IP actuels de votre hub IoT, exécutez :
az resource show -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs
Cette opération renvoie un objet JSON dans lequel vos filtres IP existants sont répertoriés sous la clé properties.networkRuleSets
:
{
...
"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"
}
]
}
}
}
Pour ajouter un nouveau filtre IP à votre hub IoT, exécutez :
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\"}"
Pour supprimer un filtre IP existant de votre hub IoT, exécutez :
az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules <ipFilterIndexToRemove>
Ici, <ipFilterIndexToRemove>
correspond à l’ordre des filtres IP dans les properties.networkRuleSets.ipRules
de votre hub IoT.
Récupérer et mettre à jour des filtres IP à l'aide d'Azure PowerShell
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Les filtres IP de votre hub IoT peuvent être récupérés et définis via Azure PowerShell.
# 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
Mettre à jour les règles de filtrage IP à l'aide de REST
Vous pouvez également récupérer et modifier les filtres IP de votre IoT Hub en utilisant le point de terminaison REST du fournisseur de ressources Azure. Reportez-vous à properties.networkRuleSets
dans la méthode createorupdate.
Étapes suivantes
Pour explorer davantage les capacités de IoT Hub, consultez :