Partager via


Gérer les certificats IoT Edge

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.

Tous les appareils IoT Edge utilisent des certificats pour créer des connexions sécurisées entre le runtime et les modules en cours d’exécution sur l’appareil. Les appareils IoT Edge fonctionnant en tant que passerelles utilisent également ces mêmes certificats pour se connecter à leurs appareils en aval. Pour plus d’informations sur la fonction des différents certificats sur un appareil IoT Edge, consultez Comprendre comment Azure IoT Edge utilise les certificats.

Notes

Le terme autorité de certification racine utilisé dans cet article fait référence au certificat de la plus grande autorité de la chaîne de certificats pour votre solution IoT. Vous n’avez pas besoin d’utiliser la racine du certificat d’une autorité de certification syndiquée ou la racine de l’autorité de certification de votre organisation. La plupart du temps, il s’agit en fait d’un certificat d’une autorité de certification intermédiaire.

Prérequis

  • Comprendre Azure IoT Edge utilise les certificats.

  • Un appareil IoT Edge. Si vous n’avez aucun appareil IoT Edge configuré, vous pouvez en créer un sur une machine virtuelle Azure. Suivez les étapes décrites dans l’un des articles de démarrage rapide pour créer un appareil Linux virtuel ou créer un appareil Windows virtuel.

  • Possibilité de modifier le fichier config.toml de configuration IoT Edge en suivant le modèle de configuration.

    • Si votre config.toml n’est pas basé sur le modèle, ouvrez le modèle et utilisez les instructions commentées pour ajouter des sections de configuration en suivant la structure du modèle.

    • Si vous avez une nouvelle installation IoT Edge qui n’a pas été configurée, copiez le modèle pour initialiser la configuration. N’utilisez pas cette commande si vous avez une configuration existante. Il remplace le fichier.

      sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
      

Appareil CA

Tous les appareils IoT Edge utilisent des certificats pour créer des connexions sécurisées entre le runtime et les modules en cours d’exécution sur l’appareil. Les appareils IoT Edge fonctionnant en tant que passerelles utilisent également ces mêmes certificats pour se connecter à leurs appareils en aval. Pour plus d’informations sur la fonction des différents certificats sur un appareil IoT Edge, consultez Comprendre comment Azure IoT Edge utilise les certificats.

IoT Edge génère automatiquement des autorités de certification appareils dans plusieurs cas, notamment :

  • Si vous ne fournissez pas vos propres certificats de production lors de l’installation et de la configuration d’IoT Edge, le gestionnaire de sécurité IoT Edge génère automatiquement un certificat d’autorité de certification d’appareil. Ce certificat auto-signé est conçu uniquement pour les scénarios de développement et de test, et non pour la production. Il expire au bout de 90 jours.
  • Le gestionnaire de sécurité IoT Edge génère également un certificat d’autorité de certification de charge de travail signé par le certificat d’autorité de certification de l’appareil.

Pour ces deux certificats générés automatiquement, vous avez la possibilité de définir un indicateur dans le fichier config pour configurer le nombre de jours de durée de vie des certificats.

Notes

Un troisième certificat généré automatiquement, le certificat de serveur de sécurité IoT Edge, est créé par le gestionnaire de sécurité IoT Edge. Ce certificat est toujours valable 30 jours, mais il est renouvelé automatiquement avant d’expirer. La valeur de durée de vie de l’autorité de certification générée automatiquement définie dans le fichier config n’affecte pas ce certificat.

Personnaliser la durée de vie du certificat d’autorité de certification de l’appareil de démarrage rapide

À l’expiration après le nombre de jours spécifié, IoT Edge doit être redémarré pour régénérer le certificat d’autorité de certification d’appareil. Le certificat d’autorité de certification d’appareil n’est pas renouvelé automatiquement.

  1. Pour configurer l’expiration du certificat sur une valeur autre que la valeur par défaut de 90 jours, ajoutez la valeur en jours à la section certificates du fichier config.

    certificates:
      device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>"
      device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>"
      trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>"
      auto_generated_ca_lifetime_days: <value>
    

    Notes

    Il existe actuellement dans libiothsm une limitation empêchant l’utilisation de certificats qui expirent le 1er janvier 2038 ou après cette date.

  2. Supprimez le contenu du hsm dossier pour supprimer tous les certificats générés précédemment.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  3. Redémarrez le service IoT Edge.

    sudo systemctl restart iotedge
    
  4. Confirmez le paramètre de durée de vie.

    sudo iotedge check --verbose
    

    Vérifiez la sortie de la vérification de la préparation de la production : certificats, qui répertorie le nombre de jours jusqu’à l’expiration des certificats d’autorité de certification d’appareils générés automatiquement.

