Share via


Skapa och etablera en IoT Edge enhet i Windows med X.509-certifikat

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 från slutpunkt till slutpunkt för registrering och etablering av en Windows-IoT Edge-enhet.

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.

Varje enhet som ansluter till en IoT-hubb har ett enhets-ID som används för att spåra kommunikation från moln till enhet eller från enhet till moln. Du konfigurerar en enhet med dess anslutningsinformation, som innehåller IoT Hub-värdnamnet, enhets-ID:t och den information som enheten använder för att autentisera till IoT Hub.

Stegen i den här artikeln går igenom en process som kallas manuell etablering, där du ansluter en enda enhet till dess IoT-hubb. För manuell etablering har du två alternativ för att autentisera IoT Edge enheter:

  • Symmetriska nycklar: När du skapar en ny enhetsidentitet i IoT Hub skapar tjänsten två nycklar. Du placerar en av nycklarna på enheten och den visar nyckeln till IoT Hub när du autentiserar.

    Den här autentiseringsmetoden går snabbare att komma igång, men inte lika säker.

  • X.509 självsignerade: Du skapar två X.509-identitetscertifikat och placerar dem på enheten. När du skapar en ny enhetsidentitet i IoT Hub anger du tumavtryck från båda certifikaten. När enheten autentiseras för att IoT Hub visas ett certifikat och IoT Hub verifierar att certifikatet matchar tumavtrycket.

    Den här autentiseringsmetoden är säkrare och rekommenderas för produktionsscenarier.

Den här artikeln beskriver hur du använder X.509-certifikat som autentiseringsmetod. Om du vill använda symmetriska nycklar kan du läsa Skapa och etablera en IoT Edge enhet i Windows med symmetriska nycklar.

Anteckning

Om du har många enheter att konfigurera och inte vill etablera var och en manuellt använder du någon av följande artiklar för att lära dig hur IoT Edge fungerar med IoT Hub enhetsetableringstjänst:

Förutsättningar

Den här artikeln beskriver hur du registrerar din IoT Edge-enhet och installerar IoT Edge på den. Dessa uppgifter har olika förutsättningar och verktyg som används för att utföra dem. Kontrollera att du har alla förutsättningar som beskrivs innan du fortsätter.

Verktyg för enhetshantering

Du kan använda Azure Portal, Visual Studio Code eller Azure CLI för stegen för att registrera enheten. Varje verktyg har sina egna förutsättningar:

En kostnadsfri eller standard-IoT-hubb i din Azure-prenumeration.

Krav på enheten

En Windows-enhet.

IoT Edge med Windows-containrar kräver Windows version 1809/build 17763, som är den senaste versionen av Windows-stöd på lång sikt. Se till att granska listan över system som stöds för en lista över SKU:er som stöds.

Generera enhetsidentitetscertifikat

Manuell etablering med X.509-certifikat kräver IoT Edge version 1.0.10 eller senare.

När du etablerar en IoT Edge enhet med X.509-certifikat använder du det som kallas ett enhetsidentitetscertifikat. Det här certifikatet används endast för att etablera en IoT Edge enhet och autentisera enheten med Azure IoT Hub. Det är ett lövcertifikat som inte signerar andra certifikat. Enhetsidentitetscertifikatet är separat från certifikatutfärdarens certifikat (CA) som IoT Edge-enheten presenterar för moduler eller underordnade enheter för verifiering.

För X.509-certifikatautentisering tillhandahålls varje enhets autentiseringsinformation i form av tumavtryck från dina enhetsidentitetscertifikat. Dessa tumavtryck ges till IoT Hub vid tidpunkten för enhetsregistreringen så att tjänsten kan identifiera enheten när den ansluter.

Mer information om hur CA-certifikaten används i IoT Edge-enheter finns i Förstå hur Azure IoT Edge använder certifikat.

Du behöver följande filer för manuell etablering med X.509:

  • Två av enhetsidentitetscertifikaten med matchande privata nyckelcertifikat i .cer- eller .pem-format.

    En uppsättning certifikat-/nyckelfiler tillhandahålls till IoT Edge-körningen. När du skapar enhetsidentitetscertifikat anger du certifikatets eget namn (CN) med det enhets-ID som du vill att enheten ska ha i IoT-hubben.

  • Tumavtryck som hämtats från båda enhetsidentitetscertifikaten.

    Tumavtrycksvärden är 40 hextecken för SHA-1-hashvärden eller 64 hextecken för SHA-256-hashvärden. Båda tumavtrycken tillhandahålls för IoT Hub vid tidpunkten för enhetsregistreringen.

Om du inte har certifikat tillgängliga kan du skapa democertifikat för att testa IoT Edge enhetsfunktioner. Följ anvisningarna i den artikeln för att konfigurera skript för att skapa certifikat, skapa ett rotcertifikatutfärdarcertifikat och skapa sedan två IoT Edge enhetsidentitetscertifikat.

Ett sätt att hämta tumavtrycket från ett certifikat är med följande openssl-kommando:

openssl x509 -in <certificate filename>.pem -text -fingerprint

Registrera din enhet

Du kan använda Azure Portal, Visual Studio Code eller Azure CLI för att registrera din enhet, beroende på vad du föredrar.

I din IoT-hubb i Azure Portal skapas och hanteras IoT Edge enheter separat från IoT-enheter som inte är edge-aktiverade.

  1. Logga in på Azure Portal och gå till din IoT-hubb.

  2. I den vänstra rutan väljer du Enheter på menyn och sedan Lägg till enhet.

  3. På sidan Skapa en enhet anger du följande information:

    • Skapa ett beskrivande enhets-ID. Anteckna det här enhets-ID:t eftersom du kommer att använda det senare.
    • Markera kryssrutan IoT Edge Enhet.
    • Välj X.509 Självsignerad som autentiseringstyp.
    • Ange tumavtrycken för primärt och sekundärt identitetscertifikat. Tumavtrycksvärden är 40 hextecken för SHA-1-hashvärden eller 64 hextecken för SHA-256-hashvärden.
  4. Välj Spara.

Nu när du har en enhet registrerad i IoT Hub hämtar du den information som du använder för att slutföra installationen och etableringen av IoT Edge-körningen.

Visa registrerade enheter och hämta etableringsinformation

Enheter som använder X.509-certifikatautentisering behöver sitt IoT Hub-namn, sitt enhetsnamn och sina certifikatfiler för att slutföra installationen och etableringen av IoT Edge-körningen.

De gränsaktiverade enheter som ansluter till din IoT-hubb visas på sidan Enheter . Du kan filtrera listan efter typ Iot Edge-enhet.

Skärmbild av hur du visar alla IoT Edge enheter i din IoT-hubb.

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 i 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 för att gå via en proxyserver
  • Peka installationsprogrammet på 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 sin molnidentitet

Nu när containermotorn och IoT Edge-körningen är installerade på enheten är du redo för nästa steg, som är att konfigurera enheten med dess molnidentitet och autentiseringsinformation.

  1. Kör PowerShell som administratör på IoT Edge enhet.

  2. Använd kommandot Initialize-IoTEdge för att konfigurera IoT Edge-körningen på datorn.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualX509
    
    • Om du har laddat ned IoTEdgeSecurityDaemon.ps1 skriptet till enheten för offlineinstallation eller specifik version måste du referera till den lokala kopian av skriptet.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualX509
      
  3. När du uppmanas att göra det anger du följande information:

    • IotHubHostName: Värdnamnet för den IoT-hubb som enheten ska ansluta till. Till exempel {IoT_hub_name}.azure-devices.net.
    • DeviceId: Det ID som du angav när du registrerade enheten.
    • X509IdentityCertificate: Absolut sökväg till ett identitetscertifikat på enheten. Till exempel C:\path\identity_certificate.pem.
    • X509IdentityPrivateKey: Absolut sökväg till den privata nyckelfilen för det angivna identitetscertifikatet. Till exempel C:\path\identity_key.pem.

När du etablerar en enhet manuellt kan du använda ytterligare parametrar för att ändra processen, inklusive:

  • Dirigera trafik för att gå via en proxyserver
  • Deklarera en specifik edgeAgent-containeravbildning och ange autentiseringsuppgifter om den finns i ett privat register

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


Verifiera att konfigurationen har slutförts

Verifiera att körningen har installerats och konfigurerats korrekt på din IoT Edge-enhet.

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

Get-Service iotedge

Granska tjänstloggar.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Lista med moduler som körs.

iotedge list

Offlineinstallation eller specifik version (valfritt)

Stegen i det här avsnittet gäller scenarier som inte omfattas av standardinstallationsstegen. Detta kan omfatta:

  • Installera IoT Edge när du är offline
  • Installera en versionskandidatversion
  • Installera en annan version än den senaste

Under installationen laddas tre filer ned:

  • Ett PowerShell-skript som innehåller installationsanvisningarna
  • Microsoft Azure IoT Edge cab, som innehåller IoT Edge säkerhetsdaemon (iotedged), Moby-containermotor och Moby CLI
  • Installationsprogrammet för Visual C++ Redistributable Package (VC Runtime)

Om enheten kommer att vara offline under installationen eller om du vill installera en viss version av IoT Edge kan du ladda ned filerna i förväg till enheten. När det är dags att installera pekar du installationsskriptet i katalogen som innehåller de nedladdade filerna. Installationsprogrammet kontrollerar katalogen först och laddar sedan bara ned komponenter som inte hittas. Om alla filer är tillgängliga offline kan du installera utan internetanslutning.

  1. De senaste IoT Edge installationsfilerna tillsammans med tidigare versioner finns i Azure IoT Edge versioner.

  2. Hitta den version som du vill installera och ladda ned följande filer från avsnittet Tillgångar i viktig information till din IoT-enhet:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab från 1.1-versionskanalen.

    Det är viktigt att använda PowerShell-skriptet från samma version som den .cab fil som du använder eftersom funktionen ändras för att stödja funktionerna i varje version.

  3. Om den .cab fil som du laddade ned har ett arkitektursuffix på den byter du namn på filen till bara Microsoft-Azure-IoTEdge.cab.

  4. Du kan också ladda ned ett installationsprogram för Visual C++ redistributable. PowerShell-skriptet använder till exempel den här versionen: vc_redist.x64.exe. Spara installationsprogrammet i samma mapp på din IoT-enhet som IoT Edge filer.

  5. Om du vill installera med offlinekomponenter ska du skicka den lokala kopian av PowerShell-skriptet till punktkällan.

  6. Kör kommandot Deploy-IoTEdge med parametern -OfflineInstallationPath . Ange den absoluta sökvägen till filkatalogen. Exempel:

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    Distributionskommandot använder alla komponenter som finns i den lokala filkatalogen. Om antingen .cab-filen eller installationsprogrammet för Visual C++ saknas försöker den ladda ned dem.

Avinstallera IoT Edge

Om du vill ta bort IoT Edge installation från Windows-enheten använder du kommandot Uninstall-IoTEdge från ett administrativt PowerShell-fönster. Det här kommandot tar bort IoT Edge körning, tillsammans med din befintliga konfiguration och Moby-motordata.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

Mer information om avinstallationsalternativ finns i kommandot Get-Help Uninstall-IoTEdge -full.

Nästa steg

Fortsätt att distribuera IoT Edge moduler för att lära dig hur du distribuerar moduler till din enhet.