Condividi tramite


Creare un dispositivo IoT Edge

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

Importante

IoT Edge 1.5 LTS è la versione supportata. IoT Edge 1.4 LTS è di fine vita a partire dal 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.

In particolare, illustra tutte le opzioni disponibili per la soluzione IoT Edge e consente di:

Al termine di questo articolo, si saprà quali opzioni di piattaforma, provisioning e autenticazione usare per la propria soluzione IoT Edge.

Operazioni preliminari

Se si sa già quale tipo di piattaforma, provisioning e opzione di autenticazione usare per creare un dispositivo IoT Edge, fare riferimento ai collegamenti elencati nella tabella seguente per iniziare.

Se invece si desiderano maggiori informazioni su come scegliere l'opzione più adatta, continuare con questo articolo.

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 ancora familiarità con la terminologia di IoT Edge, di seguito sono illustrati alcuni concetti chiave:

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

Provisioning: è necessario effettuare il provisioning di ogni dispositivo IoT Edge. Quello del provisioning è un processo in due fasi. La prima fase prevede la registrazione del dispositivo in un hub IoT, che determina la creazione dell'identità cloud usata dal dispositivo per stabilire la connessione all'hub, mentre la seconda fase prevede la configurazione del dispositivo con la relativa identità cloud. Il provisioning può essere effettuato manualmente per ogni dispositivo oppure su larga scala usando il servizio Device Provisioning in hub IoT.

Autenticazione: i dispositivi IoT Edge devono verificarne la propria identità quando si connettono all'hub IoT. È possibile scegliere il metodo di autenticazione da usare, ad esempio password con chiave simmetrica, identificazioni personali dei certificati o moduli TPM (Trusted Platform Module).

Scegliere una piattaforma

Alle opzioni della piattaforma fanno riferimento sia il sistema operativo del contenitore sia il sistema operativo host. Il sistema operativo del contenitore corrisponde al sistema operativo usato all'interno dei contenitori del modulo e del runtime IoT Edge, mentre il sistema operativo host è il sistema operativo del dispositivo su cui sono in esecuzione i moduli e i contenitori del runtime IoT Edge.

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

  • Contenitori Linux in host Linux: vengono eseguiti contenitori IoT Edge basati su Linux direttamente in un host Linux. Nell'ambito della documentazione di IoT Edge verrà illustrata anche questa opzione, a cui si farà riferimento come Linux e contenitori Linux per semplicità.

  • Contenitori Linux in host Windows: vengono eseguiti contenitori IoT Edge basati su Linux in una macchina virtuale Linux all'interno di un host Windows. Nell'ambito della documentazione di IoT Edge verrà illustrata anche questa opzione, a cui si farà riferimento come Linux in Windows, IoT Edge per Linux in Windows e EFLOW.

  • Contenitori Windows in host Windows: vengono eseguiti contenitori IoT Edge basati su Windows direttamente in un host Windows. Nell'ambito della documentazione di IoT Edge verrà illustrata anche questa opzione, a cui si farà riferimento come Windows e contenitori Windows per semplicità.

Per informazioni aggiornate sui sistemi operativi disponibili attualmente supportati per 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 viene fornita di serie con il runtime IoT Edge, mentre 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 Che cos'è Azure IoT Edge per Linux in Windows.

Contenitori Windows in Windows

IoT Edge versione 1.2 o successiva non supporta i contenitori Windows. I contenitori 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 un dispositivo singolo si riferisce al provisioning di un dispositivo IoT Edge senza l'assistenza del servizio Device Provisioning in hub IoT (DPS). Verrà effettuato il provisioning di un dispositivo singolo, chiamato anche provisioning manuale.

Se si usa il provisioning di un dispositivo singolo, è necessario immettere manualmente le informazioni di provisioning nei dispositivi, ad esempio una stringa di connessione. Il provisioning manuale è un processo semplice e rapido da configurare se dispone di pochi dispositivi, ma il carico di lavoro aumenta man mano che aumenta il numero di dispositivi. Il provisioning consente di valutare più facilmente la scalabilità della propria soluzione.

Per il provisioning manuale sono disponibili i metodi di autenticazione chiave simmetrica e certificati X.509 autofirmati. 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 in hub IoT. Il provisioning su larga scala è noto anche come provisioning automatico.

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

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

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

Scegliere un metodo di autenticazione

Attestazione certificato X.509

L'uso di certificati X.509 come meccanismo di attestazione è la soluzione consigliata per aumentare la produzione e semplificare il provisioning dei dispositivi. I certificati X.509 vengono in genere organizzati in una catena di certificati attendibili. A partire da un certificato radice trusted o autofirmato, ogni certificato nella catena firma il certificato di livello immediatamente inferiore. Questo modello crea un percorso di certificazione delegato dal certificato radice attraverso ogni certificato intermedio e fino al certificato finale del dispositivo downstream installato in un dispositivo.

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

Questo metodo di autenticazione è più sicuro delle chiavi simmetriche e supporta le registrazioni di gruppo che offrono un'esperienza di gestione semplificata per un numero elevato di dispositivi. È inoltre 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 registrazioni singole, non registrazioni di gruppo. Le registrazioni di gruppo non sono disponibili a causa della natura dei moduli TPM specifica per i dispositivi.

Se si usa l'attestazione TPM con il servizio Device Provisioning, è necessario TPM 2.0.

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

Attestazione con chiave simmetrica

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

Quando si crea una nuova identità del dispositivo nell'hub IoT, il servizio crea due chiavi. Si inserisce una delle chiavi nel dispositivo e questa viene presentata all'hub IoT in fase di autenticazione.

Questo metodo di autenticazione risulta più rapido per iniziare, ma non è il più sicuro. Il provisioning di dispositivi mediante un TPM o certificati X.509 è più sicuro e deve essere usato per soluzioni con requisiti di sicurezza più rigorosi.

Passaggi successivi

È possibile usare il sommario per accedere alla guida appropriata per la creazione di un dispositivo IoT Edge conforme ai requisiti di piattaforma, provisioning e autenticazione della propria soluzione IoT Edge.

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

Contenitori Linux in host Linux

Effettuare il provisioning manuale di un singolo dispositivo:

Effettuare il provisioning di più dispositivi su larga scala:

Contenitori Linux in host Windows

Effettuare il provisioning manuale di un singolo dispositivo:

Effettuare il provisioning di più dispositivi su larga scala: