Compartir a través de


Administración de certificados de IoT Edge

Se aplica a:icono de sí IoT Edge 1.1

Importante

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

Todos los dispositivos IoT Edge usan certificados para crear conexiones seguras entre el entorno de ejecución y los módulos que se ejecutan en el dispositivo. Los dispositivos IoT Edge que funcionan como puertas de enlace usan estos mismos certificados para conectarse también a sus dispositivos de nivel inferior. Para más información sobre la función de los distintos certificados en un dispositivo IoT Edge, consulte Descripción del uso de certificados de Azure IoT Edge.

Nota:

El término autoridad certificadora raíz usado en este artículo hace referencia al certificado de la entidad superior dentro de la cadena de certificados de la solución de IoT. No es necesario usar la raíz del certificado de una entidad de certificación sindicada ni la raíz de la entidad de certificación de la organización. En muchos casos, es realmente un certificado de entidad de certificación intermedio.

Prerrequisitos

  • Obtenga información sobre cómo Azure IoT Edge usa certificados.

  • Un dispositivo IoT Edge. Si no tiene un dispositivo IoT Edge configurado, puede crear uno en una máquina virtual de Azure. Siga los pasos descritos en uno de los artículos de inicio rápido para crear un dispositivo Linux virtual o Crear un dispositivo Windows virtual.

  • Capacidad de editar el archivo de configuración de IoT Edge siguiendo la plantilla de configuración.

    • Si su config.toml no se basa en la plantilla, abra la plantilla y utilice las indicaciones comentadas para agregar secciones de configuración siguiendo la estructura de la plantilla.

    • Si tiene una nueva instalación de IoT Edge que no se ha configurado, copie la plantilla para inicializar la configuración. No use este comando si tiene una configuración existente. Sobrescribe el archivo.

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

Entidad de certificación del dispositivo

Todos los dispositivos IoT Edge usan certificados para crear conexiones seguras entre el entorno de ejecución y los módulos que se ejecutan en el dispositivo. Los dispositivos IoT Edge que funcionan como puertas de enlace usan estos mismos certificados para conectarse también a sus dispositivos de nivel inferior. Para más información sobre la función de los distintos certificados en un dispositivo IoT Edge, consulte Descripción del uso de certificados de Azure IoT Edge.

IoT Edge genera automáticamente la autoridad de certificación del dispositivo en el dispositivo en varios casos, entre los cuales se incluyen:

  • Si no proporciona sus propios certificados de producción al instalar y aprovisionar IoT Edge, el administrador de seguridad de IoT Edge genera automáticamente un certificado CA de dispositivo . Este certificado autofirmado está concebido únicamente para escenarios de desarrollo y pruebas, no para producción. Este certificado expira después de 90 días.
  • El administrador de seguridad de IoT Edge también genera un certificado de AC para la carga laboral firmado por el certificado de AC del dispositivo.

Para estos dos certificados generados automáticamente, tiene la opción de establecer una marca en el archivo de configuración para configurar el número de días durante la vigencia de los certificados.

Nota:

Hay un tercer certificado auto-generado que crea el administrador de seguridad de IoT Edge, el certificado del servidor del hub de IoT Edge . Este certificado siempre tiene una duración de 30 días, pero se renueva automáticamente antes de que expire. El valor de duración de la CA generado automáticamente en el archivo de configuración no afecta a este certificado.

Personalización de la duración del certificado de entidad de certificación del dispositivo de inicio rápido

Tras la expiración del número de días especificado, IoT Edge debe reiniciarse para volver a generar el certificado de entidad de certificación del dispositivo. El certificado de autoridad de certificación del dispositivo no se renueva automáticamente.

  1. Para configurar la expiración del certificado en algo distinto de los 90 días predeterminados, agregue el valor en días a la sección certificados del archivo de configuración.

    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>
    

    Nota:

    Actualmente, una limitación en libiothsm impide el uso de certificados que expiran el 1 de enero de 2038 o en una fecha posterior.

  2. Elimine el contenido de la carpeta hsm para quitar los certificados generados anteriormente.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  3. Reinicie el servicio IoT Edge.

    sudo systemctl restart iotedge
    
  4. Confirme la configuración de duración.

    sudo iotedge check --verbose
    

    Compruebe la salida de la preparación de producción: comprobación de certificados , que enumera el número de días hasta que expiren los certificados de CA de dispositivo generados automáticamente.

