Creare un dispositivo IoT Edge

Si applica a:Segno di spunta IoT Edge 1.5 IoT Edge 1.5 Segno di spunta IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS sono versioni supportate. IoT Edge 1.4 LTS è di fine vita il 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

Questo articolo offre una panoramica delle opzioni disponibili per l'installazione e il provisioning di IoT Edge nei dispositivi.

Questo articolo offre un'occhiata a tutte le opzioni per la soluzione IoT Edge e consente di:

Al termine di questo articolo, si avrà un quadro chiaro delle opzioni di piattaforma, provisioning e autenticazione da usare per la soluzione IoT Edge.

Operazioni preliminari

Se si conosce il tipo di piattaforma, il provisioning e le opzioni di autenticazione da usare per creare un dispositivo IoT Edge, usare i collegamenti nella tabella seguente per iniziare.

Per altre informazioni su come scegliere l'opzione più adatta, continuare con questo articolo per altre informazioni.

Contenitori Linux in host Linux Contenitori Linux in host Windows
Provisioning manuale (singolo dispositivo) Certificati X.509

Chiavi simmetriche
Certificati X.509

Chiavi simmetriche
Provisioning automatico (dispositivi su larga scala) Certificati X.509

TPM

Chiavi simmetriche
Certificati X.509

TPM

Chiavi simmetriche

Termini e concetti

Se non si ha già familiarità con la terminologia di IoT Edge, esaminare alcuni concetti chiave:

Runtime di IoT Edge: il runtime di IoT Edge è una raccolta di programmi che trasformano un dispositivo in un dispositivo IoT Edge. Collettivamente, i componenti di runtime di IoT Edge consentono ai dispositivi IoT Edge di eseguire i moduli IoT Edge.

Provisioning: è necessario effettuare il provisioning di ogni dispositivo IoT Edge. Il provisioning è un processo in due passaggi. Il primo passaggio consiste nel registrare il dispositivo in un hub IoT, che crea un'identità cloud usata dal dispositivo per stabilire la connessione all'hub. Il secondo passaggio consiste nel configurare il dispositivo con la relativa identità cloud. Il provisioning può essere eseguito manualmente per ogni dispositivo oppure può essere eseguito su larga scala usando il servizio Device Provisioning hub IoT.

Autenticazione: i dispositivi IoT Edge devono verificarne l'identità quando si connette a hub IoT. È possibile scegliere il metodo di autenticazione da usare, ad esempio password con chiave simmetrica, identificazioni personali del certificato o moduli della piattaforma attendibili.

Scegliere una piattaforma

Le opzioni della piattaforma sono indicate dal sistema operativo contenitore e dal sistema operativo host. Il sistema operativo del contenitore è il sistema operativo usato all'interno del runtime di IoT Edge e dei contenitori di moduli. Il sistema operativo host è il sistema operativo del dispositivo in cui sono in esecuzione i contenitori e i moduli di runtime di IoT Edge.

Sono disponibili tre opzioni di piattaforma per i dispositivi IoT Edge.

  • Contenitori Linux in host Linux: eseguire contenitori IoT Edge basati su Linux direttamente in un host Linux. In tutta la documentazione di IoT Edge, si vedrà anche questa opzione denominata contenitori Linux e Linux per semplicità.

  • Contenitori Linux in host Windows: eseguire contenitori IoT Edge basati su Linux in una macchina virtuale Linux in un host Windows. In tutta la documentazione di IoT Edge, verrà visualizzata anche questa opzione denominata Linux in Windows, IoT Edge per Linux in Windows e EFLOW.

  • Contenitori di Windows in host Windows: eseguire contenitori IoT Edge basati su Windows direttamente in un host Windows. In tutta la documentazione di IoT Edge, verrà visualizzata anche questa opzione denominata contenitori Windows e Windows per semplicità.

Per le informazioni più recenti sui sistemi operativi attualmente supportati per gli scenari di produzione, vedere Sistemi supportati da Azure IoT Edge.

Contenitori Linux in Linux

Per i dispositivi Linux, il runtime di IoT Edge viene installato direttamente nel dispositivo host.

IoT Edge supporta dispositivi Linux X64, ARM32 e ARM64. Microsoft fornisce pacchetti di installazione ufficiali per un'ampia gamma di sistemi operativi.

Contenitori di Linux in Windows

IoT Edge per Linux in Windows ospita una macchina virtuale Linux nel dispositivo Windows. La macchina virtuale è predefinita con il runtime di IoT Edge e gli aggiornamenti vengono gestiti tramite Microsoft Update.

IoT Edge per Linux in Windows è il modo consigliato per eseguire IoT Edge nei dispositivi Windows. Per altre informazioni, vedere Informazioni su Azure IoT Edge per Linux in Windows.

Contenitori di Windows in Windows

IoT Edge versione 1.2 o successiva non supporta i contenitori di Windows. I contenitori di Windows non sono supportati oltre la versione 1.1.

Scegliere come effettuare il provisioning dei dispositivi

È possibile effettuare il provisioning di un singolo dispositivo o di più dispositivi su larga scala, a seconda delle esigenze della soluzione IoT Edge.

Le opzioni disponibili per l'autenticazione delle comunicazioni tra i dispositivi IoT Edge e gli hub IoT dipendono dal metodo di provisioning scelto. Per altre informazioni su queste opzioni, vedere la sezione Scegliere un metodo di autenticazione.

Dispositivo singolo

Il provisioning di dispositivi singoli si riferisce al provisioning di un dispositivo IoT Edge senza l'assistenza del servizio Device Provisioning di hub IoT. Verrà visualizzato il provisioning di un singolo dispositivo denominato anche provisioning manuale.

Usando il provisioning di un singolo dispositivo, è necessario immettere manualmente le informazioni di provisioning, ad esempio una stringa di connessione, nei dispositivi. Il provisioning manuale è semplice e rapido da configurare solo per pochi dispositivi, ma il carico di lavoro aumenterà con il numero di dispositivi. Il provisioning consente di valutare la scalabilità della soluzione.

I metodi di autenticazione autofirmati X.509 e chiave simmetrica sono disponibili per il provisioning manuale. Per altre informazioni su queste opzioni, vedere la sezione Scegliere un metodo di autenticazione.

Dispositivi su larga scala

Il provisioning dei dispositivi su larga scala si riferisce al provisioning di uno o più dispositivi IoT Edge con l'assistenza del servizio Device Provisioning hub IoT. Si noterà che il provisioning su larga scala è noto anche come provisioning automatico.

Se la soluzione IoT Edge richiede più dispositivi, il provisioning automatico con DPS consente di immettere manualmente le informazioni di provisioning nei file di configurazione di ogni dispositivo. Questo modello automatizzato può essere ridimensionato a milioni di dispositivi IoT Edge.

È possibile proteggere la soluzione IoT Edge con il metodo di autenticazione preferito. I certificati X.509 e i metodi di autenticazione di attestazione TPM (Trusted Platform Module) sono disponibili per il provisioning dei dispositivi su larga scala. Per altre informazioni su queste opzioni, vedere la sezione Scegliere un metodo di autenticazione.

Per altre funzionalità del servizio Device Provisioning, vedere la sezione Funzionalità della pagina di panoramica.

Scegliere un metodo di autenticazione

Attestazione certificato X.509

L'uso dei certificati X.509 come meccanismo di attestazione è il modo consigliato per ridimensionare la produzione e semplificare il provisioning dei dispositivi. In genere, i certificati X.509 sono disposti in una catena di certificati di trust. A partire da un certificato radice autofirmato o attendibile, ogni certificato nella catena firma il certificato inferiore successivo. Questo modello crea una catena di attendibilità delegata dal certificato radice verso il basso attraverso ogni certificato intermedio al certificato finale del dispositivo downstream installato in un dispositivo.

Creare due certificati di identità X.509 e inserirli nel dispositivo. Quando si crea una nuova identità del dispositivo in hub IoT, si forniscono identificazioni personali da entrambi i certificati. Quando il dispositivo esegue l'autenticazione per hub IoT, presenta un certificato e hub IoT verifica che il certificato corrisponda all'identificazione personale. Le chiavi X.509 nel dispositivo devono essere archiviate in un modulo HSM (Hardware Security Module). Ad esempio, moduli PKCS#11, ATECC, dTPM e così via.

Questo metodo di autenticazione è più sicuro delle chiavi simmetriche e supporta le registrazioni di gruppo che offre un'esperienza di gestione semplificata per un numero elevato di dispositivi. Questo metodo di autenticazione è consigliato per gli scenari di produzione.

Attestazione TPM (Trusted Platform Module)

L'uso dell'attestazione TPM è un metodo per il provisioning dei dispositivi che usa le funzionalità di autenticazione sia nel software che nell'hardware. Ogni chip TPM usa una chiave di verifica dell'autenticità univoca.

L'attestazione TPM è disponibile solo per il provisioning su larga scala con DPS e supporta solo le registrazioni singole non le registrazioni di gruppo. Le registrazioni di gruppo non sono disponibili a causa della natura specifica del dispositivo di TPM.

TPM 2.0 è necessario quando si usa l'attestazione TPM con il servizio device provisioning.

Questo metodo di autenticazione è più sicuro delle chiavi simmetriche ed è consigliato per gli scenari di produzione.

Attestazione delle chiavi simmetriche

L'attestazione con chiave simmetrica è un approccio semplice per l'autenticazione di un dispositivo. Questo metodo di attestazione rappresenta un'esperienza "Hello world" per gli sviluppatori che non hanno familiarità con il provisioning dei dispositivi o non hanno requisiti di sicurezza rigorosi.

Quando si crea una nuova identità del dispositivo in hub IoT, il servizio crea due chiavi. Posizionare una delle chiavi nel dispositivo e presenta la chiave per hub IoT durante l'autenticazione.

Questo metodo di autenticazione è più veloce per iniziare ma non come sicuro. Il provisioning dei dispositivi con certificati TPM o X.509 è più sicuro e deve essere usato per soluzioni con requisiti di sicurezza più rigorosi.

Passaggi successivi

È possibile usare il sommario per passare alla guida end-to-end appropriata per la creazione di un dispositivo IoT Edge per la piattaforma, il provisioning e i requisiti di autenticazione della soluzione IoT Edge.

È anche possibile usare i collegamenti seguenti per passare all'articolo pertinente.

Contenitori Linux in host Linux

Effettuare manualmente il provisioning di un singolo dispositivo:

Effettuare il provisioning di più dispositivi su larga scala:

Contenitori Linux in host Windows

Effettuare manualmente il provisioning di un singolo dispositivo:

Effettuare il provisioning di più dispositivi su larga scala: