Partager via


Qu’est-ce que le service Azure IoT Hub Device Provisioning ?

Le service IoT Hub Device Provisioning (DPS) est un service d’assistance pour IoT Hub qui autorise un provisionnement sans contact, juste-à-temps sur le hub IoT approprié et sans aucune intervention humaine. Dans une solution basée sur le cloud, DPS permet l’approvisionnement de millions d’appareils de manière sécurisée et évolutive. La plupart des étapes manuelles que nécessite généralement le provisionnement sont automatisées avec DPS pour réduire le temps de déploiement des appareils IoT et diminuer le risque d’erreur manuelle.

Fonctionnement du service de provisionnement des appareils

Le diagramme suivant décrit ce qui se passe dans les coulisses pour approvisionner un appareil avec DPS.

Diagramme montrant comment l’appareil, le service DPS et IoT Hub fonctionnent ensemble.

Avant le début du flux de provisionnement des appareils, il y a deux étapes de préparation à faire manuellement :

  • Côté appareil, le fabricant de l’appareil prépare l’appareil en vue de son provisionnement en le préconfigurant avec ses informations d’authentification et avec l’ID et le point de terminaison du service DPS qui lui ont été attribués.
  • Côté cloud, vous ou le fabricant de l’appareil prépare l’instance du service Device Provisioning avec des inscriptions qui identifient les appareils valides et définissent la façon dont ils doivent être approvisionnés.

Une fois l’appareil et le cloud configurés pour l’approvisionnement, les étapes suivantes commencent automatiquement lorsque l’appareil est activé pour la première fois :

  1. L’appareil est activé pour la première fois, puis se connecte au point de terminaison DPS et présente ses informations d’identification d’authentification.
  2. L’instance DPS vérifie l’identité de l’appareil par rapport à sa liste d’inscriptions. Une fois l’identité de l’appareil vérifiée, DPS attribue l’appareil à un hub IoT et l’inscrit auprès du hub.
  3. L’instance DPS reçoit l’ID de l’appareil et les informations d’inscription associées du hub attribué, puis renvoie toutes ces informations à l’appareil.
  4. L’appareil utilise ses informations d’inscription pour se connecter directement au hub IoT qui lui est attribué et s’y authentifier.
  5. L’appareil et le hub IoT commencent à communiquer directement. L’instance DPS a seulement un rôle d’intermédiaire, sauf si l’appareil doit être reprovisionné.

Quand utiliser le service Device Provisioning

Nombreux sont les scénarios de provisionnement dans lesquels DPS s’avère être un excellent choix pour connecter et configurer des appareils sur IoT Hub, notamment :

  • Approvisionnement sans contact sur une solution IoT unique sans coder en dur en usine les informations de connexion IoT Hub (configuration initiale)
  • Équilibrage de la charge d’appareils sur plusieurs hubs
  • Connexion d’appareils à la solution IoT de leur propriétaire en fonction des données de transaction de vente (architecture multilocataire)
  • Connexion d’appareils à une solution IoT particulière en fonction des cas d’usage (isolement de la solution)
  • Connexion d’un appareil au hub IoT avec la latence la plus faible (géopartitionnement)
  • Reprovisionnement basé sur un changement au niveau de l’appareil
  • Restaurer les clés utilisées par l’appareil pour se connecter à IoT Hub (en cas de non-utilisation de certificats X.509 pour la connexion)

DPS ne prend pas en charge l’approvisionnement d’appareils IoT Edge imbriqués (hiérarchies parent/enfant).

Processus de mise en service

Il existe deux étapes à l’avance d’un provisionnement des appareils avec DPS :

  • L’étape de fabrication qui permet de créer et préparer l’appareil en usine.
  • L’étape de configuration du cloud qui configure le service Device Provisioning pour l’approvisionnement automatique.

Ces deux étapes peuvent être intégrées dans les processus de fabrication et de déploiement existants. DPS simplifie même certains processus de déploiement qui nécessitent des tâches manuelles pour obtenir les informations de connexion sur l’appareil.

Étape de fabrication

Cette étape englobe toutes les tâches de la ligne de fabrication. Les rôles impliqués dans cette étape incluent le concepteur de silicium, le fabricant de silicium, l’intégrateur et/ou le fabricant final de l’appareil. Cette étape concerne la création du matériel.

Le DPS n’introduit pas une nouvelle étape dans le processus de fabrication; il se rattache plutôt à l’étape existante qui installe le logiciel initial et (idéalement) le module de sécurité matériel (HSM) sur l’appareil. Au lieu de créer un ID d’appareil dans cette étape, l’appareil est programmé avec les informations du service d’approvisionnement, ce qui lui permet d’appeler le service d’approvisionnement pour obtenir son attribution de solution d’informations de connexion/IoT lorsqu’il est activé.

Dans cette étape également, le fabricant fournit à l’opérateur ou au système de déploiement de l’appareil les informations de clé d’identification. Pour fournir ces informations, vous pouvez simplement confirmer que tous les appareils ont un certificat X.509 généré par une autorité de certification fournie par l’opérateur ou le responsable de déploiement de l’appareil, ou bien, ce qui est plus compliqué, extraire la partie publique d’une paire de clés de type EK TPM sur chaque appareil TPM. De nombreux fabricants de silicium offrent ces services.

Étape de configuration du cloud

Cette étape configure le cloud pour l’approvisionnement automatique approprié. Généralement, deux types d’utilisateurs sont impliqués dans l’étape de configuration du cloud : une personne qui sait comment les appareils doivent être configurés initialement (un opérateur d’appareil) et une autre personne qui sait comment les appareils doivent être répartis dans les hubs IoT (un opérateur de solution).

Il y a une configuration initiale unique du service d’approvisionnement, qui est généralement prise en charge par l’opérateur de la solution. Une fois le service d’approvisionnement configuré, il n’a pas besoin d’être modifié, sauf si le cas d’utilisation change.

Une fois que le service est configuré pour la configuration automatique, il doit être préparé pour inscrire les appareils. Cette étape est réalisée par l’opérateur de l’appareil, qui connaît la configuration souhaitée des appareils et s’assure que le service d’approvisionnement peut correctement attester de l’identité d’un appareil. L’opérateur d’appareil récupère les informations de la clé d’identification auprès du fabricant et les ajoute à la liste d’inscriptions. La liste d’inscriptions peut être mise à jour par la suite, à mesure que de nouvelles entrées sont ajoutées ou que des entrées existantes sont mises à jour avec les dernières informations des appareils.

Enregistrement et approvisionnement

L’approvisionnement désigne différentes choses, selon le secteur dans lequel est utilisé le terme. Dans le contexte de l’approvisionnement d’appareils IoT dans une solution cloud, il désigne un processus en deux parties :

  • La première partie établit la connexion initiale entre l’appareil et la solution IoT en enregistrant l’appareil.
  • La deuxième partie applique la configuration appropriée à l’appareil selon les exigences spécifiques de la solution dans laquelle il est enregistré.

Une fois ces deux étapes terminées, nous pouvons dire que l’appareil est entièrement approvisionné.

Fonctionnalités du service Device Provisioning

DPS propose de nombreuses fonctionnalités qui le rendent idéal pour le provisionnement d’appareils.

  • Prise en charge de l’attestation sécurisée pour les identités X.509 et TPM.
  • Liste d’inscription contenant l’enregistrement complet des appareils/groupes d’appareils qui peuvent s’inscrire à un moment donné. La liste d’inscriptions contient des informations sur la configuration souhaitée d’un appareil après son enregistrement et peut être mise à jour à tout moment.
  • Plusieurs stratégies d’allocation sont possibles pour contrôler la façon dont DPS attribue les appareils aux hubs IoT en fonction de vos scénarios : latence la plus faible, distribution uniformément pondérée (par défaut) et configuration statique. L’allocation personnalisée vous permet d’implémenter vos propres stratégies d’allocation via des webhooks hébergés dans Azure Functions au lieu d’utiliser l’une des valeurs par défaut.
  • Monitoring et journalisation des diagnostics pour vérifier que tout fonctionne correctement.
  • La prise en charge multihub permet à DPM d’affecter des appareils à plusieurs hubs IoT. DPS peut communiquer avec les hubs de plusieurs abonnements Azure.
  • La prise en charge inter-régions permet à DPS d’affecter des appareils à des hubs IoT d’autres régions.
  • Le chiffrement des données au repos est conforme à la norme FIPS 140-2 et permet de chiffrer et déchiffrer les données dans DPM de façon transparente avec le chiffrement AES 256 bits, un des chiffrements par blocs les plus puissants actuellement disponibles.

Pour plus d’informations sur les concepts et fonctionnalités utilisés dans le provisionnement des appareils, consultez l’article Terminologie DPS et les autres articles conceptuels de la même section.

Prise en charge multiplateforme

Comme tous les services Azure IoT, DPS fonctionne sur plusieurs plateformes et avec divers systèmes d’exploitation. Azure propose des kits SDK open source dans différents langages, ce qui facilite la connexion des appareils et la gestion du service.

