Share via


Creare e effettuare il provisioning di dispositivi IoT Edge su larga scala con un TPM in Windows

Si applicaall'icona:sì IoT Edge 1.1

Importante

IoT Edge 1,1 data di fine del supporto è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.

Questo articolo fornisce istruzioni per la creazione automatica di un IoT Edge di Azure per il dispositivo Windows usando un modulo TPM (Trusted Platform Module). È possibile effettuare automaticamente il provisioning di dispositivi IoT Edge con il servizio di provisioning dei dispositivi hub IoT di Azure. Se non si ha familiarità con il processo di autoprovisioning, esaminare la panoramica del provisioning prima di continuare.

Nota

Azure IoT Edge con contenitori Windows non sarà supportato a partire dalla versione 1.2 di Azure IoT Edge.

Prendere in considerazione l'uso del nuovo metodo per l'esecuzione di IoT Edge nei dispositivi Windows, Azure IoT Edge per Linux in Windows.

Se si vuole usare Azure IoT Edge per Linux in Windows, è possibile seguire la procedura descritta nella guida di procedura equivalente.

Questo articolo descrive due metodologie. Selezionare le preferenze in base all'architettura della soluzione:

  • Eseguire il provisioning automatico di un dispositivo Windows con hardware TPM fisico.
  • Eseguire il provisioning automatico di un dispositivo Windows che esegue un TPM simulato. È consigliabile questa metodologia solo come scenario di test. Un TPM simulato non offre la stessa sicurezza di un TPM fisico.

Le istruzioni differiscono in base alla metodologia, quindi assicurarsi di entrare nella scheda corretta.

Le attività sono le seguenti:

  • Recuperare le informazioni di provisioning del dispositivo.
  • Creare una singola registrazione per il dispositivo.
  • Installare il runtime IoT Edge e connettere il dispositivo all'hub IoT.

Prerequisiti

I prerequisiti sono gli stessi per le soluzioni TPM fisiche e TPM virtuali.

Risorse cloud

  • Un hub IoT attivo
  • Istanza del servizio di provisioning dei dispositivi di hub IoT in Azure, collegata all'hub IoT
    • Se non si dispone di un'istanza del servizio di provisioning dei dispositivi, è possibile seguire le istruzioni riportate nella guida introduttiva Creare un nuovo servizio di provisioning dei dispositivi hub IoT e collegare l'hub IoT e le sezioni del servizio di provisioning dei dispositivi dell'hub IoT servizio di provisioning dei dispositivi.
    • Dopo aver eseguito il servizio di provisioning del dispositivo, copiare il valore dell'ambito ID dalla pagina di panoramica. Questo valore viene usato quando si configura il runtime IoT Edge.

Requisiti dei dispositivi

Un computer di sviluppo Windows. In questo articolo viene usato Windows 10.

Nota

TPM 2.0 è necessario quando si usa l'attestazione TPM con il servizio di provisioning del dispositivo.

È possibile creare solo singole registrazioni del servizio di provisioning dei dispositivi, non di gruppo, quando si usa un TPM.

Configurare il TPM

In questa sezione viene creato uno strumento che è possibile usare per recuperare l'ID registrazione e la chiave di approvazione per il TPM.

  1. Seguire la procedura descritta in Configurare un ambiente di sviluppo Di Windows per installare e compilare Azure IoT device SDK per C.

  2. Eseguire i comandi seguenti in una sessione di PowerShell con privilegi elevati per compilare lo strumento SDK che recupera le informazioni sul provisioning del dispositivo per il TPM.

    cd azure-iot-sdk-c\cmake
    cmake -Duse_prov_client:BOOL=ON ..
    cd provisioning_client\tools\tpm_device_provision
    make
    .\tpm_device_provision
    
  3. La finestra di output visualizza l'ID registrazione del dispositivo e la chiave di approvazione. Copiare questi valori per l'uso in un secondo momento quando si crea una registrazione singola per il dispositivo nel servizio di provisioning del dispositivo.

Suggerimento

Se non si vuole usare lo strumento SDK per recuperare le informazioni, è necessario trovare un altro modo per ottenere le informazioni di provisioning. La chiave di approvazione, che è univoca per ogni chip TPM, viene ottenuta dal produttore di chip TPM associato a esso. È possibile derivare un ID di registrazione univoco per il dispositivo TPM. Ad esempio, è possibile creare un hash SHA-256 della chiave di approvazione.

Dopo aver ottenuto l'ID di registrazione e la chiave di approvazione, è possibile continuare.

Creare una registrazione del servizio di provisioning dei dispositivi

Usare le informazioni di provisioning di TPM per creare una registrazione singola nel servizio di provisioning dei dispositivi.

Quando si crea una registrazione nel servizio di provisioning dei dispositivi, è possibile dichiarare uno stato iniziale del dispositivo gemello. Nel dispositivo gemello è possibile impostare tag per raggruppare i dispositivi da qualsiasi metrica usata nella soluzione, ad esempio area, ambiente, posizione o tipo di dispositivo. Questi tag vengono usati per creare distribuzioni automatiche.

Suggerimento

