Créer et provisionner un appareil IoT Edge sur Windows avec des clés symétriques

S’applique à :icône oui IoT Edge 1.1

Important

IoT Edge la date de fin du support 1.1 était le 13 décembre 2022. Consultez la page Politique de support Microsoft pour plus d’informations sur la prise en charge de ce produit, de ce service, de cette technologie ou de cette API. Pour plus d’informations sur la mise à jour vers la dernière version de IoT Edge, consultez Mettre à jour IoT Edge.

Cet article fournit des instructions de bout en bout pour l’inscription et le provisionnement d’un appareil IoT Edge sur Windows.

Notes

Azure IoT Edge pour conteneurs Windows ne sera pas pris en charge à partir de la version 1.2 d’Azure IoT Edge.

Envisagez d’utiliser la nouvelle méthode pour exécuter IoT Edge sur des appareils Windows, Azure IoT Edge pour Linux sur Windows.

Si vous souhaitez utiliser Azure IoT Edge pour Linux sur Windows, vous pouvez effectuer les étapes décrites dans le guide pratique équivalent.

Chaque appareil qui se connecte à un hub IoT possède un ID d’appareil qui sert au suivi des communications cloud-à-appareil ou appareil-à-cloud. Vous configurez un appareil avec ses informations de connexion, qui comprennent le nom d’hôte du hub IoT, l’ID d’appareil ainsi que les informations que l’appareil utilise pour s’authentifier auprès d’IoT Hub.

Les étapes de cet article suivent un processus appelé approvisionnement manuel, qui consiste à connecter un seul appareil à son hub IoT. Avec le provisionnement manuel, vous avez le choix entre deux méthodes d’authentification des appareils IoT Edge :

  • Clés symétriques : quand vous créez une identité d’appareil dans IoT Hub, le service crée deux clés. Vous placez l’une des clés sur l’appareil, lequel présente la clé à IoT Hub au moment de l’authentification.

    Cette méthode d’authentification est plus rapide pour commencer, mais moins sûre que l’autre.

  • Par certificat autosigné X.509 : vous créez deux certificats d’identité X.509, que vous placez sur l’appareil. Quand vous créez une identité d’appareil dans IoT Hub, vous fournissez les empreintes numériques des deux certificats. Quand l’appareil s’authentifie auprès de IoT Hub, il présente un certificat et IoT Hub vérifie que le certificat correspond à son empreinte numérique.

    Cette méthode d’authentification étant plus sécurisée, elle est recommandée dans les scénarios de production.

Cet article traite de l’utilisation de clés symétriques comme méthode d’authentification. Si vous souhaitez utiliser des certificats X.509, consultez Créer et provisionner un appareil IoT Edge sur Windows à l’aide de certificats X.509.

Notes

Si vous avez de nombreux appareils à configurer et que vous ne souhaitez pas les provisionner manuellement, consultez l’un des articles suivants pour découvrir comment IoT Edge fonctionne avec le service IoT Hub Device Provisioning :

Prérequis

Cet article traite de l’inscription de votre appareil IoT Edge et de l’installation d’IoT Edge sur l’appareil. Ces tâches ont des conditions préalables et différents utilitaires sont utilisés pour les accomplir. Assurez-vous que toutes les conditions préalables sont remplies avant de continuer.

Outils de gestion des appareils

Vous avez le choix d’utiliser le portail Azure, Visual Studio Code ou Azure CLI pour inscrire votre appareil. Chaque utilitaire possède sa propre configuration requise :

Un hub IoT gratuit ou standard dans votre abonnement Azure.

Exigences relatives aux appareils

Un appareil Windows.

IoT Edge avec des conteneurs Windows requiert Windows version 1809/Build 17763, qui est la build prise en charge à long terme de Windowsla plus récente. Veillez à consulter la liste de systèmes pris en charge pour obtenir la liste des références SKU prises en charge.

Notez que les versions de Windows sur le conteneur et l’hôte doivent correspondre. Pour plus d’informations, consultez Impossible de démarrer le module en raison d’une incompatibilité du système d’exploitation.

Inscrire votre appareil

Vous avez le choix d’utiliser le portail Azure, Visual Studio Code ou Azure CLI pour inscrire votre appareil.

