Compartir a través de


Administración de certificados de IoT Edge

Se aplica a: icono IoT Edge 1.1

Importante

IoT Edge 1.1: la 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 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 obtener más información sobre la función de los distintos certificados en un dispositivo IoT Edge, consulte Información sobre los certificados de Azure IoT Edge.

Nota:

El término entidad de certificación raíz que se usa en este artículo hace referencia al certificado de la entidad de nivel superior 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 o la raíz de la entidad de certificación de la organización. En muchos casos, se trata realmente de un certificado intermedio de la entidad de certificación.

Requisitos previos

  • Información sobre los certificados de Azure IoT Edge

  • 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 de alguno de los artículos de inicio rápido para Crear un dispositivo virtual Linux o Crear un dispositivo virtual Windows.

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

    • Si su config.toml no se basa en la plantilla, abra la plantilla y use las instrucciones 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
      

CA de 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 obtener más información sobre la función de los distintos certificados en un dispositivo IoT Edge, consulte Información sobre los certificados de Azure IoT Edge.

IoT Edge genera CA de dispositivo automáticamente en el dispositivo en varios casos, entre los que 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 de CA del 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 CA de carga de trabajo firmado por el certificado de CA del dispositivo.

En el caso de 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 para la vigencia de los certificados.

Nota:

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

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

Al expirar una vez transcurrido el número de días especificado, IoT Edge debe reiniciarse para volver a generar el certificado de CA del dispositivo. El certificado de CA del dispositivo no se renueva automáticamente.

  1. Para configurar la expiración de certificados en un valor distinto a los 90 días predeterminados, agregue el valor en días a la sección certificates 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 previamente.

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

    sudo systemctl restart iotedge
    
  4. Confirme el valor de vigencia.

    sudo iotedge check --verbose
    

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

Instalación de la CA del dispositivo para producción

Una vez realizada la migración a un escenario de producción, o si quiere crear un dispositivo de puerta de enlace, tendrá que proporcionar certificados propios.

Creación e instalación de la CA del dispositivo para producción

  1. Use una CA propia para crear los archivos siguientes:

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

    La entidad de certificación raíz no es la entidad de certificación de nivel superior de una organización. Es la entidad de certificación de nivel superior para el escenario de IoT Edge, que el módulo de IoT Edge Hub, los módulos de usuario y los dispositivos de nivel inferior usan para establecer la confianza entre sí.

    Para ver un ejemplo de estos certificados, revise los scripts que crean los certificados de demostración en Administración de certificados de entidad de certificación de prueba para ejemplos 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 ha generado 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 rutas de acceso siguientes:

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

  2. Establezca las propiedades de certificado de config.yaml en la ruta de acceso del URI de archivo de los archivos de certificado y de clave del dispositivo IoT Edge. Elimine el carácter # antes de las propiedades de certificado para quitar la marca de comentario de las cuatro líneas. Asegúrese de que la línea certificates: no tiene ningún espacio en blanco delante y de que los elementos anidados muestran una sangría de 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 anteriormente ha usado cualquier otro certificado para IoT Edge en el dispositivo, 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 identidad y servidor de módulos para que los usen los módulos de Edge. Sigue siendo responsabilidad de los módulos perimetrales renovar sus certificados de identidad y servidor según sea necesario.

Renovación

Los certificados de servidor se pueden emitir fuera del certificado de CA perimetral 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 por certificado de CA perimetral.
  • El certificado de CA de carga de trabajo está en desuso. Ahora el administrador de seguridad de IoT Edge genera el certificado de servidor del centro de IoT Edge 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.