Compartir a través de


Creación y aprovisionamiento de dispositivos IoT Edge a escala con un TPM en Windows

Se aplica a:yes icon IoT Edge 1.1

Importante

IoT Edge 1.1 fecha de finalización del soporte técnico fue el 13 de diciembre de 2022. Consulte la página del ciclo de vida de productos de Microsoft para obtener información sobre cómo se admite este producto, servicio, tecnología o API. Para obtener más información sobre cómo actualizar a la versión más reciente de IoT Edge, consulte Update IoT Edge.

En este artículo se proporcionan instrucciones para aprovisionar automáticamente un dispositivo Azure IoT Edge para Windows mediante un módulo de plataforma segura (TPM). Puede aprovisionar dispositivos IoT Edge de forma automática con el 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.

Nota:

Azure IoT Edge con contenedores de Windows no se admitirá a partir de la versión 1.2 de Azure IoT Edge.

Considere la posibilidad de usar el nuevo método para ejecutar IoT Edge en dispositivos Windows, Azure IoT Edge para Linux en Windows.

Si quiere usar Azure IoT Edge para Linux en Windows, puede seguir los pasos descritos en la guía de procedimientos equivalente de .

En este artículo, se describen dos metodologías. Seleccione sus preferencias en función de la arquitectura de la solución:

  • Aprovisionar automáticamente un dispositivo Windows con hardware de TPM físico.
  • Aprovisionar automáticamente un dispositivo Windows que ejecuta un TPM simulado. Se recomienda esta metodología solo como escenario de prueba. Un TPM simulado no ofrece la misma seguridad que un TPM físico.

Las instrucciones varían en función de la metodología, por lo que debe asegurarse de que se encuentra en la pestaña correcta en el futuro.

Las tareas son las siguientes:

  • Recupere la información de aprovisionamiento del dispositivo.
  • Cree una inscripción individual para el dispositivo.
  • Instale el entorno de ejecución de IoT Edge y conecte el dispositivo a IoT Hub.

Prerrequisitos

Los requisitos previos son los mismos para las soluciones físicas de TPM y TPM virtual.

Recursos en la nube

Requisitos del dispositivo

Una máquina de desarrollo de Windows. En este artículo se usa Windows 10.

Nota:

Se necesita TPM 2.0 cuando se usa la atestación de TPM con el servicio de aprovisionamiento de dispositivos.

Solo puede crear inscripciones individuales del servicio de aprovisionamiento de dispositivos, no de grupo, cuando utiliza un TPM.

Configuración del TPM

En esta sección, crearás una herramienta que puedes usar para recuperar el ID de registro y la clave de aprobación para el TPM.

  1. Siga los pasos descritos en Configuración de un entorno de desarrollo de Windows para instalar y compilar el SDK de dispositivo IoT de Azure para C.

  2. Ejecute los siguientes comandos en una sesión de PowerShell con privilegios elevados para compilar la herramienta SDK que recupera la información de aprovisionamiento de dispositivos para el TPM.

    cd azure-iot-sdk-c\cmake
    cmake -Duse_prov_client:BOOL=ON ..
    cd provisioning_client\tools\tpm_device_provision
    make
    .\tpm_device_provision
    
  3. La ventana de salida muestra el ID de registro del dispositivo y la clave de respaldo. Copie estos valores; los usará más adelante cuando cree una inscripción individual para el dispositivo en el servicio de aprovisionamiento de dispositivos.

Sugerencia

Si no desea usar la herramienta sdk para recuperar la información, debe encontrar otra manera de obtener la información de aprovisionamiento. La clave de aprobación, que es única para cada chip de TPM, se obtiene del fabricante del chip de TPM asociado a ella. Puede derivar un ID de registro único para su dispositivo TPM. Por ejemplo, puede crear un hash SHA-256 de la clave de aprobación.

Cuando tenga el identificador de registro y la clave de aprobación, estará listo para continuar.

Crear un registro en el servicio de aprovisionamiento de dispositivos

Utiliza la información de aprovisionamiento del TPM para crear una inscripción individual en el servicio de aprovisionamiento de dispositivos.

Al crear una inscripción en el servicio de aprovisionamiento de dispositivos, tiene la oportunidad de declarar un estado inicial de dispositivo gemelo. En el dispositivo gemelo, puede establecer etiquetas para agrupar dispositivos por cualquier métrica utilizada en la solución, como la región, el entorno, la ubicación o el tipo de dispositivo. Estas etiquetas se usan para crear implementaciones automáticas.

Sugerencia

