Ruoli e operazioni

Le fasi di sviluppo di una soluzione IoT possono durare settimane o mesi, a causa di realtà di produzione come il tempo di produzione, la spedizione, il processo doganale e così via. Inoltre, possono estendersi su più ruoli in base alle varie entità coinvolte. In questo argomento vengono esaminati in modo più approfondito i vari ruoli e operazioni correlati a ogni fase, quindi viene illustrato il flusso in un diagramma di sequenza.

Il provisioning inserisce anche i requisiti per il produttore del dispositivo, specifico per abilitare il meccanismo di attestazione. Le operazioni di produzione possono continuare indipendentemente dai tempi delle fasi di provisioning automatico, soprattutto nel caso in cui vengano acquistati nuovi dispositivi dopo aver eseguito il provisioning automatico.

Nel sommario a sinistra è disponibile una serie di guide introduttive che consentono di illustrare il provisioning automatico tramite esperienze pratiche. Per facilitare il processo di apprendimento, inoltre, viene usata un'applicazione software per simulare la procedura di registrazione di un dispositivo fisico. Data la natura simulata delle guide introduttive, alcune di esse richiedono che l'utente esegua operazioni di pertinenza di ruoli diversi, incluse operazioni per ruoli non esistenti.

Ruolo Operazione Descrizione
Produttore Codifica dell'identità e dell'URL di registrazione In base al meccanismo di attestazione usato, il produttore è responsabile di codificare le informazioni di identità del dispositivo e l'URL di registrazione del servizio Device Provisioning.

Guide introduttive: poiché il dispositivo è simulato, il ruolo Produttore non esiste. Vedere il ruolo Sviluppatore per istruzioni su come ottenere queste informazioni, usate nel processo di codifica di un'applicazione di registrazione di esempio.
Assegnazione dell'identità del dispositivo In qualità di autore delle informazioni sull'identità del dispositivo, il produttore è responsabile di comunicarle all'operatore (o a un agente designato) o di registrarle direttamente nel servizio Device Provisioning tramite API.

Guide introduttive: poiché il dispositivo è simulato, il ruolo Produttore non esiste. Vedere il ruolo Sviluppatore per informazioni su come ottenere l'identità del dispositivo, usata per registrare un dispositivo simulato nell'istanza del servizio Device Provisioning.
Operatore Configurazione del provisioning automatico Questa operazione corrisponde alla prima fase del provisioning automatico.

Guide introduttive: l'utente svolge il ruolo di operatore configurando le istanze del servizio Device Provisioning e dell'hub IoT nella sottoscrizione di Azure.
Registrazione dell'identità del dispositivo Questa operazione corrisponde alla seconda fase del provisioning automatico.

Guide introduttive: l'utente svolge il ruolo di operatore registrando il dispositivo simulato nell'istanza del servizio Device Provisioning. L'identità del dispositivo è determinata dal metodo di attestazione simulata nella guida introduttiva (TPM o X.509). Vedere il ruolo Sviluppatore per informazioni dettagliate sull'attestazione.
Servizio Device Provisioning,
Hub IoT
<tutte le operazioni> Sia in un'implementazione di produzione con dispositivi fisici che in guide rapide con dispositivi simulati, questi ruoli vengono svolti tramite i servizi IoT configurati nella sottoscrizione di Azure. Il funzionamento dei ruoli e delle operazioni, infatti, è identico, poiché è indifferente per i servizi IoT che venga eseguito il provisioning di dispositivi fisici o simulati.
Sviluppatore Compilazione/distribuzione del software di registrazione Questa operazione corrisponde alla terza fase del provisioning automatico. Lo sviluppatore è responsabile della compilazione e della distribuzione del software di registrazione nel dispositivo tramite l'SDK appropriato.

Guida introduttiva di: l'applicazione di registrazione di esempio creata simula un dispositivo reale (per la piattaforma e il linguaggio scelti), che viene eseguito nella workstation anziché essere distribuito in un dispositivo fisico. L'applicazione di registrazione esegue le stesse operazioni che svolgerebbe se fosse stata distribuita in un dispositivo fisico. Si specifica il metodo di attestazione (certificato X.509 o TPM), nonché l'URL di registrazione e "l'ambito ID" dell'istanza del servizio Device Provisioning. L'identità del dispositivo è determinata dalla logica di attestazione DELL'SDK in fase di esecuzione, in base al metodo specificato:
  • Attestazione TPM: la workstation di sviluppo viene eseguita su un'applicazione del simulatore TPM. Successivamente, viene usata un'applicazione separata per estrarre la "chiave di verifica dell'autenticità" del TPM e "l'ID di registrazione" da usare per la registrazione dell'identità del dispositivo. La logica di attestazione dell'SDK usa il simulatore anche durante la procedura di registrazione per presentare un token di firma di accesso condiviso firmato per l'autenticazione e la verifica della registrazione.
  • Attestazione X509: si usa uno strumento per generare un certificato e, successivamente, si crea il file del certificato da usare nella procedura di registrazione. La logica di attestazione dell'SDK usa il certificato anche durante la procedura di registrazione per presentarlo per l'autenticazione e la verifica della registrazione.
