Partager via


Support du service de provisionnement des appareils Azure IoT Hub (DPS) pour les réseaux virtuels

Cet article présente le modèle de connectivité de réseau virtuel pour le provisionnement d'appareils IoT avec des hubs IoT en utilisant DPS. Ce modèle fournit une connectivité privée entre les appareils, DPS et le hub IoT à l’intérieur d’un réseau virtuel Azure appartenant au client.

Dans la plupart des scénarios où DPS est configuré avec un réseau virtuel, votre hub IoT est également configuré dans le même réseau virtuel. Pour plus d’informations sur la prise en charge et la configuration du réseau virtuel pour les hubs IoT, consultez la prise en charge d’IoT Hub pour les réseaux virtuels avec Azure Private Link.

Présentation

Par défaut, les noms d’hôte DPS sont mappés à un point de terminaison public avec une adresse IP routable publiquement sur Internet. Ce point de terminaison public est visible pour tous les clients. Les appareils IoT sur des réseaux étendus et des réseaux locaux peuvent essayer d’accéder au point de terminaison public.

Pour plusieurs raisons, les clients peuvent souhaiter restreindre la connectivité aux ressources Azure, comme DPS. Ces raisons sont les suivantes :

  • Empêcher l’exposition des connexions sur l’Internet public. L’exposition peut être réduite en introduisant davantage de couches de sécurité via l’isolation au niveau du réseau pour vos ressources IoT Hub et DPS

  • Activation d’une expérience de connectivité privée à partir de vos ressources réseau locales, ce qui garantit que vos données et votre trafic sont transmis directement au réseau principal Azure.

  • Empêcher les attaques d’exfiltration de réseaux locaux sensibles.

  • Suivant les modèles de connectivité à l’échelle d’Azure établis à l’aide de points de terminaison privés.

Les approches courantes pour restreindre la connectivité incluent les règles de filtre IP DPS et la mise en réseau virtuelle avec des points de terminaison privés. L’objectif de cet article est de décrire l’approche de mise en réseau virtuelle pour DPS à l’aide de points de terminaison privés.

Les appareils qui fonctionnent dans des réseaux locaux peuvent utiliser un réseau privé virtuel (VPN) ou un peering privé ExpressRoute pour se connecter à un réseau virtuel dans Azure et accéder aux ressources DPS via des points de terminaison privés.

Un point de terminaison privé est une adresse IP privée allouée à l’intérieur d’un réseau virtuel appartenant au client par lequel une ressource Azure est accessible. En ayant un point de terminaison privé pour votre ressource DPS, vous pouvez autoriser les appareils fonctionnant à l’intérieur de votre réseau virtuel à demander l’approvisionnement par votre ressource DPS sans autoriser le trafic vers le point de terminaison public. Chaque ressource DPS peut prendre en charge plusieurs points de terminaison privés, chacun pouvant se trouver dans un réseau virtuel dans une autre région.

Prerequisites

Avant de continuer, vérifiez que les conditions préalables suivantes sont remplies :

Limitations du point de terminaison privé

Notez les limitations actuelles suivantes pour DPS lors de l’utilisation de points de terminaison privés :

  • Les points de terminaison privés ne fonctionnent pas lorsque la ressource DPS et le hub IoT lié se trouvent dans différents clouds. Par exemple, Azure Government et Azure global.

  • Les points de terminaison privés dans DPS utilisent Azure Private Link, qui sont uniquement pris en charge dans les régions publiques. Pour plus d’informations, consultez la disponibilité d’Azure Private Link.

  • Actuellement, les stratégies d’allocation personnalisées avec Azure Functions pour DPS ne fonctionnent pas lorsque la fonction Azure est verrouillée sur un réseau virtuel et des points de terminaison privés.

  • La prise en charge actuelle du réseau virtuel DPS est destinée aux données entrantes dans DPS uniquement. La sortie de données, qui est le trafic de DPS vers IoT Hub, utilise un mécanisme de service à service interne plutôt qu’un réseau virtuel dédié. La prise en charge du verrouillage complet des sorties basées sur un réseau virtuel entre DPS et Hub IoT n’est actuellement pas disponible.

  • La stratégie d’allocation de latence la plus faible est utilisée pour affecter un appareil au hub IoT avec la latence la plus faible. Cette stratégie d’allocation n’est pas fiable dans un environnement de réseau virtuel.

  • L’activation d’un ou plusieurs points de terminaison privés implique généralement de désactiver l’accès public à votre instance DPS. Une fois l’accès public désactivé, vous ne pouvez plus utiliser le portail Azure pour gérer les inscriptions. Au lieu de cela, vous pouvez gérer les inscriptions à l’aide de l’interface de ligne de commande Azure, de PowerShell ou des API de service à partir de machines à l’intérieur d’un ou plusieurs réseaux virtuels/points de terminaison privés configurés sur l’instance DPS.

  • Lorsque vous utilisez des points de terminaison privés, nous vous recommandons de déployer DPS dans l’une des régions qui prennent en charge les zones de disponibilité. Sinon, les instances DPS avec des points de terminaison privés activés peuvent voir une disponibilité réduite pendant les pannes.