I passaggi descritti in questo articolo sono relativi alla portale di Azure, ma è anche possibile creare singole registrazioni usando l'interfaccia della riga di comando di Azure. Per altre informazioni, vedere az iot dps enrollment.For more information, see az iot dps enrollment. Come parte del comando dell'interfaccia della riga di comando, usare il flag abilitato per edge per specificare che la registrazione è per un dispositivo IoT Edge.

  1. Nella portale di Azure passare all'istanza del servizio di provisioning dei dispositivi di hub IoT.

  2. In le impostazioni selezionare Gestisci registrazioni.

  3. Selezionare Aggiungi registrazione singola e quindi completare la procedura seguente per configurare la registrazione:

    1. In Meccanismo selezionare TPM.

    2. Specificare la chiave di approvazione e l'ID registrazione copiati dalla macchina virtuale o dal dispositivo fisico.

    3. Specificare un ID per il dispositivo se si vuole. Se non si specifica un ID dispositivo, viene usato l'ID di registrazione.

    4. Selezionare True per dichiarare che la macchina virtuale o il dispositivo fisico è un dispositivo IoT Edge.

    5. Scegliere l'hub IoT collegato a cui si vuole connettere il dispositivo oppure selezionare Collega alla nuova hub IoT. È possibile scegliere più hub e il dispositivo verrà assegnato a uno di essi in base ai criteri di assegnazione selezionati.

    6. Aggiungere un valore di tag allo stato iniziale del dispositivo gemello se si vuole. È possibile usare tag per identificare come destinazione gruppi di dispositivi per la distribuzione di moduli. Per altre informazioni, vedere Distribuire moduli IoT Edge su larga scala.

    7. Selezionare Salva.

Ora che esiste una registrazione per questo dispositivo, il runtime di IoT Edge può effettuare automaticamente il provisioning del dispositivo durante l'installazione.

Installare IoT Edge

In questa sezione si prepara la macchina virtuale Windows o il dispositivo fisico per IoT Edge. Si installa quindi IoT Edge.

Azure IoT Edge si basa su un runtime per contenitori compatibile con OCI. Moby, un motore basato su Moby, è incluso nello script di installazione, il che significa che non sono presenti passaggi aggiuntivi per installare il motore.

Per installare il runtime di IoT Edge:

  1. Eseguire PowerShell come amministratore.

    Usare una sessione AMD64 di PowerShell, non PowerShell(x86). Se non si è certi del tipo di sessione in uso, eseguire il comando seguente:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Eseguire il comando Deploy-IoTEdge , che esegue le attività seguenti:

    • Verifica che il computer Windows sia in una versione supportata
    • Attiva la funzionalità contenitori
    • Scarica il motore moby e il runtime di IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Riavviare il dispositivo se richiesto.

Quando si installa IoT Edge in un dispositivo, è possibile usare parametri aggiuntivi per modificare il processo, tra cui:

  • Indirizzare il traffico attraverso un server proxy
  • Puntare il programma di installazione a una directory locale per l'installazione offline

Per altre informazioni su questi parametri aggiuntivi, vedere Script di PowerShell per IoT Edge con contenitori Windows.

Effettuare il provisioning del dispositivo con la relativa identità cloud

Dopo l'installazione del runtime nel dispositivo, configurare il dispositivo con le informazioni usate per connettersi al servizio di provisioning del dispositivo e hub IoT.

  1. Conoscere l'ambito dell'ID servizio di provisioning del dispositivo e l'ID registrazione del dispositivo raccolti nelle sezioni precedenti.

  2. Aprire una finestra di PowerShell in modalità amministratore. Assicurarsi di usare una sessione AMD64 di PowerShell quando si installa IoT Edge, non PowerShell (x86).

  3. Il Initialize-IoTEdge comando configura il runtime di IoT Edge nel computer. L'impostazione predefinita del comando è provisioning manuale con i contenitori di Windows. Usare il flag per usare il -Dps servizio device provisioning anziché il provisioning manuale.

    Sostituire i valori segnaposto per paste_scope_id_here e paste_registration_id_here con i dati raccolti in precedenza.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -Dps -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here
    

Verificare l'esito positivo dell'installazione

Se il runtime è stato avviato correttamente, passare all'hub IoT e iniziare a distribuire i moduli IoT Edge nel dispositivo. Usare i comandi seguenti sul dispositivo per verificare che il runtime sia stato installato e avviato correttamente.

  1. Verificare lo stato del servizio IoT Edge.

    Get-Service iotedge
    
  2. Esaminare i log del servizio generati negli ultimi cinque minuti.

    . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
    
  3. Elencare i moduli in esecuzione.

    iotedge list
    

Passaggi successivi

Il processo di registrazione del servizio di provisioning del dispositivo consente di impostare l'ID dispositivo e i tag del dispositivo gemello contemporaneamente al provisioning del nuovo dispositivo. È possibile usare questi valori per indirizzare singoli dispositivi o gruppi di dispositivi usando la gestione automatica dei dispositivi.

Informazioni su come distribuire e monitorare i moduli di IoT Edge su larga scala usando l'portale di Azure o l'interfaccia della riga di comando di Azure.