Dispositivo Avvio e registrazione Questa operazione corrisponde alla terza fase del provisioning automatico, eseguita dal software di registrazione dei dispositivi creato dallo sviluppatore. Vedere il ruolo Sviluppatore per informazioni dettagliate. Al primo avvio:
  1. L'applicazione si connette all'istanza del servizio Device Provisioning sulla base dell'URL globale e dell'ambito ID specificati durante la fase di sviluppo.
  2. Una volta connesso, il dispositivo viene autenticato tramite il metodo di attestazione e l'identità specificati durante la fase di registrazione.
  3. Dopo essere stato autenticato, il dispositivo viene registrato nell'istanza dell'hub IoT specificata dall'istanza del servizio di provisioning.
  4. Al termine della registrazione, all'applicazione di registrazione vengono restituiti un ID dispositivo univoco e un endpoint dell'hub IoT da usare per le comunicazioni con l'hub IoT.
  5. A questo punto, il dispositivo può recuperare lo stato iniziale del dispositivo gemello per la configurazione e avviare il processo di segnalazione dei dati di telemetria.
Guida introduttiva: poiché il dispositivo è simulato, il software di registrazione viene eseguito sulla workstation di sviluppo.

Il diagramma seguente riepiloga i ruoli e la sequenziazione delle operazioni durante il provisioning automatico dei dispositivi:

Auto-provisioning sequence for a device

Nota

Facoltativamente, il produttore può anche eseguire l'operazione "Registrazione dell'identità del dispositivo" usando le API del servizio Device Provisioning, anziché tramite il ruolo Operatore. Per un'analisi approfondita di questa sequenza e altre informazioni, vedere il video Zero touch device registration with Azure IoT (Registrazione automatica dei dispositivi con Azure IoT), a partire dal minuto 41:00.

Ruoli e account di Azure

Il modo in cui viene eseguito il mapping di ogni ruolo a un account Azure dipende dallo scenario; sono disponibili alcuni scenari che possono essere coinvolti. I modelli comuni seguenti dovrebbero aiutare a fornire una conoscenza generale su come viene eseguito generalmente il mapping dei ruoli in un account Azure.

Il produttore del chip fornisce servizi di sicurezza

In questo scenario, il produttore gestisce la sicurezza per i clienti di primo livello. Questo scenario potrebbe essere preferito da questi clienti di primo livello in quanto non devono gestire la sicurezza dettagliata.

Il produttore introduce la protezione nei moduli di protezione hardware (HSM). Questa protezione può includere le chiavi, i certificati e altro ottenuti dal produttore dai potenziali clienti che dispongono già di istanze del servizio Device Provisioning e della configurazione dei gruppi di registrazione. Anche il produttore potrebbe generare queste informazioni di protezione per i clienti.

In questo scenario, potrebbero essere coinvolti due account di Azure:

  • Account 1: probabilmente condiviso tra i ruoli di operatore e sviluppatore in qualche modo. Questa entità può acquistare i chip del modulo di protezione hardware dal produttore. Tali chip fanno riferimento alle istanze del servizio Device Provisioning associate all'Account #1. Con le registrazioni del servizio Device Provisioning, questa entità può assegnare in lease i dispositivi a più clienti di livello 2, riconfigurando le impostazioni di registrazione del dispositivo nel servizio Device Provisioning. Questa entità può anche avere hub IoT allocati per i sistemi back-end dell'utente finale con cui interfacciarsi per accedere ai dati di telemetria dei dispositivi e così via. In questo secondo caso, potrebbe non essere necessario un secondo account.

  • Account 2: gli utenti finali, i due clienti di livello possono avere hub IoT personalizzati. L'entità associata all'Account #1 fa riferimento proprio ai punti assegnati in lease all'hub corretto in questo account. Questa configurazione richiede il collegamento del servizio Device Provisioning e degli hub IoT agli account di Azure, che può essere eseguito con i modelli di Azure Resource Manager.

All-in-one OEM

Il produttore potrebbe essere un "All-in-one OEM" in cui è necessario solo l'account di un singolo produttore. Il produttore gestisce la sicurezza e il provisioning end to end.

Il produttore potrebbe fornire un'applicazione basata su cloud ai clienti che acquistano dispositivi. Questa applicazione si interfaccerebbe con l'hub IoT allocato dal produttore.

I distributori per la vendita o le macchine automatiche per il caffè rappresentano esempi di questo scenario.

Passaggi successivi

Può risultare utile aggiungere un segnalibro a questo articolo per usarlo come punto di riferimento mentre si segue la guida introduttiva per la procedura di provisioning automatico corrispondente.

Per iniziare, completare la guida introduttiva "Configurare il provisioning automatico" relativa allo strumento di gestione in uso, che copre la fase "Configurazione del servizio":

Continuare quindi con una guida introduttiva "Effettuare il provisioning di un dispositivo" che si adatta al meccanismo di attestazione del dispositivo e alla preferenza del servizio Device Provisioning SDK/lingua. Questa guida rapida copre le fasi "Registrazione del dispositivo" e "Registrazione e configurazione del dispositivo":

Meccanismo di attestazione del dispositivo Guida introduttiva
chiave simmetrica Effettuare il provisioning di un dispositivo con chiave simmetrica simulata
Certificato X.509 Effettuare il provisioning di un dispositivo X.509 simulato
Modulo TPM (Trusted Platform Module) simulato Effettuare il provisioning di un dispositivo TPM simulato