Dans votre hub IoT dans le portail Azure, les appareils IoT Edge sont créés et managés séparément des appareils IoT qui ne sont pas compatibles avec Edge.

  1. Connectez-vous au portail Azure et accédez à votre IoT Hub.

  2. Dans le volet de gauche, sélectionnez Appareils dans le menu, puis sélectionnez Ajouter un appareil.

  3. Dans la page Créer un appareil, fournissez les informations suivantes :

    • Créez un ID d’appareil descriptif. Notez cet ID d’appareil, car vous en aurez besoin plus tard.
    • Cochez la case Appareil IoT Edge.
    • Sélectionnez Clé symétrique comme type d’authentification.
    • Utilisez les paramètres par défaut pour générer automatiquement les clés d’authentification et connecter le nouvel appareil à votre hub.
  4. Sélectionnez Enregistrer.

Maintenant que vous avez un appareil inscrit dans IoT Hub, récupérez les informations à utiliser pour terminer l’installation et le provisionnement du runtime IoT Edge.

Afficher les appareils inscrits et récupérer les informations de provisionnement

Les appareils qui utilisent l’authentification de clé symétrique ont besoin de leurs chaînes de connexion pour terminer l’installation et l’approvisionnement du runtime IoT Edge.

Les appareils compatibles avec Edge qui se connectent à votre hub IoT sont répertoriés dans la page Appareils. Vous pouvez filtrer la liste par type d’Appareil Iot Edge.

Capture d’écran montrant comment afficher vos appareils dans le portail Azure, IoT Hub.

Pour configurer votre appareil, vous avez besoin de la chaîne de connexion qui établit un lien entre votre appareil physique et son identité dans le hub IoT.

Les appareils qui s’authentifient avec des clés symétriques disposent des chaînes de connexion pouvant être copiées dans le portail.

  1. Dans la page Appareils du portail, sélectionnez l’ID d’appareil IoT Edge dans la liste.
  2. Copiez la valeur de Chaîne de connexion principale ou Chaîne de connexion secondaire.

Installer IoT Edge

Dans cette section, vous préparez votre machine virtuelle ou votre appareil physique Windows pour IoT Edge. Ensuite, vous installez IoT Edge.

Azure IoT Edge s’appuie sur un runtime de conteneur compatible avec OCI. Moby, un moteur basé sur Moby, est inclus dans le script d’installation, ce qui signifie qu’il n’y a aucune étape supplémentaire pour installer le moteur.

Pour installer le runtime IoT Edge :

  1. Exécutez PowerShell ISE en tant qu’administrateur.

    Utilisez une session AMD64 de PowerShell, et non PowerShell (x86). Si vous ne savez pas quel type de session vous utilisez, exécutez la commande suivante :

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Exécutez la commande Deploy-IoTEdge qui effectue les tâches suivantes :

    • Vérifie que votre ordinateur Windows est sur une version prise en charge
    • Active la fonctionnalité des conteneurs
    • Télécharge le moteur moby et le runtime IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Redémarrez votre appareil si vous y êtes invité.

Quand vous installez IoT Edge sur un appareil, vous pouvez utiliser des paramètres supplémentaires pour modifier le processus, à savoir :

  • Diriger le trafic pour qu’il transite par un serveur proxy,
  • Pointer le programme d’installation vers un répertoire local pour une installation hors connexion

Pour plus d’informations sur ces paramètres supplémentaires, consultez Scripts PowerShell pour IoT Edge sur conteneurs Windows.

Provisionnement de l’appareil avec son identité cloud

Maintenant que le moteur de conteneur et le runtime d’IoT Edge sont installés sur votre appareil, vous pouvez passer à l’étape suivante, à savoir configurer l’appareil avec ses informations d’identité et d’authentification cloud.

  1. Sur l’appareil IoT Edge, exécutez PowerShell en tant qu’administrateur.

  2. Utilisez la commande Initialize-IoTEdge pour configurer le runtime IoT Edge sur votre ordinateur. Par défaut, la commande est une commande d’approvisionnement manuel avec des conteneurs Windows.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
    
    • Si vous avez téléchargé le script IoTEdgeSecurityDaemon.ps1 sur votre appareil pour une installation hors connexion ou l’installation d’une version spécifique, veillez à référencer la copie locale du script.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
      
  3. Lorsque vous y êtes invité, spécifiez la chaîne de connexion de l’appareil que vous avez récupérée dans la section précédente. La chaîne de connexion de l’appareil associe l’appareil physique à un ID d’appareil dans IoT Hub et fournit des informations d’authentification.

    La chaîne de connexion se présente au format suivant et ne doit pas contenir de guillemets : HostName={IoT_hub_name}.azure-devices.net;DeviceId={device_name};SharedAccessKey={key}