Installer l’autorité de certification d’appareil pour la production

Une fois que vous entrez dans un scénario de production ou que vous souhaitez créer un appareil de passerelle, vous devez fournir vos propres certificats.

Créer et installer l’autorité de certification d’appareil pour la production

  1. Utiliser votre propre autorité de certification pour créer les fichiers suivants :

    • Autorité de certification racine
    • Certificat d’autorité de certification d’appareil
    • Clé privée d’autorité de certification d’appareil

    L’autorité de certification racine n’est pas l’autorité de certification la plus haute pour une organisation. Il s’agit de l’autorité de certification la plus élevée pour le scénario IoT Edge, que le module du hub IoT Edge, les modules utilisateur et tous les appareils en aval utilisent pour établir une relation de confiance entre eux.

    Pour voir un exemple de ces certificats, passez en revue les scripts qui créent des certificats de démonstration dans Gestion de certificats d’autorité de certification de test pour des exemples et tutoriels.

    Notes

    Il existe actuellement dans libiothsm une limitation empêchant l’utilisation de certificats qui expirent le 1er janvier 2038 ou après cette date.

  2. Copiez les trois fichiers de certificat et de clé sur votre appareil IoT Edge. Vous pouvez utiliser un service comme Azure Key Vault ou une fonction comme SCP (Secure Copy Protocol) pour déplacer les fichiers de certificats. Si vous avez généré les certificats directement sur l’appareil IoT Edge, vous pouvez ignorer cette étape et utiliser le chemin du répertoire de travail.

    Conseil

    Si vous avez utilisé les exemples de scripts pour créer des certificats de démonstration, les trois fichiers de certificat et de clé se trouvent aux chemins d’accès suivants :

    • Certificat d’autorité de certification d’appareil : <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
    • Clé privée d’autorité de certification d’appareil : <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
    • Autorité de certification racine : <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  1. Ouvrez le fichier config du démon de sécurité IoT Edge : /etc/iotedge/config.yaml

  2. Définissez les propriétés de certificat dans le fichier config.yaml en indiquant le chemin d’URI des fichiers de certificat et de clé sur l’appareil IoT Edge. Supprimez le caractère # devant les propriétés certificates pour décommenter les quatre lignes. Vérifiez que la ligne certificates: n’est pas précédée d’un espace et que les éléments imbriqués sont mis en retrait de deux espaces. Par exemple :

    certificates:
       device_ca_cert: "file:///<path>/<device CA cert>"
       device_ca_pk: "file:///<path>/<device CA key>"
       trusted_ca_certs: "file:///<path>/<root CA cert>"
    
  3. Assurez-vous que l’utilisateur iotedge dispose d’autorisations d’accès en lecture/écriture au répertoire contenant les certificats.

  4. Si vous avez déjà utilisé d'autres certificats pour IoT Edge sur l'appareil, supprimez les fichiers dans les deux répertoires suivants avant de démarrer ou de redémarrer IoT Edge :

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  5. Redémarrez IoT Edge.

    sudo iotedge system restart
    

Certificats de serveur de modules

Edge Daemon émet un serveur de modules et des certificats d’identité pour une utilisation par les modules Edge. Il reste de la responsabilité des modules Edge de renouveler leur identité et leurs certificats de serveur en fonction des besoins.

Renouvellement

Les certificats de serveur peuvent être émis à partir du certificat d’autorité de certification Edge ou par le biais d’une autorité de certification configurée pour DPS. Quelle que soit la méthode d’émission, ces certificats doivent être renouvelés par le module.

Modifications apportées à 1.2 et ultérieures

  • Le certificat d’autorité de certification d’appareil a été renommé certificat d’autorité de certification Edge.
  • Le certificat d’autorité de certification de charge de travail a été déprécié. Désormais, le gestionnaire de sécurité IoT Edge génère le certificat du serveur IoT Edge HubedgeHub directement à partir du certificat de l’autorité de certification de périphérie, sans le certificat intermédiaire d’autorité de certification de charge de travail.
  • Le fichier de configuration par défaut a un nouveau nom et un nouvel emplacement, de /etc/iotedge/config.yaml à /etc/aziot/config.toml par défaut. La commande iotedge config import peut aider à migrer les informations de configuration de l’ancien emplacement et de l’ancienne syntaxe.

Étapes suivantes

L’installation de certificats sur un appareil IoT Edge est une étape nécessaire avant le déploiement de votre solution en production. Découvrez comment Préparer le déploiement en production d’une solution IoT Edge.