Note

Considérations relatives à la résidence des données :

DPS fournit un point de terminaison d’appareil global (global.azure-devices-provisioning.net). Toutefois, lorsque vous utilisez le point de terminaison global, vos données peuvent être redirigées en dehors de la région où l’instance DPS a été créée initialement. Pour garantir la résidence des données dans la région DPS initiale, utilisez des points de terminaison privés.

Créer un point de terminaison privé

Pour configurer un point de terminaison privé, procédez comme suit :

  1. Dans le portail Azure, accédez à votre ressource DPS.

  2. Dans le menu du service, sous Paramètres, sélectionnez l’onglet Mise en réseau .

  3. Dans le volet de travail, sélectionnez l’onglet Accès privé , puis sélectionnez + Créer un point de terminaison privé.

    Capture d’écran montrant l’ajout d’un nouveau point de terminaison privé pour une instance DPS dans le portail Azure.

  4. Sous l’onglet Informations de base de la page Créer un point de terminaison privé , entrez les informations mentionnées dans le tableau suivant.

    Capture d’écran montrant l’onglet Informations de base de la page Créer un point de terminaison privé.

    Champ Valeur
    Subscription Choisissez l’abonnement Azure souhaité pour contenir le point de terminaison privé.
    Groupe de ressources Choisissez ou créez un groupe de ressources pour contenir le point de terminaison privé.
    Nom Entrez un nom pour votre point de terminaison privé.
    Nom de l’interface réseau Si vous le souhaitez, entrez un nom pour l’interface réseau de votre point de terminaison privé.
    Region Choisissez la région du point de terminaison privé. La région choisie doit être la même que la région qui contient le réseau virtuel, mais elle n’a pas besoin d’être identique à la ressource DPS.

    Sélectionnez Suivant : Ressource pour configurer la ressource vers laquelle pointe le point de terminaison privé.

  5. Sous l’onglet Ressource de la page Créer un point de terminaison privé , entrez les informations mentionnées dans le tableau suivant.

    Capture d’écran montrant l’onglet Ressource de la page Créer un point de terminaison privé.

    Champ Valeur
    Subscription S’il n’est pas déjà choisi, choisissez l’abonnement Azure qui contient la ressource DPS vers laquelle pointe votre point de terminaison privé.
    Type de ressource S’il n’est pas déjà choisi, choisissez Microsoft.Devices/ProvisioningServices.
    Ressource S’il n’est pas déjà choisi, sélectionnez la ressource DPS à laquelle le point de terminaison privé est mappé.
    Sous-ressource cible Sélectionnez iotDps.

    Conseil / Astuce

    Les informations sur la connexion à une ressource Azure par ID de ressource ou paramètre d’alias sont fournies dans la section Demander un point de terminaison privé dans cet article.

    Sélectionnez Suivant : Réseau virtuel pour configurer le réseau virtuel pour le point de terminaison privé.

  6. Sous l’onglet Réseau virtuel de la page Créer un point de terminaison privé , choisissez votre réseau virtuel et votre sous-réseau pour créer le point de terminaison privé dans.

    Capture d’écran montrant l’onglet Réseau virtuel de la page Créer un point de terminaison privé.

    Sélectionnez Suivant : DNS pour choisir les options d’intégration DNS privées nécessaires pour votre point de terminaison privé.

  7. Sous l’onglet DNS de la page Créer un point de terminaison privé , choisissez les options d’intégration DNS privées nécessaires pour votre point de terminaison privé.

    Capture d’écran montrant l’onglet DNS de la page Créer un point de terminaison privé.

    Sélectionnez Suivant : Balises et éventuellement fournir les balises pour votre ressource.

  8. Sélectionnez Suivant : Vérifier + créer, puis Créer pour créer votre ressource de point de terminaison privé.

Utiliser des points de terminaison privés avec des appareils

Pour utiliser des points de terminaison privés avec du code d’approvisionnement d’appareil, votre code d’approvisionnement doit utiliser le point de terminaison de service spécifique pour votre instance DPS, comme indiqué dans la page vue d’ensemble de votre instance DPS dans le portail Azure. Le point de terminaison de service a le formulaire suivant.