Quand vous provisionnez un appareil manuellement, vous pouvez utiliser des paramètres supplémentaires pour changer le processus, à savoir :

  • Diriger le trafic pour qu’il transite par un serveur proxy,
  • Déclarer une image conteneur d’agent Edge spécifique, et fournir des informations d’identification si l’image se trouve dans un registre privé

Pour plus d’informations sur ces paramètres supplémentaires, consultez Scripts PowerShell pour IoT Edge sur conteneurs Windows.

Vérification de la réussite de la configuration

Vérifiez que le runtime a été correctement installé et configuré sur votre appareil IoT Edge.

Vérifiez l’état du service IoT Edge.

Get-Service iotedge

Consultez les journaux d’activité de service.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Répertoriez les modules en cours d’exécution.

iotedge list

Installation d’une version spécifique hors connexion (facultatif)

Les étapes de cette section concernent les scénarios non couverts par les étapes d’installation standard. Cela peut inclure :

  • Installer IoT Edge en mode hors connexion
  • Installer une version Release candidate
  • Installer une version autre que la version la plus récente

Lors de l’installation, trois fichiers sont téléchargés :

  • Un script PowerShell, qui contient les instructions d’installation
  • Le fichier cab Microsoft Azure IoT Edge, contenant le démon de sécurité IoT Edge (iotedged), le moteur du conteneur Moby et Moby CLI
  • Programme d’installation du package Visual C++ Redistribuable (Runtime VC)

Si votre appareil est hors connexion pendant l’installation, ou si vous souhaitez installer une version spécifique d’IoT Edge, vous pouvez télécharger à l’avance ces fichiers sur l’appareil. Quand il est temps d’effectuer l’installation, pointez le script d’installation sur le répertoire contenant les fichiers téléchargés. Le programme d’installation commence par vérifier le répertoire, puis télécharge uniquement les composants qui ne s’y trouvent pas. Si tous les fichiers sont disponibles hors connexion, vous pouvez procéder à l’installation sans connexion Internet.

  1. Pour accéder aux derniers fichiers d’installation IoT Edge ainsi qu’aux versions précédentes, voir les publications d’Azure IoT Edge.

  2. Recherchez la version que vous souhaitez installer, puis téléchargez les fichiers suivants de la section Ressources des notes de publication vers votre appareil IoT :

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab du canal de distribution 1.1.

    Il est important d’utiliser le script PowerShell de la même version que le fichier .cab que vous utilisez, car les fonctionnalités changent pour prendre en charge les fonctionnalités de chaque version.

  3. Si le fichier .cab que vous avez téléchargé est doté d’un suffixe d’architecture, renommez le fichier uniquement Microsoft-Azure-IoTEdge.cab.

  4. Éventuellement, téléchargez un programme d’installation pour Visual C++ Redistributable. Par exemple, le script PowerShell utilise cette version : vc_redist.x64. exe. Enregistrez le programme d’installation dans le même dossier que les fichiers IoT Edge sur votre appareil.

  5. Pour installer avec des composants hors connexion, effectuez un appel de source de type « dot source » de la copie locale du script PowerShell.

  6. Exécutez la commande Deploy-IoTEdge avec le paramètre -OfflineInstallationPath. Indiquez le chemin d’accès absolu au répertoire de fichiers. Par exemple,

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    La commande de déploiement utilise les composants trouvés dans le répertoire de fichiers local fourni. S’il manque le fichier .cab ou le programme d'installation de Visual C++, elle tente de les télécharger.

Désinstaller IoT Edge

Si vous souhaitez supprimer l’installation d’IoT Edge de votre appareil Windows, utilisez la commande Uninstall-IoTEdge à partir d’une fenêtre PowerShell d’administration. Cette commande supprime le runtime IoT Edge, ainsi que votre configuration existante et les données du moteur Moby.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

Pour plus d’informations sur les options de désinstallation, utilisez la commande Get-Help Uninstall-IoTEdge -full.

Étapes suivantes

Passez à Déployer des modules IoT Edge pour savoir comment déployer des modules sur votre appareil.