Share via


Skapa och etablera IoT Edge enheter i stor skala med en TPM i Windows

Gäller för:ja-ikonen IoT Edge 1.1

Viktigt

IoT Edge 1.1 slutdatum var den 13 december 2022. I informationen om Microsoft-produktens livscykel hittar du fler uppgifter om vilken support som gäller för denna produkt, tjänst, teknik eller detta API. Mer information om hur du uppdaterar till den senaste versionen av IoT Edge finns i Uppdatera IoT Edge.

Den här artikeln innehåller instruktioner för automatisk avetablering av en Azure-IoT Edge för Windows-enheter med hjälp av en TPM (Trusted Platform Module). Du kan automatiskt etablera IoT Edge enheter med Azure IoT Hub enhetsetableringstjänst. Om du inte känner till processen för automatisk avetablering läser du etableringsöversikten innan du fortsätter.

Anteckning

Azure IoT Edge med Windows-containrar stöds inte från och med version 1.2 av Azure IoT Edge.

Överväg att använda den nya metoden för att köra IoT Edge på Windows-enheter, Azure IoT Edge för Linux i Windows.

Om du vill använda Azure IoT Edge för Linux i Windows kan du följa stegen i motsvarande instruktionsguide.

Den här artikeln beskriver två metoder. Välj dina inställningar baserat på lösningens arkitektur:

  • Skapa en Windows-enhet automatiskt med fysisk TPM-maskinvara.
  • Autoetablera en Windows-enhet som kör en simulerad TPM. Vi rekommenderar endast den här metoden som ett testscenario. En simulerad TPM erbjuder inte samma säkerhet som en fysisk TPM.

Instruktionerna skiljer sig åt beroende på din metodik, så se till att du är på rätt flik framöver.

Uppgifterna är följande:

  • Hämta enhetens etableringsinformation.
  • Skapa en enskild registrering för enheten.
  • Installera IoT Edge-körningen och anslut enheten till IoT Hub.

Förutsättningar

Förutsättningarna är desamma för fysiska TPM- och virtuella TPM-lösningar.

Molnresurser

  • En aktiv IoT-hubb
  • En instans av IoT Hub enhetsetableringstjänst i Azure som är länkad till din IoT-hubb

Krav på enheten

En Windows-utvecklingsdator. Den här artikeln använder Windows 10.

Anteckning

TPM 2.0 krävs när du använder TPM-attestering med enhetsetableringstjänsten.

Du kan bara skapa registreringar för enskilda enheter, inte grupper, enhetsetableringstjänsten när du använder en TPM.

Konfigurera TPM

I det här avsnittet skapar du ett verktyg som du kan använda för att hämta registrerings-ID:t och bekräftelsenyckeln för din TPM.

  1. Följ stegen i Konfigurera en Windows-utvecklingsmiljö för att installera och skapa Azure IoT-enhets-SDK för C.

  2. Kör följande kommandon i en upphöjd PowerShell-session för att skapa SDK-verktyget som hämtar information om enhetsetablering för din 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. Utdatafönstret visar enhetens registrerings-ID och bekräftelsenyckeln. Kopiera dessa värden för användning senare när du skapar en enskild registrering för enheten i enhetsetableringstjänsten.

Tips

Om du inte vill använda SDK-verktyget för att hämta informationen måste du hitta ett annat sätt att hämta etableringsinformationen. Bekräftelsenyckeln, som är unik för varje TPM-chip, hämtas från den TPM-chiptillverkare som är associerad med den. Du kan härleda ett unikt registrerings-ID för din TPM-enhet. Du kan till exempel skapa en SHA-256-hash för bekräftelsenyckeln.

När du har ditt registrerings-ID och bekräftelsenyckel är du redo att fortsätta.

Skapa en registrering av enhetsetableringstjänsten

Använd TPM:s etableringsinformation för att skapa en enskild registrering i enhetsetableringstjänsten.

När du skapar en registrering i enhetsetableringstjänsten har du möjlighet att deklarera ett initialt enhetstvillingtillstånd. I enhetstvillingen kan du ange taggar för att gruppera enheter efter mått som används i din lösning, till exempel region, miljö, plats eller enhetstyp. Dessa taggar används för att skapa automatiska distributioner.

Tips

Stegen i den här artikeln gäller för Azure Portal, men du kan också skapa enskilda registreringar med hjälp av Azure CLI. Mer information finns i az iot dps enrollment (az iot dps enrollment). Som en del av CLI-kommandot använder du den gränsaktiverade flaggan för att ange att registreringen är för en IoT Edge enhet.

  1. I Azure Portal går du till din instans av IoT Hub enhetsetableringstjänst.

  2. Under Inställningar väljer du Hantera registreringar.

  3. Välj Lägg till enskild registrering och slutför sedan följande steg för att konfigurera registreringen:

    1. För Mekanism väljer du TPM.

    2. Ange bekräftelsenyckeln och registrerings-ID :t som du kopierade från den virtuella datorn eller den fysiska enheten.

    3. Ange ett ID för enheten om du vill. Om du inte anger något enhets-ID används registrerings-ID:t.

    4. Välj Sant för att deklarera att den virtuella datorn eller den fysiska enheten är en IoT Edge enhet.

    5. Välj den länkade IoT-hubb som du vill ansluta enheten till eller välj Länka till ny IoT Hub. Du kan välja flera hubbar och enheten tilldelas till en av dem enligt den valda tilldelningsprincipen.

    6. Lägg till ett taggvärde i det initiala enhetstvillingtillståndet om du vill. Du kan använda taggar till målgrupper med enheter för moduldistribution. Mer information finns i Distribuera IoT Edge moduler i stor skala.

    7. Välj Spara.

Nu när det finns en registrering för den här enheten kan IoT Edge-körningen automatiskt etablera enheten under installationen.

Installera IoT Edge

I det här avsnittet förbereder du din virtuella Windows-dator eller fysiska enhet för IoT Edge. Sedan installerar du IoT Edge.

Azure IoT Edge förlitar sig på en OCI-kompatibel containerkörning. Moby, en Moby-baserad motor, ingår i installationsskriptet, vilket innebär att det inte finns några ytterligare steg för att installera motorn.

Så här installerar du IoT Edge-körningen:

  1. Kör PowerShell som administratör.

    Använd en AMD64-session med PowerShell, inte PowerShell(x86). Om du är osäker på vilken sessionstyp du använder kör du följande kommando:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Kör kommandot Deploy-IoTEdge , som utför följande uppgifter:

    • Kontrollerar att Windows-datorn har en version som stöds
    • Aktiverar containerfunktionen
    • Laddar ned moby-motorn och IoT Edge-körningen
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Starta om enheten om du uppmanas att göra det.

När du installerar IoT Edge på en enhet kan du använda ytterligare parametrar för att ändra processen, inklusive:

  • Dirigera trafik till en proxyserver
  • Peka installationsprogrammet till en lokal katalog för offlineinstallation

Mer information om dessa ytterligare parametrar finns i PowerShell-skript för IoT Edge med Windows-containrar.

Etablera enheten med dess molnidentitet

När körningen har installerats på enheten konfigurerar du enheten med den information den använder för att ansluta till enhetsetableringstjänsten och IoT Hub.

  1. Känna till enhetsetableringstjänstens ID-omfång och enhetsregistrerings-ID som samlades in i föregående avsnitt.

  2. Öppna ett PowerShell-fönster i administratörsläge. Se till att använda en AMD64-session med PowerShell när du installerar IoT Edge, inte PowerShell (x86).

  3. Kommandot Initialize-IoTEdge konfigurerar IoT Edge-körningen på datorn. Kommandot använder som standard manuell etablering med Windows-containrar. -Dps Använd flaggan för att använda enhetsetableringstjänsten i stället för manuell etablering.

    Ersätt platshållarvärdena för paste_scope_id_here och paste_registration_id_here med de data som du samlade in tidigare.

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

Kontrollera att installationen har slutförts

Om körningen har startats går du till din IoT-hubb och börjar distribuera IoT Edge moduler till din enhet. Använd följande kommandon på enheten för att kontrollera att körningen har installerats och startats.

  1. Kontrollera status för IoT Edge-tjänsten.

    Get-Service iotedge
    
  2. Granska tjänstloggar från de senaste 5 minuterna.

    . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
    
  3. Lista moduler som körs.

    iotedge list
    

Nästa steg

Registreringsprocessen för enhetsetableringstjänsten gör att du kan ange taggar för enhets-ID och enhetstvillingar samtidigt som du etablerar den nya enheten. Du kan använda dessa värden för att rikta in dig på enskilda enheter eller grupper av enheter med hjälp av automatisk enhetshantering.

Lär dig hur du distribuerar och övervakar IoT Edge moduler i stor skala med hjälp av Azure Portal eller Azure CLI.