Instale la autoridad de certificación del dispositivo para producción

Una vez que pase a un escenario de producción o quiera crear un dispositivo de puerta de enlace, debe proporcionar sus propios certificados.

Crear e instalar la CA del dispositivo para la producción

  1. Use su propia entidad de certificación para crear los siguientes archivos:

    • Entidad de certificación raíz
    • Certificado de entidad de certificación de dispositivo
    • Clave privada de CA del dispositivo

    La entidad de certificación raíz no es la entidad de certificación más alta de una organización. Es la autoridad certificadora principal para el escenario de IoT Edge, que el módulo central de IoT Edge, los módulos de usuario y cualquier dispositivo descendente utilizan para establecer confianza mutua.

    Para ver un ejemplo de estos certificados, revise los scripts que crean certificados de demostración en Administración de certificados de entidad de certificación de prueba para muestras y tutoriales.

    Nota:

    Actualmente, una limitación en libiothsm impide el uso de certificados que expiran el 1 de enero de 2038 o en una fecha posterior.

  2. Copie los tres archivos de certificado y clave en el dispositivo IoT Edge. Puede usar un servicio como Azure Key Vault o una función como protocolo de copia segura para mover los archivos de certificado. Si generó los certificados en el propio dispositivo IoT Edge, puede omitir este paso y usar la ruta de acceso al directorio de trabajo.

    Sugerencia

    Si ha usado los scripts de ejemplo para crear certificados de demostración, los tres archivos de certificado y clave se encuentran en las siguientes rutas de acceso:

    • Certificado de autoridad de certificación del dispositivo: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
    • Clave privada de CA del dispositivo: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
    • CA raíz: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  1. Abra el archivo de configuración del daemon de seguridad de IoT Edge: /etc/iotedge/config.yaml

  2. Establezca las propiedades del certificado en config.yaml para que apunten a la ruta URI del archivo del certificado y los archivos de clave en el dispositivo IoT Edge. Quite el carácter # antes de las propiedades del certificado para quitar el comentario de las cuatro líneas. Asegúrese de que la línea certificates: no tenga ningún espacio en blanco anterior y que los elementos anidados estén indentados por dos espacios. Por ejemplo:

    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. Asegúrese de que el usuario iotedge tiene permisos de lectura y escritura para el directorio que contiene los certificados.

  4. Si ha usado otros certificados para IoT Edge en el dispositivo antes, elimine los archivos de los dos directorios siguientes antes de iniciar o reiniciar IoT Edge:

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  5. Reinicie IoT Edge.

    sudo iotedge system restart
    

Certificados de servidor de módulos

El demonio de Edge emite certificados de servidor e identidad para su uso por los módulos de Edge. Sigue siendo responsabilidad de los módulos Edge renovar sus certificados de identidad y servidor según sea necesario.

Renovación

Los certificados de servidor se pueden emitir a partir del certificado de Edge CA o a través de una CA configurada por DPS. Independientemente del método de emisión, el módulo debe renovar estos certificados.

Cambios en la versión 1.2 y posteriores

  • Se ha cambiado el nombre del Certificado de CA del Dispositivo a Certificado de CA Perimetral.
  • El certificado de CA de carga de trabajo se ha obsoletado. Ahora el administrador de seguridad de IoT Edge genera el certificado de servidor del IoT Edge hub edgeHub directamente desde el certificado de CA perimetral, sin el certificado de CA de carga de trabajo intermedio entre ellos.
  • El archivo de configuración predeterminado tiene un nuevo nombre y ubicación, de /etc/iotedge/config.yaml a /etc/aziot/config.toml de forma predeterminada. El comando iotedge config import se puede usar para ayudar a migrar la información de configuración de la ubicación y la sintaxis anteriores a las nuevas.

Pasos siguientes

La instalación de certificados en un dispositivo IoT Edge es un paso necesario antes de implementar la solución en producción. Obtenga más información sobre cómo preparar la implementación de la solución de IoT Edge en producción.