DPS prend en charge les protocoles suivants pour la connexion des appareils :

  • HTTPS*
  • AMQP
  • AMQP sur WebSockets
  • MQTT
  • MQTT sur WebSockets

*DPS prend uniquement en charge les connexions HTTPS pour les opérations de service.

Régions

DPS est disponible dans de nombreuses régions. Pour obtenir la liste des régions prises en charge pour tous les services, consultez les régions Azure. Vous pouvez vérifier la disponibilité du service Device Provisioning sur la page d’état Azure .

Pour la résilience et la fiabilité, nous vous recommandons de déployer sur l’une des régions qui prennent en charge les zones de disponibilité.

Considération relative à la résidence des données

Le service Device Provisioning (provisionnement des appareils) stocke les données client. Par défaut, les données client sont répliquées dans une région secondaire pour prendre en charge les scénarios de récupération d’urgence. Pour les déploiements en Asie Sud-Est et au Brésil Sud, les clients peuvent choisir de conserver leurs données uniquement dans cette région en désactivant la récupération d’urgence. Pour plus d’informations, consultez la réplication interrégion dans Azure.

DPS utilise le même point de terminaison de provisionnement des appareils pour toutes les instances de service de provisionnement et effectue l’équilibrage de charge du trafic vers le point de terminaison de service disponible le plus proche. Par conséquent, les secrets d’authentification peuvent être temporairement transférés en dehors de la région où l’instance DPS a été initialement créée. Toutefois, une fois que l’appareil est connecté, ses données sont transmises directement à la région d’origine de l’instance DPS. Pour vous assurer que vos données ne quittent pas la région d'origine ou la région secondaire, utilisez un point de terminaison privé. Pour savoir comment configurer des points de terminaison privés, consultez le support DPS pour les réseaux virtuels.

Quotas et limites

Chaque abonnement Azure a des limites de quota par défaut en place qui peuvent affecter l’étendue de votre solution IoT. La limite actuelle est de 10 instances de service de provisionnement des appareils par abonnement.

Pour plus d’informations sur les limites de quota, consultez les limites du service d’abonnement Azure.

Le tableau suivant répertorie les limites qui s’appliquent aux ressources du Service Azure IoT Hub Device Provisioning.

Ressource Limite
Nombre maximal de services d’approvisionnement d’appareil par abonnement Azure 10
Nombre maximal d’inscriptions 1 000 000
Nombre maximal d’inscriptions individuelles 1 000 000
Nombre maximal de groupes d’inscription (certificat X.509) 100
Nombre maximal de groupes d’inscription (clé symétrique) 100
Nombre maximal d’autorités de certification 25
Nombre maximal de hubs IoT liés 50
Taille maximale du message 96 Ko

Conseil

Si la limite stricte des groupes d’inscription à clé symétrique est un problème bloquant, utilisez des inscriptions individuelles comme solution de contournement.

Le service de provisionnement des appareils a les limites de débit suivantes.

Tarif Valeur par unité
Opérations 1 000/min/service
Inscriptions d’appareil 1 000/min/service
Opération d’interrogation des appareils 5/10 s/appareil

Opérations de service facturables et tarifs

Chaque appel d’API sur DPS, qu’il s’agisse des API de service ou de l’API d’inscription d’appareil, peut être facturé en une seule opération.

Les tableaux suivants indiquent l’état facturable actuel pour chaque opération d’API DPS. Pour plus d’informations sur la tarification de DPS, sélectionnez le tableau des tarifs en haut de la page Tarification Azure IoT Hub. Sélectionnez ensuite l’onglet Service IoT Hub Device Provisioning, ainsi que la devise et la région de votre service.

API (Interface de Programmation d'Applications) Opération Facturable ?
API d’appareil DPS - Inscription du runtime Recherche de l’état de l’inscription de l’appareil Non
Vérification d'état de l'opération Non
enregistrer un appareil Oui
API de service DPS - État d’inscription de l’appareil Tous Oui
API de service DPS - Groupe d’inscription Tous Oui
API de service DPS - Inscription individuelle Tous Oui
API de certificat DPS Tous Non
API de ressource d’IoT DPS Tous Non

DPS automatise le provisionnement d’appareils avec Azure IoT Hub. Découvrez plus d’informations sur IoT Hub.

Les applications IoT Central utilisent une instance DPS interne pour gérer les connexions des appareils. Pour en savoir plus, voir Comment les appareils se connectent à IoT Central.

Étapes suivantes

Configurer le service IoT Hub Device Provisioning avec le portail Azure

Créer et provisionner un appareil simulé