Creare un dispositivo IoT Edge

Si applica a:  icona Sì IoT Edge 1,1 altre versioni: IOT Edge 1,2

Si applica a:  icona Sì IoT Edge 1,2 altre versioni: IOT Edge 1,1

Questo articolo offre una panoramica delle opzioni disponibili per l'installazione e il provisioning 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 dirà chiaramente quali opzioni di piattaforma, provisioning e autenticazione si vogliono usare per la soluzione IoT Edge personalizzata.

Introduzione

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ù appropriata, continuare con questo articolo per altre informazioni.

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

Chiavi simmetriche
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
Certificati X.509

TPM

Chiavi simmetriche

Nota

La tabella seguente riflette gli scenari supportati per IoT Edge versione 1.2. Per visualizzare il contenuto Windows dispositivi, passare alla IoT Edge 1.1 di questo articolo.

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

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

TPM

Chiavi simmetriche

Termini e concetti

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

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

Provisioning: è necessario IoT Edge provisioning di ogni dispositivo. Il provisioning è un processo in due passaggi. Il primo passaggio consiste nella registrazione del dispositivo in un hub IoT, che crea un'identità cloud che il dispositivo usa per stabilire la connessione al relativo hub. Il secondo passaggio consiste nella configurazione del dispositivo con la relativa identità cloud. Il provisioning può essere eseguito manualmente per ogni dispositivo oppure su larga scala usando il servizio Device Provisioning in hub IoT.

Autenticazione: i IoT Edge devono verificare la propria identità quando si connettono all'hub IoT. È possibile scegliere il metodo di autenticazione da usare, ad esempio le password con chiave simmetrica, le identificazioni personale del certificato o i moduli TPM (Trusted Platform Modules).

Scegliere una piattaforma

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

Sono disponibili tre opzioni di piattaforma per IoT Edge dispositivi.

  • Contenitori Linux in host Linux: eseguire i contenitori IoT Edge linux direttamente in un host Linux. Nella documentazione IoT Edge questa opzione è indicata anche come contenitori Linux e Linux per semplicità.

  • Contenitori Linux in Windows host: eseguire contenitori di IoT Edge basati su Linux in una macchina virtuale Linux in un host Windows linux. Nella documentazione IoT Edge si può vedere anche questa opzione denominata Linux in Windows, IoT Edge per Linux in Windows ed EFLOW.

  • Windows contenitori in Windows host: eseguire Windows contenitori di IoT Edge basati su Windows host. In tutta IoT Edge documentazione, per semplicità, questa opzione è indicata anche come contenitore Windows e Windows contenitori.

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

Contenitori Linux in Linux

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

IoT Edge supporta i dispositivi Linux X64, ARM32 e ARM64. Microsoft fornisce pacchetti di installazione per i sistemi operativi Ubuntu Server 18.04 e Raspberry Pi OS Stretch.

Il supporto per i dispositivi ARM64 è disponibile in anteprima pubblica.

Contenitori di Linux in Windows

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

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

Attualmente, IoT Edge linux in Windows non supporta la versione 1.2 di Azure IoT Edge.

Attualmente, IoT Edge versione 1.2 non supporta IoT Edge per Linux in Windows. Per altre informazioni su IoT Edge linux in Windows, vedere la IoT Edge 1.1 di questo articolo.

Windows contenitori in Windows

Per Windows, il runtime IoT Edge viene installato direttamente nel dispositivo host. Questa piattaforma consente di compilare, distribuire ed eseguire i moduli IoT Edge come Windows contenitori.

Nota

Windows contenitori non sono il modo consigliato per eseguire IoT Edge nei dispositivi Windows, perché non sono supportati oltre la versione 1.1 di Azure IoT Edge.

È consigliabile IoT Edge per Linux Windows, che sarà supportato nelle versioni future.

IoT Edge versione 1.2 non supporta i Windows contenitori. Windows contenitori non saranno supportati oltre la versione 1.1. Per altre informazioni sulle IoT Edge con Windows contenitori, vedere la IoT Edge 1.1 di questo articolo.

Scegliere come effettuare il provisioning dei dispositivi

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

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 IoT Edge dispositivo senza l'assistenza del servizio Device Provisioning in hub IoT. Verrà visualizzato il provisioning di un singolo dispositivo noto anche come provisioning manuale.

Usando il provisioning di dispositivi singoli, è 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. Tenere presente questo problema quando si prende in considerazione la scalabilità della soluzione.

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

Dispositivi su larga scala

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

Se la soluzione IoT Edge richiede più di un dispositivo, il provisioning automatico tramite DPS consente di immettere manualmente le informazioni di provisioning nei file di configurazione di ogni dispositivo che si vuole usare. Questo modello automatizzato può essere ridimensionato a milioni di IoT Edge dispositivi. È possibile visualizzare il flusso di provisioning automatizzato nella sezione Dietro le quinte della pagina di panoramica del servizio DPS dell'hub IoT.

È possibile proteggere la soluzione IoT Edge con il metodo di autenticazione scelto. I metodi di autenticazione dell'attestazione della chiave simmetrica, dei certificati X.509 e del 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 informazioni sulle funzionalità di DPS, vedere la sezione Funzionalità della pagina di panoramica.

Scegliere un metodo di autenticazione

Attestazione delle chiavi simmetriche

L'attestazione della chiave simmetrica è un approccio semplice per autenticare 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. Una delle chiavi viene posizionata nel dispositivo e presenta la chiave all'hub IoT durante l'autenticazione.

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

Attestazione certificato X.509

L'uso di certificati X.509 come meccanismo di attestazione è un ottimo approccio per ridimensionare la produzione e semplificare il provisioning di dispositivi. In genere, i certificati X.509 sono disposti in una catena di certificati di attendibilità. A partire da un certificato radice autofirmato o attendibile, ogni certificato nella catena firma il certificato inferiore successivo. Questo modello crea una catena delegata di attendibilità dal certificato radice fino a ogni certificato intermedio fino al certificato "foglia" finale installato in un dispositivo.

Creare due certificati di identità X.509 e posizionarli 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 il certificato corrisponda all'identificazione personale.

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

Attestazione TPM (Trusted Platform Module)

L'uso dell'attestazione TPM è il metodo più sicuro per il provisioning dei dispositivi, in quanto fornisce funzionalità di autenticazione sia nel software che nell'hardware. Ogni chip TPM usa una chiave di approvazione univoca per verificarne l'autenticità.

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

TPM 2.0 è obbligatorio 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.

Passaggi successivi

È possibile usare il sommario per passare alla guida end-to-end appropriata per la creazione di un dispositivo IoT Edge per i requisiti di piattaforma, provisioning e 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 Windows host

Effettuare manualmente il provisioning di un singolo dispositivo:

Effettuare il provisioning di più dispositivi su larga scala:

Windows contenitori in Windows host

Effettuare manualmente il provisioning di un singolo dispositivo:

Effettuare il provisioning di più dispositivi su larga scala: