Creare un dispositivo IoT Edge
Si applica a: 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:
- Scegliere una piattaforma
- Scegliere come effettuare il provisioning dei dispositivi
- Scegliere un metodo di autenticazione
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 un singolo dispositivo Linux usando certificati X.509
- Effettuare il provisioning di un singolo dispositivo Linux usando chiavi simmetriche
Effettuare il provisioning di più dispositivi su larga scala:
- Effettuare il provisioning di dispositivi Linux su larga scala usando certificati X.509
- Effettuare il provisioning di dispositivi Linux su larga scala usando l'attestazione TPM
- Effettuare il provisioning di dispositivi Linux su larga scala usando chiavi simmetriche
Contenitori Linux in host Windows
Effettuare il provisioning manuale di un singolo dispositivo:
- Effettuare il provisioning di un singolo dispositivo Linux in Windows usando certificati X.509
- Effettuare il provisioning di un singolo dispositivo Linux in Windows usando chiavi simmetriche
Effettuare il provisioning di più dispositivi su larga scala: