Tutorial: Aprovisionamiento del dispositivo en una instancia de IoT Hub mediante el servicio Azure IoT Hub Device ProvisioningTutorial: Provision the device to an IoT hub using the Azure IoT Hub Device Provisioning Service

En el tutorial anterior, aprendió a configurar un dispositivo para conectarse al servicio Device Provisioning.In the previous tutorial, you learned how to set up a device to connect to your Device Provisioning service. En este tutorial, aprenderá a usar este servicio para aprovisionar el dispositivo en una única instancia de IoT Hub mediante el aprovisionamiento automático y las listas de inscripción .In this tutorial, you learn how to use this service to provision your device to a single IoT hub, using auto-provisioning and enrollment lists. En este tutorial se muestra cómo realizar las siguientes acciones:This tutorial shows you how to:

  • Inscribir el dispositivoEnroll the device
  • Iniciar el dispositivoStart the device
  • Comprobar que el dispositivo está registradoVerify the device is registered

PrerrequisitosPrerequisites

Antes de continuar, asegúrese de configurar el dispositivo como se describe en el tutorial Configuración del dispositivo para el aprovisionamiento mediante el servicio Azure IoT Hub Device Provisioning.Before you proceed, make sure to configure your device as discussed in the tutorial Setup a device to provision using Azure IoT Hub Device Provisioning Service.

Si no está familiarizado con el proceso de aprovisionamiento automático, revise la información general sobre el aprovisionamiento antes de continuar.If you're unfamiliar with the process of auto-provisioning, review the provisioning overview before continuing.

Inscribir el dispositivoEnroll the device

Este paso incluye la incorporación de artefactos de seguridad únicos del dispositivo al servicio Device Provisioning.This step involves adding the device's unique security artifacts to the Device Provisioning Service. Estos artefactos de seguridad se basan en el mecanismo de atestación del dispositivo como se indica a continuación:These security artifacts are based on the device's Attestation mechanism as follows:

  • Para dispositivos basados en TPM necesita:For TPM-based devices you need:

    • La clave de aprobación que es exclusiva de cada chip TPM o simulación y que se obtiene del fabricante.The Endorsement Key that is unique to each TPM chip or simulation, which is obtained from the TPM chip manufacturer. Consulte Descripción de la clave de aprobación de TPM para más información.Read the Understand TPM Endorsement Key for more information.

    • El identificador de registro que se usa para identificar de forma única un dispositivo en el espacio de nombres o el ámbito.The Registration ID that is used to uniquely identify a device in the namespace/scope. Este identificador puede ser igual que el identificador de dispositivo o no.This ID may or may not be the same as the device ID. El identificador es obligatorio para todos los dispositivos.The ID is mandatory for every device. En el caso de los dispositivos basados en TPM, el identificador de registro puede derivarse del propio TPM, por ejemplo, un hash SHA-256 de la clave de aprobación del TPM.For TPM-based devices, the registration ID may be derived from the TPM itself, for example, an SHA-256 hash of the TPM Endorsement Key.

      Información de inscripción del TPM en el portalEnrollment information for TPM in the portal

  • Para dispositivos basados en X.509 necesita:For X.509 based devices you need:

    • El certificado emitido para el chip o simulación X.509, en un formato de archivo .pem o .cer.The certificate issued to the X.509 chip or simulation, in the form of either a .pem or a .cer file. Para la inscripción individual, debe usar el certificado del firmante de cada dispositivo para su sistema X.509, mientras que para la inscripción de grupos, debe usar el certificado raíz.For individual enrollment, you need to use the per-device signed certificate for your X.509 system, while for enrollment groups, you need to use the root certificate.

      Agregar inscripción individual para la atestación X.509 en el portalAdd individual enrollment for X.509 attestation in the portal

Hay dos maneras de inscribir el dispositivo en el servicio Device Provisioning:There are two ways to enroll the device to the Device Provisioning Service:

  • Grupos de inscripción: esta representa un grupo de dispositivos que comparten un mecanismo de atestación específico.Enrollment Groups This represents a group of devices that share a specific attestation mechanism. Se recomienda usar un grupo de inscripción para un gran número de dispositivos que compartan la configuración inicial deseada o para dispositivos que vayan todos al mismo inquilino.We recommend using an enrollment group for a large number of devices, which share a desired initial configuration, or for devices all going to the same tenant. Para más información sobre la atestación de identidad para grupos de inscripción, consulte Seguridad.For more information on Identity attestation for enrollment groups, see Security.

    Agregar inscripción de grupo para la atestación X.509 en el portalAdd group enrollment for X.509 attestation in the portal

  • Inscripciones individuales: esta representa una entrada de un único dispositivo que se puede registrar con el servicio Device Provisioning.Individual Enrollments This represents an entry for a single device that may register with the Device Provisioning Service. Las inscripciones individuales pueden usar certificados X.509 o tokens de SAS (en un módulo de plataforma segura real o virtual) como mecanismos de atestación.Individual enrollments may use either x509 certificates or SAS tokens (in a real or virtual TPM) as attestation mechanisms. Se recomiendan las inscripciones individuales para los dispositivos que requieran configuraciones iniciales únicas y los dispositivos que solo puedan utilizar tokens de SAS a través de módulos de plataforma segura reales o virtuales como mecanismo de atestación.We recommend using individual enrollments for devices that require unique initial configurations, and devices that can only use SAS tokens via TPM or virtual TPM as the attestation mechanism. En las inscripciones individuales se puede especificar el identificador de dispositivo del centro de IoT deseado.Individual enrollments may have the desired IoT hub device ID specified.

Ahora puede inscribir el dispositivo con la instancia del servicio Device Provisioning, mediante los artefactos de seguridad basados en el mecanismo de atestación del dispositivo:Now you enroll the device with your Device Provisioning Service instance, using the required security artifacts based on the device's attestation mechanism:

  1. Inicie sesión en Azure Portal, haga clic en el botón Todos los recursos situado en el menú izquierdo y abra el servicio Device Provisioning.Sign in to the Azure portal, click on the All resources button on the left-hand menu and open your Device Provisioning service.

  2. En la hoja de resumen del servicio Device Provisioning, seleccione Manage enrollments (Administrar inscripciones).On the Device Provisioning Service summary blade, select Manage enrollments. Seleccione la pestaña Inscripciones individuales o Grupos de inscripción según la configuración del dispositivo.Select either Individual Enrollments tab or the Enrollment Groups tab as per your device setup. Haga clic en el botón Agregar de la parte superior.Click the Add button at the top. Seleccione TPM o X.509 como mecanismo de atestación de identidad y escriba los artefactos de seguridad adecuados, según lo descrito anteriormente.Select TPM or X.509 as the identity attestation Mechanism, and enter the appropriate security artifacts as discussed previously. Puede escribir un nuevo identificador de dispositivo de IoT Hub.You may enter a new IoT Hub device ID. Una vez completado, haga clic en el botón Guardar.Once complete, click the Save button.

  3. Cuando el dispositivo se haya inscrito satisfactoriamente, verá que aparece en el portal como sigue:When the device is successfully enrolled, you should see it displayed in the portal as follows:

    Inscripción de TPM satisfactoria en el portal

Después de la inscripción, el servicio de aprovisionamiento espera a que cualquiera de los dispositivos arranque y se conecte con él en cualquier momento posterior en el tiempo.After enrollment, the provisioning service then waits for the device to boot and connect with it at any later point in time. Cuando el dispositivo arranca por primera vez, la biblioteca de cliente SDK interactúa con el chip para extraer los artefactos de seguridad del dispositivo y comprueba el registro con el servicio Device Provisioning.When your device boots for the first time, the client SDK library interacts with your chip to extract the security artifacts from the device, and verifies registration with your Device Provisioning service.

Inicio del dispositivo IoTStart the IoT device

El dispositivo IoT puede ser un dispositivo real o un dispositivo simulado.Your IoT device can be a real device, or a simulated device. Como el dispositivo IoT se ha inscrito con una instancia de Device Provisioning Service, este puede iniciarse ahora y llamar al servicio de aprovisionamiento para que lo reconozca mediante el mecanismo de atestación.Since the IoT device has now been enrolled with a Device Provisioning Service instance, the device can now boot up, and call the provisioning service to be recognized using the attestation mechanism. Una vez que el servicio de aprovisionamiento ha reconocido el dispositivo, este se asignará a un centro de IoT.Once the provisioning service has recognized the device, it will be assigned to an IoT hub.

Se incluyen ejemplos de dispositivos simulados, mediante atestación TPM y X.509, para C, Java, C#, Node.js y Python.Simulated device examples, using both TPM and X.509 attestation, are included for C, Java, C#, Node.js, and Python. Por ejemplo, un dispositivo simulado con TPM y el SDK de Azure IoT para C seguiría el proceso descrito en la sección Simulate first boot sequence for a device (Simulación de la primera secuencia de inicio de un dispositivo).For example, a simulated device using TPM and the Azure IoT C SDK would follow the process covered in the Simulate first boot sequence for a device section. El mismo dispositivo con la atestación de certificado X.509 haría referencia a esta sección de la secuencia de inicio.The same device using X.509 certificate attestation would refer to this boot sequence section.

Consulte la Guía de procedimientos de MXChip Iot DevKit como ejemplo para un dispositivo real.Refer to the How-to guide for the MXChip Iot DevKit as an example for a real device.

Inicie el dispositivo para permitir que la aplicación cliente de este inicie el registro con el servicio Device Provisioning.Start the device to allow your device's client application to start the registration with your Device Provisioning service.

Comprobar que el dispositivo está registradoVerify the device is registered

Cuando arranca el dispositivo, se deben realizar las siguientes acciones:Once your device boots, the following actions should take place:

  1. El dispositivo envía una solicitud de registro al servicio Device Provisioning.The device sends a registration request to your Device Provisioning service.

  2. En el caso de los dispositivos TPM, el servicio Device Provisioning devuelve un desafío de registro al que responde el dispositivo.For TPM devices, the Device Provisioning Service sends back a registration challenge to which your device responds.

  3. Una vez que el registro se ha realizado correctamente, el servicio Device Provisioning envía el identificador URI del centro de IoT, el del dispositivo y la clave cifrada nuevamente al dispositivo.On successful registration, the Device Provisioning Service sends the IoT hub URI, device ID, and the encrypted key back to the device.

  4. Luego, la aplicación cliente de IoT Hub del dispositivo se conecta al centro.The IoT Hub client application on the device then connects to your hub.

  5. Después de una conexión correcta, el dispositivo aparecerá en el explorador Dispositivos IoT de IoT Hub.On successful connection to the hub, you should see the device appear in the IoT hub's IoT Devices explorer.

    Conexión correcta al centro en el portal

Para obtener más información, consulte el ejemplo de cliente de dispositivo de aprovisionamiento, prov_dev_client_sample.c.For more information, see the provisioning device client sample, prov_dev_client_sample.c. En el ejemplo se muestra el aprovisionamiento de un dispositivo simulado mediante TPM, los certificados X.509 y las claves simétricas.The sample demonstrates provisioning a simulated device using TPM, X.509 certificates and symmetric keys. Remítase a las guías de inicio rápido de atestación de TPM, X.509 y Clave simétrica para obtener instrucciones paso a paso sobre el uso del ejemplo.Refer back to the TPM, X.509, and Symmetric key attestation quickstarts for step-by-step instructions on using the sample.

Pasos siguientesNext steps

En este tutorial, ha aprendido a:In this tutorial, you learned how to:

  • Inscribir el dispositivoEnroll the device
  • Iniciar el dispositivoStart the device
  • Comprobar que el dispositivo está registradoVerify the device is registered

Pase al siguiente tutorial para aprender a aprovisionar varios dispositivos en centros con equilibrio de carga.Advance to the next tutorial to learn how to provision multiple devices across load-balanced hubs.