Los pasos de este artículo son para Azure Portal, pero también puede crear inscripciones individuales mediante la CLI de Azure. Para obtener más información, consulte az iot dps enrollment. Como parte del comando de la CLI, use la marca edge-enabled para especificar que la inscripción es para un dispositivo de IoT Edge.

  1. En el portal de Azure, vaya a su instancia del servicio de aprovisionamiento de dispositivos de IoT Hub.

  2. En Configuración, seleccione Administrar inscripciones.

  3. Seleccione Agregar inscripción individual y, después, complete los pasos siguientes para configurar la inscripción:

    1. En Mecanismo, seleccione TPM.

    2. Proporcione la clave de aprobación y el identificador de registro que ha copiado de la máquina virtual o el dispositivo físico.

    3. Si quiere, proporcione un identificador para el dispositivo. Si no proporciona un id. de dispositivo, se usará el id. de registro.

    4. Seleccione Verdadero para declarar que esta máquina virtual o el dispositivo físico es un dispositivo IoT Edge.

    5. Elija el centro de IoT vinculado al que quiere conectar el dispositivo o seleccione Link to new IoT Hub (Vincular a un nuevo centro de IoT). Puede elegir varios centros y el dispositivo se asignará a uno de ellos según la directiva de asignación seleccionada.

    6. Si quiere, agregue un valor de etiqueta a Estado inicial de dispositivo gemelo. Puede usar etiquetas para los grupos de dispositivos de destino para la implementación del módulo. Para más información, consulte Implementación de módulos IoT Edge a escala.

    7. Haga clic en Guardar.

Ahora que existe una inscripción para este dispositivo, el entorno de ejecución de Azure IoT Edge puede aprovisionar automáticamente el dispositivo durante la instalación.

Instalación de IoT Edge

En esta sección, preparará la máquina virtual Windows o el dispositivo físico para IoT Edge. A continuación, instala IoT Edge.

Azure IoT Edge se basa en un entorno de ejecución de contenedor compatible con OCI. Moby, un motor basado en Moby, se incluye en el script de instalación, lo que significa que no hay pasos adicionales para instalar el motor.

Para instalar el entorno de ejecución de IoT Edge:

  1. Ejecute PowerShell como administrador.

    Use una sesión AMD64 de PowerShell, no PowerShell(x86). Si no está seguro del tipo de sesión que está usando, ejecute el siguiente comando:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Ejecute el comando Deploy-IoTEdge, que realiza las siguientes tareas:

    • Comprueba que la máquina Windows está en una versión compatible
    • Activa la función de contenedores
    • Descarga el motor moby y el entorno de ejecución de IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Reinicie el dispositivo si se le solicita.

Al instalar IoT Edge en un dispositivo, puede usar parámetros adicionales para modificar el proceso, entre los que se incluyen:

  • Dirigir el tráfico para pasar por un servidor proxy
  • Apuntar el instalador a un directorio local para la instalación sin conexión

Para obtener más información sobre estos parámetros adicionales, consulte scripts de PowerShell para IoT Edge con contenedores de Windows.

Aprovisionamiento del dispositivo con su identidad de nube

Una vez que el entorno de ejecución está instalado en el dispositivo, configure el dispositivo con la información que usa para conectarse al servicio de aprovisionamiento de dispositivos y a IoT Hub.

  1. Conozca el ámbito de ID del servicio de aprovisionamiento de dispositivos y el ID de registro de dispositivo que se recopilaron en las anteriores secciones.

  2. Abra una ventana de Azure PowerShell en modo de administrador. Asegúrese de usar una sesión AMD64 de PowerShell al instalar IoT Edge, no PowerShell (x86).

  3. El Initialize-IoTEdge comando configura el entorno de ejecución de IoT Edge en la máquina. El comando tiene como valor predeterminado el aprovisionamiento manual con contenedores de Windows. Use la -Dps marca para usar el servicio de aprovisionamiento de dispositivos en lugar del aprovisionamiento manual.

    Reemplace los valores de marcador de posición de paste_scope_id_here y paste_registration_id_here por los datos recopilados anteriormente.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -Dps -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here
    

Comprobación de instalación correcta

Si el entorno de ejecución se inició correctamente, vaya al centro de IoT e inicie la implementación de módulos de IoT Edge en el dispositivo. Use los siguientes comandos en el dispositivo para comprobar que el tiempo de ejecución se instaló y se inició correctamente.

  1. Compruebe el estado del servicio IoT Edge.

    Get-Service iotedge
    
  2. Examine los registros de servicio de los últimos 5 minutos.

    . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
    
  3. Enumere los módulos en ejecución.

    iotedge list
    

Pasos siguientes

El proceso de inscripción en el servicio de aprovisionamiento de dispositivos permite establecer el ID del dispositivo y las etiquetas del dispositivo gemelo al mismo tiempo que se aprovisiona el nuevo dispositivo. Puede usar esos valores para dirigirse a dispositivos individuales o grupos de dispositivos con la administración automática de dispositivos.

Aprenda a implementar y supervisar módulos de IoT Edge a gran escala mediante Azure Portal o la CLI de Azure.