Condividi tramite


Gestire i certificati IoT Edge

Si applica a: Icona Sì IoT Edge 1.1

Importante

La data di fine del supporto di IoT Edge 1.1 è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.

Tutti i dispositivi IoT Edge usano i certificati per creare connessioni sicure tra il runtime e i moduli in esecuzione nel dispositivo. Anche i dispositivi IoT Edge che funzionano come gateway usano questi stessi certificati per connettersi ai dispositivi downstream. Per altre informazioni sulla funzione dei diversi certificati in un dispositivo IoT Edge, vedere Informazioni su come Azure IoT Edge usa i certificati.

Nota

Il termine CA radice usato in questo articolo si riferisce al certificato dell'autorità principale nella catena di certificati per la soluzione IoT. Non è necessario usare la radice del certificato di un'autorità di certificazione syndicated o la radice dell'autorità di certificazione dell'organizzazione. In molti casi, si tratta in realtà di un certificato CA intermedio.

Prerequisiti

  • Informazioni sulla modalità di utilizzo dei certificati da parte di Azure IoT Edge.

  • Un dispositivo IoT Edge. Se non si dispone di un dispositivo IoT Edge configurato, è possibile crearne uno in una macchina virtuale di Azure. Seguire la procedura descritta in uno di questi articoli della guida introduttiva per Creare un dispositivo Linux virtuale o Creare un dispositivo Windows virtuale.

  • Possibilità di modificare il file di configurazione di IoT Edge config.toml seguendo il modello di configurazione.

    • Se il file config.toml non è basato sul modello, aprire il modello e usare le indicazioni commentate per aggiungere sezioni di configurazione che seguono la struttura del modello.

    • Se si dispone di una nuova installazione di IoT Edge che non è stata configurata, copiare il modello per inizializzare la configurazione. Non usare questo comando se si dispone di una configurazione esistente. Sovrascrive il file.

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

CA dispositivo

Tutti i dispositivi IoT Edge usano i certificati per creare connessioni sicure tra il runtime e i moduli in esecuzione nel dispositivo. Anche i dispositivi IoT Edge che funzionano come gateway usano questi stessi certificati per connettersi ai dispositivi downstream. Per altre informazioni sulla funzione dei diversi certificati in un dispositivo IoT Edge, vedere Informazioni su come Azure IoT Edge usa i certificati.

IoT Edge genera automaticamente la CA del dispositivo nel dispositivo in diversi casi, tra cui:

  • Se non si forniscono certificati di produzione personalizzati durante l'installazione e il provisioning di IoT Edge, il gestore della sicurezza di IoT Edge genera automaticamente un certificato della CA del dispositivo. Questo certificato autofirmato è destinato solo agli scenari di sviluppo e test, non alla produzione. Questo certificato scade dopo 90 giorni.
  • Il gestore della sicurezza di IoT Edge genera anche un certificato della CA del carico di lavoro firmato dal certificato della CA del dispositivo.

Per questi due certificati generati automaticamente, è possibile impostare un flag nel file di configurazione per configurare il numero di giorni per la durata dei certificati.

Nota

È presente un terzo certificato generato automaticamente creato dal gestore della sicurezza di IoT Edge, il certificato del server dell'hub IoT Edge. Questo certificato ha sempre una durata di 30 giorni, ma viene rinnovato automaticamente prima della scadenza. Il valore di durata della CA generato automaticamente impostato nel file di configurazione non influisce su questo certificato.

Personalizzare la durata del certificato ca del dispositivo di avvio rapido

Alla scadenza dopo il numero specificato di giorni, IoT Edge deve essere riavviato per rigenerare il certificato della CA del dispositivo. Il certificato della CA del dispositivo non viene rinnovato automaticamente.

  1. Per configurare la scadenza del certificato su un valore diverso da quello predefinito di 90 giorni, aggiungere il valore in giorni alla sezione certificati del file di configurazione.

    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

    Attualmente, una limitazione in Libiothsm impedisce l'uso di certificati con scadenza uguale o successiva al 1° gennaio 2038.

  2. Eliminare il contenuto della hsm cartella per rimuovere eventuali certificati generati in precedenza.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  3. Riavviare il servizio IoT Edge.

    sudo systemctl restart iotedge
    
  4. Confermare l'impostazione di durata.

    sudo iotedge check --verbose
    

    Controllare l'output dell'idoneità per la produzione: verifica dei certificati , che elenca il numero di giorni fino alla scadenza dei certificati della CA del dispositivo generati automaticamente.

Installare la CA del dispositivo per la produzione

Dopo aver eseguito lo spostamento in uno scenario di produzione o si vuole creare un dispositivo gateway, è necessario fornire i propri certificati.

Creare e installare la CA del dispositivo per la produzione

  1. Usare l'autorità di certificazione personalizzata per creare i file seguenti:

    • CA radice
    • Certificato CA del dispositivo
    • Chiave privata della CA del dispositivo

    La CA radice non è l'autorità di certificazione principale per un'organizzazione. Si tratta dell'autorità di certificazione più elevata per lo scenario IoT Edge, che il modulo hub IoT Edge, i moduli utente e tutti i dispositivi downstream usano per stabilire un trust tra loro.

    Per un esempio di questi certificati, esaminare gli script che creano certificati demo in Gestione dei certificati della CA di test per esempi ed esercitazioni.

    Nota

    Attualmente, una limitazione in Libiothsm impedisce l'uso di certificati con scadenza uguale o successiva al 1° gennaio 2038.

  2. Copiare i tre file di certificato e chiave nel dispositivo IoT Edge. È possibile usare un servizio come Azure Key Vault o una funzione come il protocollo Secure Copy per spostare i file di certificato. Se sono stati generati i certificati nel dispositivo IoT Edge stesso, è possibile ignorare questo passaggio e usare il percorso della directory di lavoro.

    Suggerimento

    Se sono stati usati gli script di esempio per creare certificati demo, i tre file di certificato e chiave si trovano nei percorsi seguenti:

    • Certificato CA del dispositivo: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
    • Chiave privata della CA del dispositivo: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
    • CA radice: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  1. Aprire il file di configurazione del daemon di sicurezza di IoT Edge: /etc/iotedge/config.yaml

  2. Impostare le proprietà del certificato in config.yaml sul percorso URI del file sui file del certificato e dei file di chiave nel dispositivo IoT Edge. Rimuovere il # carattere prima delle proprietà del certificato per rimuovere il commento dalle quattro righe. Assicurarsi che i certificati: la riga non abbia spazi vuoti precedenti e che gli elementi annidati siano rientrati da due spazi. Ad esempio:

    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. Assicurarsi che l'utente iotedge disponga delle autorizzazioni di lettura/scrittura per la directory che contiene i certificati.

  4. Se nel dispositivo sono stati usati altri certificati per IoT Edge in precedenza, eliminare i file nelle due directory seguenti prima di avviare o riavviare IoT Edge:

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

    sudo iotedge system restart
    

Certificati del server del modulo

Il daemon Edge rilascia i certificati di identità e del server del modulo per l'uso da parte dei moduli Edge. È responsabilità dei moduli Edge rinnovare i propri certificati di identità e del server in base alle esigenze.

Rinnovo

I certificati server possono essere rilasciati dal certificato della CA Edge o tramite una CA configurata dal servizio Device Provisioning. Indipendentemente dal metodo di rilascio, questi certificati devono essere rinnovati dal modulo.

Modifiche apportate alla versione 1.2 e successive

  • Il certificato della CA del dispositivo è stato rinominato come certificato della CA Edge.
  • Il certificato della CA del carico di lavoro è stato deprecato. Ora lo strumento di gestione della sicurezza di IoT Edge genera il certificato del server edgeHub dell'hub di IoT Edge direttamente dal certificato della CA Edge, senza il certificato della CA del carico di lavoro intermedio tra di essi.
  • Il file di configurazione predefinito ha un nuovo nome e un nuovo percorso, da /etc/iotedge/config.yaml a /etc/aziot/config.toml per impostazione predefinita. Il comando iotedge config import può essere usato per eseguire la migrazione delle informazioni di configurazione dalla posizione e sintassi precedenti a quelle nuove.

Passaggi successivi

L'installazione dei certificati in un dispositivo IoT Edge è un passaggio necessario prima di distribuire la soluzione nell'ambiente di produzione. Altre informazioni su come Preparare la distribuzione della soluzione IoT Edge nell'ambiente di produzione.