Exercice : supprimer les privilèges d’accès de l’inscription de groupe

Effectué

Dans cet exercice, vous supprimez les privilèges d’accès du groupe d’inscription complet, notamment l’annulation de l’inscription à partir du service de provisionnement des appareils (DPS) et l’annulation de l’inscription des appareils à partir d’IoT Hub.

Tâche 1 : Annuler l’inscription du groupe d’inscription de DPS

Dans cette tâche, vous annulez l’inscription de votre groupe d’inscription de DPS, ce qui désactive les appareils inscrits. Si vous souhaitez annuler temporairement l’inscription des appareils, vous pouvez désactiver le groupe d’inscription. Pour une annulation permanente de l’inscription, supprimez le groupe d’inscription.

  1. Dans le bac à sable Azure, désactivez ou supprimez votre groupe d’inscription.

    Ensuite, désactivez les éléments suivants :

    az iot dps enrollment-group update --dps-name dps-$suffix --enrollment-id enrollgroup-sensors --provisioning-status disabled
    

    Supprimer :

    az iot dps enrollment-group delete --dps-name dps-$suffix --enrollment-id enrollgroup-sensors
    

Si vous exécutez l’appareil simulé sensor-thl-001 maintenant, un message d’erreur similaire à ce que vous avez vu avec l’inscription individuelle désactivée s’affiche.

Remarque

Si vous supprimez un groupe d’inscription pour un certificat, les appareils dont la chaîne de certificats contient ce certificat peuvent quand même s’inscrire si celle-ci comporte plus en amont un groupe d’inscription activé différent pour le certificat racine ou un autre certificat intermédiaire.

Tâche 2 : Annuler l’inscription des appareils à partir d’IoT Hub

Une fois le groupe d’inscription supprimé du service de provisionnement des appareils (DPS), l’inscription de l’appareil existe toujours dans Azure IoT Hub. Pour supprimer entièrement les privilèges d’accès des appareils, vous devez également supprimer cette inscription.

  1. Dans le bac à sable Azure, supprimez l’appareil de votre registre d’appareils IoT Hub.

    az iot hub device-identity delete --hub-name hub-$suffix --device-id sensor-thl-001
    

Tâche 3 : Vérifiez que vos appareils sont déprovisionnés

Une fois l’inscription de groupe supprimée du service de provisionnement des appareils et l’appareil supprimé du registre d’appareils Azure IoT Hub, les appareils sont entièrement supprimés de la solution.

  1. Basculez vers la fenêtre Visual Studio Code contenant votre projet de code sensor-thl-001-device.

  2. Exécutez l’application d’appareil simulé, entrez la commande suivante :

    dotnet run
    
  3. Notez les exceptions répertoriées lorsque l’appareil tente de provisionner.

    Maintenant que l’inscription de groupe et l’appareil inscrit sont supprimés, l’appareil simulé ne peut plus être approvisionné ou connecté. Lorsque l’application tente d’utiliser le certificat X.509 configuré pour se connecter à DPS, elle retourne un message d’erreur ProvisioningTransportException.

    Found certificate: AFF851ED016CA5AEB71E5749BCBE3415F8CF4F37 CN=sensor-thl-001; PrivateKey: True
    Using certificate AFF851ED016CA5AEB71E5749BCBE3415F8CF4F37 CN=sensor-thl-001
    RegistrationID = sensor-thl-001
    ProvisioningClient RegisterAsync . . . Unhandled exception. Microsoft.Azure.Devices.Provisioning.Client.ProvisioningTransportException: {"errorCode":401002,"trackingId":"df969401-c766-49a4-bab7-e769cd3cb585","message":"Unauthorized","timestampUtc":"2019-12-20T21:30:46.6730046Z"}
       at Microsoft.Azure.Devices.Provisioning.Client.Transport.ProvisioningTransportHandlerAmqp.ValidateOutcome(Outcome outcome)
       at Microsoft.Azure.Devices.Provisioning.Client.Transport.ProvisioningTransportHandlerAmqp.RegisterDeviceAsync(AmqpClientConnection client, String correlationId, DeviceRegistration deviceRegistration)
       at Microsoft.Azure.Devices.Provisioning.Client.Transport.ProvisioningTransportHandlerAmqp.RegisterAsync(ProvisioningTransportRegisterMessage message, CancellationToken cancellationToken)
    

Vous avez terminé l’inscription, la configuration et le déprovisionnement dans le cadre du cycle de vie des appareils IoT avec le service de provisionnement des appareils.

Vérifier votre travail

  1. Vérifiez que le groupe d’inscription a été désactivé ou supprimé de DPS.

    az iot dps enrollment-group show --dps-name dps-$suffix --enrollment-id enrollgroup-sensors
    

    Si le groupe d’inscription est désactivé, vous devez voir la sortie de commande provisioningStatus désactivée :

    "provisioningStatus": "disabled"
    

    Si le groupe d’inscription est supprimé, un message similaire à ce qui suit doit s’afficher.

    {'code': 404204, 'message': 'Not Found.', 'trackingId': '3a1badb5-c1db-4dff-a001-69a5e6e252f4'}
    
  2. Vérifiez que l’appareil sensor-thl-001 a été désinscrit (supprimé) du hub IoT.

    az iot hub device-identity show --hub-name hub-$suffix --device-id sensor-thl-001
    

    Vous devez voir un message d’erreur DeviceNotFound similaire à ce qui suit :

     {'Message': 'ErrorCode:DeviceNotFound;sensor-thl-001', 'ExceptionMessage': 'Tracking ID:06e0221675514160850421f0b3b787a9-G:0-TimeStamp:10/24/2023 16:57:00'}