<Your DPS Tenant Name>.azure-devices-provisioning.net

La plupart des exemples de code présentés dans notre documentation et nos kits SDK utilisent le point de terminaison d’appareil global (global.azure-devices-provisioning.net) et l’étendue d’ID pour résoudre une instance DPS particulière. Utilisez le point de terminaison de service à la place du point de terminaison d’appareil global lors de la connexion à une instance DPS à l’aide de points de terminaison privés pour approvisionner vos appareils.

Par exemple, l’exemple de client d’appareil d’approvisionnement (pro_dev_client_sample) dans le Kit de développement logiciel (SDK) Azure IoT C est conçu pour utiliser le point de terminaison d’appareil global comme URI d’approvisionnement global (global_prov_uri) dans prov_dev_client_sample.c

MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_RESULT, PROV_DEVICE_RESULT_VALUE);
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_REG_STATUS, PROV_DEVICE_REG_STATUS_VALUES);

static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
}

PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(global_prov_uri, id_scope, prov_transport)) == NULL)
{
    (void)printf("failed calling Prov_Device_Create\r\n");

Pour utiliser l’exemple avec un point de terminaison privé, le code mis en surbrillance dans l’exemple précédent serait modifié pour utiliser le point de terminaison de service pour votre ressource DPS. Par exemple, si votre point de terminaison de service était mydps.azure-devices-provisioning.net, le code ressemblerait comme suit.

static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* service_uri = "mydps.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
    PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
    PROV_DEVICE_HANDLE prov_device_handle;
    if ((prov_device_handle = Prov_Device_Create(service_uri, id_scope, prov_transport)) == NULL)
    {
        (void)printf("failed calling Prov_Device_Create\r\n");
    }

Demander un point de terminaison privé

Vous pouvez demander un point de terminaison privé à une instance DPS par ID de ressource. Pour effectuer cette demande, vous avez besoin du propriétaire de la ressource pour vous fournir l’ID de ressource.

  1. L’ID de ressource est fourni dans la page Propriétés de la ressource DPS dans le portail Azure, comme illustré dans la capture d’écran suivante.

    Capture d’écran montrant la page Propriétés d’une instance DPS dans le portail Azure, mettant en évidence l’ID de ressource de l’instance DPS.

    Caution

    L’ID de ressource contient l’ID d’abonnement.

  2. Une fois que vous avez l’ID de ressource, suivez les étapes décrites dans Configurer un point de terminaison privé à l’étape 3 sous l’onglet Ressource de la page Créer un point de terminaison privé . Sélectionnez Se connecter à une ressource Azure par ID de ressource ou alias , puis entrez les informations contenues dans le tableau suivant.

    Champ Valeur
    ID de ressource ou alias Entrez l’ID de ressource de la ressource DPS.
    Sous-ressource cible Entrez iotDps
    Message de demande Entrez un message de demande pour le propriétaire de la ressource DPS.
    Par exemple,
    Please approve this new private endpoint
    for IoT devices in site 23 to access this DPS instance

    Sélectionnez Suivant : Réseau virtuel pour configurer le réseau virtuel pour le point de terminaison privé.

  3. Sous l’onglet Réseau virtuel de la page Créer un point de terminaison privé , choisissez votre réseau virtuel et votre sous-réseau pour créer le point de terminaison privé dans.

    Capture d’écran montrant l’onglet Réseau virtuel de la page Créer un point de terminaison privé.

    Sélectionnez Suivant : DNS pour choisir les options d’intégration DNS privées nécessaires à votre demande de point de terminaison privé.

  4. Sous l’onglet DNS de la page Créer un point de terminaison privé , choisissez les options d’intégration DNS privées nécessaires pour votre demande de point de terminaison privé.

    Capture d’écran montrant l’onglet DNS de la page Créer un point de terminaison privé.

    Sélectionnez Suivant : Balises et éventuellement fournir les balises pour votre ressource.

  5. Sélectionnez Suivant : Vérifier + créer, puis créer pour créer votre demande de point de terminaison privé.

  6. Le propriétaire DPS voit la demande de point de terminaison privé dans la liste des connexions de point de terminaison privé sur la page Mise en réseau de l’instance DPS dans le portail Azure. Sur cette page, le propriétaire peut approuver ou rejeter la demande de point de terminaison privé.

    Capture d’écran montrant la page Mise en réseau de l’instance DPS dans le portail Azure, mettant en évidence la demande de point de terminaison privé.

Tarification des points de terminaison privés

Pour plus d’informations sur les tarifs, consultez Tarification Liaison privée Azure.

Étapes suivantes

En savoir plus sur les fonctionnalités de sécurité DPS :