IoT Edge létrehozása és kiépítése Linuxhoz Windows-eszközön X.509-tanúsítványokkal

A következőkre vonatkozik:IoT Edge 1.4 checkmark IoT Edge 1.4

Fontos

Az IoT Edge 1.4 a támogatott kiadás. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.

Ez a cikk a Linuxhoz készült IoT Edge Windows-eszközön való regisztrálására és kiépítésére vonatkozó, végpontok közötti utasításokat tartalmazza.

Minden IoT Hubhoz csatlakozó eszköz rendelkezik egy eszközazonosítóval, amely a felhőből az eszközre vagy az eszközről a felhőbe irányuló kommunikáció nyomon követésére szolgál. Konfigurálhat egy eszközt a kapcsolati adataival, beleértve az IoT Hub gazdagépnevét, az eszköz azonosítóját és az IoT Hubon való hitelesítéshez használt információkat.

A cikk lépései végigvezetnek egy manuális kiépítési folyamaton, ahol egyetlen eszközt csatlakoztat az IoT Hubhoz. A manuális kiépítéshez két lehetősége van az IoT Edge-eszközök hitelesítésére:

  • Szimmetrikus kulcsok: Amikor új eszközidentitást hoz létre az IoT Hubban, a szolgáltatás két kulcsot hoz létre. A kulcsok egyikét az eszközön helyezi el, és hitelesítéskor megjeleníti a kulcsot az IoT Hubnak.

    Ez a hitelesítési módszer gyorsabb az első lépésekhez, de nem olyan biztonságos.

  • X.509 önaláírt: Létrehozhat két X.509-identitástanúsítványt, és elhelyezheti őket az eszközön. Amikor új eszközidentitást hoz létre az IoT Hubban, mindkét tanúsítvány ujjlenyomatát adja meg. Amikor az eszköz hitelesíti az IoT Hubot, egy tanúsítványt jelenít meg, az IoT Hub pedig ellenőrzi, hogy a tanúsítvány megfelel-e az ujjlenyomatának.

    Ez a hitelesítési módszer biztonságosabb, és éles helyzetekben ajánlott.

Ez a cikk az X.509-tanúsítványok hitelesítési módszerként való használatát ismerteti. Ha szimmetrikus kulcsokat szeretne használni, olvassa el a Linuxhoz készült IoT Edge létrehozása és kiépítése Windows-eszközön szimmetrikus kulcsokkal című témakört.

Feljegyzés

Ha sok eszközt szeretne beállítani, és nem szeretné manuálisan kiépíteni az egyes eszközöket, az alábbi cikkek egyikével megtudhatja, hogyan működik az IoT Edge az IoT Hub eszközkiépítési szolgáltatással:

Előfeltételek

Ez a cikk az IoT Edge-eszköz regisztrálását és a Linuxhoz készült IoT Edge Windows rendszeren történő telepítését ismerteti. Ezek a feladatok különböző előfeltételekkel és segédprogramokkal rendelkeznek a feladatok végrehajtásához. A folytatás előtt győződjön meg arról, hogy rendelkezik az összes előfeltételével.

Eszközfelügyeleti eszközök

Az eszköz regisztrálásának lépéseihez használhatja az Azure Portalt, a Visual Studio Code-ot vagy az Azure CLI-t . Minden segédprogramnak megvannak a saját előfeltételei, vagy szükség lehet a telepítésre:

Ingyenes vagy standard IoT Hub az Azure-előfizetésben.

Eszközkövetelmények

Az alábbi minimális követelményekkel rendelkező Windows-eszköz:

  • Rendszerkövetelmények

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise)
    • Windows Server 20191/2022
      1 Windows 10 és Windows Server 2019 minimális build: 17763, az összes aktuális kumulatív frissítés telepítve van.
  • Hardverkövetelmények

    • Minimális szabad memória: 1 GB
    • Minimális szabad lemezterület: 10 GB
  • Virtualizálási támogatás

  • Hálózatkezelési támogatás

    • A Windows Server nem rendelkezik alapértelmezett kapcsolóval. Mielőtt üzembe helyezheti az EFLOW-t Egy Windows Server-eszközön, létre kell hoznia egy virtuális kapcsolót. További információ: Virtuális kapcsoló létrehozása Linuxhoz Windows rendszeren.
    • A Windows Desktop-verziók alapértelmezett kapcsolóval rendelkezik, amely az EFLOW telepítéséhez használható. Szükség esetén létrehozhatja saját egyéni virtuális kapcsolóját.

Tipp.

Ha GPU-val felgyorsított Linux-modulokat szeretne használni a Linuxhoz készült Azure IoT Edge-ben Windows-környezetben, több konfigurációs lehetőséget is figyelembe kell vennie.

A GPU-architektúrától függően telepítenie kell a megfelelő illesztőprogramokat, és előfordulhat, hogy hozzá kell férnie egy Windows Insider Program-buildhez. A konfigurációs igények meghatározásához és az előfeltételek teljesítéséhez tekintse meg a Linuxhoz készült Azure IoT Edge GPU-gyorsítását Windows rendszeren.

Mindenképpen szánjon időt a GPU-gyorsítás előfeltételeinek teljesítésére. Ha úgy dönt, hogy gpu-gyorsítást szeretne a telepítés során, újra kell indítania a telepítési folyamatot.

Fejlesztői eszközök

Készítse elő a céleszközt a Linuxhoz készült Azure IoT Edge windowsos telepítésére és a Linux rendszerű virtuális gép üzembe helyezésére:

  1. Állítsa be a végrehajtási szabályzatot a céleszközön a következőre AllSigned: . Az aktuális végrehajtási szabályzatot egy emelt szintű PowerShell-parancssorban ellenőrizheti az alábbi paranccsal:

    Get-ExecutionPolicy -List
    

    Ha a végrehajtási szabályzat local machine nem AllSigned, a végrehajtási szabályzatot a következővel állíthatja be:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

A Linuxhoz készült Azure IoT Edge windowsos PowerShell-modullal kapcsolatos további információkért tekintse meg a PowerShell-függvények hivatkozását.

Eszközidentitás-tanúsítványok létrehozása

Az X.509-tanúsítványokkal való manuális üzembe helyezéshez az IoT Edge 1.0.10-es vagy újabb verziója szükséges.

Amikor X.509-tanúsítványokkal épít ki egy IoT Edge-eszközt, az úgynevezett eszközidentitás-tanúsítványt fogja használni. Ez a tanúsítvány csak IoT Edge-eszköz kiépítéséhez és az eszköz Azure IoT Hubbal való hitelesítéséhez használható. Ez egy levéltanúsítvány, amely nem ír alá más tanúsítványokat. Az eszköz identitástanúsítványa eltér azoktól a hitelesítésszolgáltatói (CA-) tanúsítványoktól, amelyeket az IoT Edge-eszköz a moduloknak vagy az alsóbb rétegbeli eszközöknek biztosít ellenőrzés céljából.

Az X.509-tanúsítványhitelesítéshez minden eszköz hitelesítési információja az eszköz identitástanúsítványaiból származó ujjlenyomatok formájában lesz megadva. Ezeket az ujjlenyomatokat az IoT Hub az eszközregisztráció időpontjában kapja meg, hogy a szolgáltatás felismerje az eszközt, amikor csatlakozik.

Az IoT Edge-eszközök hitelesítésszolgáltatói tanúsítványainak használatáról további információt az Azure IoT Edge tanúsítványhasználatának ismertetése című témakörben talál.

Az X.509 manuális kiépítéséhez a következő fájlokra van szüksége:

  • Két eszközidentitás-tanúsítvány a hozzájuk tartozó titkos kulcsú tanúsítványokkal .cer vagy .pem formátumban. A tanúsítvány rotálásához két eszközidentitás-tanúsítványra van szükség. Ajánlott eljárás két különböző eszközidentitás-tanúsítvány előkészítése különböző lejárati dátumokkal. Ha az egyik tanúsítvány lejár, a másik továbbra is érvényes, és időt ad a lejárt tanúsítvány elforgatására.

    Az IoT Edge-futtatókörnyezet egy tanúsítvány- és kulcsfájlkészletet biztosít. Eszközidentitás-tanúsítványok létrehozásakor állítsa be a tanúsítvány közös nevét (CN) azzal az eszközazonosítóval, amelyet az eszköznek az IoT Hubban szeretne használni.

  • Mindkét eszközidentitás-tanúsítvány ujjlenyomata. Az IoT Hub két ujjlenyomatot igényel egy IoT Edge-eszköz regisztrálásakor. A regisztrációhoz csak egy tanúsítvány használható. Egyetlen tanúsítvány használatához állítsa be ugyanazt a tanúsítvány ujjlenyomatát az elsődleges és a másodlagos ujjlenyomathoz is az eszköz regisztrálásakor.

    Az ujjlenyomat értéke 40 hexa az SHA-1 kivonatokhoz, az SHA-256 kivonatokhoz pedig 64 hexa karakter. Mindkét ujjlenyomatot az IoT Hub biztosítja az eszközregisztráció idején.

    Az ujjlenyomat tanúsítványból való lekérésének egyik módja az alábbi Openssl-parancs:

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

    A parancs kimenete tartalmazza az ujjlenyomatot. Példa:

    SHA1 Fingerprint=D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12
    

Ha nem rendelkezik elérhető tanúsítványokkal, demótanúsítványokat hozhat létre az IoT Edge eszközfunkcióinak teszteléséhez. Kövesse a cikkben található utasításokat a tanúsítványlétrehozás szkriptjeinek beállításához, egy legfelső szintű hitelesítésszolgáltatói tanúsítvány létrehozásához és egy IoT Edge-eszköz identitástanúsítvány létrehozásához. Teszteléshez létrehozhat egyetlen eszközidentitás-tanúsítványt, és ugyanazt az ujjlenyomatot használhatja az elsődleges és a másodlagos ujjlenyomat értékeihez is, amikor regisztrálja az eszközt az IoT Hubban.

Eszköz regisztrálása

Az Azure Portal, a Visual Studio Code vagy az Azure CLI használatával a beállításoktól függően regisztrálhatja az eszközt.

Az Azure Portal IoT Hubjában az IoT Edge-eszközök létrehozása és kezelése külön történik az olyan IoT-eszközöktől, amelyek nincsenek engedélyezve a peremhálózaton.

  1. Jelentkezzen be az Azure Portalra , és lépjen az IoT Hubra.

  2. A bal oldali panelen válassza az Eszközök lehetőséget a menüben, majd válassza az Eszköz hozzáadása lehetőséget.

  3. Az Eszköz létrehozása lapon adja meg a következő információkat:

    • Hozzon létre egy leíró eszközazonosítót. Jegyezze fel ezt az eszközazonosítót a későbbi használat során.
    • Jelölje be az IoT Edge-eszköz jelölőnégyzetet.
    • Hitelesítési típusként válassza az X.509 Önaláírt elemet.
    • Adja meg az elsődleges és másodlagos identitástanúsítvány ujjlenyomatait. Az ujjlenyomat értéke 40 hexa az SHA-1 kivonatokhoz, az SHA-256 kivonatokhoz pedig 64 hexa karakter. Az Azure Portal csak hexadecimális értékeket támogat. A portálon való bevitel előtt távolítsa el az oszlopelválasztókat és a szóközöket az ujjlenyomat értékeiből. Például a D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12 következőként D268D9049F1A4D6AFD8477687BC633C032375112van beírva: .

    Tipp.

    Ha tesztel, és egy tanúsítványt szeretne használni, ugyanazt a tanúsítványt használhatja az elsődleges és a másodlagos ujjlenyomatokhoz is.

  4. Válassza a Mentés lehetőséget.

Most, hogy regisztrált egy eszközt az IoT Hubban, kérje le az IoT Edge-futtatókörnyezet telepítésének és kiépítésének befejezéséhez használt információkat.

Regisztrált eszközök megtekintése és kiépítési információk lekérése

Az X.509-tanúsítványhitelesítést használó eszközöknek szükségük van az IoT Hub nevére, az eszköz nevére és a tanúsítványfájljaikra az IoT Edge-futtatókörnyezet telepítésének és kiépítésének befejezéséhez.

Az IoT Hubhoz csatlakozó peremhálózati eszközök az Eszközök lapon találhatók. A listát az IoT Edge-eszközök eszköztípusa alapján szűrheti.

Az IoT Edge telepítése

Telepítse az Azure IoT Edge for Linuxot Windows rendszeren a céleszközön.

Feljegyzés

Az alábbi PowerShell-folyamat bemutatja, hogyan helyezheti üzembe a Linuxhoz készült IoT Edge-et Windows rendszeren a helyi eszközön. Távoli céleszközre a PowerShell használatával történő üzembe helyezéshez a Távoli PowerShell használatával létesíthet kapcsolatot egy távoli eszközzel, és távolról futtathatja ezeket a parancsokat az eszközön.

  1. Emelt szintű PowerShell-munkamenetben futtassa az alábbi parancsok egyikét a céleszköz architektúrájától függően, hogy letöltse a Linuxhoz készült IoT Edge-et Windows rendszeren.

    • X64/AMD64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
      
  2. Telepítse az IoT Edge for Linuxot Windows rendszeren az eszközére.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    A Linuxhoz készült egyéni IoT Edge-et windowsos telepítéskor és VHDX-címtárakban is megadhatja, ha hozzáadja INSTALLDIR="<FULLY_QUALIFIED_PATH>" és VHDXDIR="<FULLY_QUALIFIED_PATH>" paramétereket a telepítési parancshoz. Ha például a telepítéshez a D:\EFLOW mappát, a VHDX-hez pedig a D:\EFLOW-VHDX mappát szeretné használni, a következő PowerShell-parancsmagot használhatja.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
    
  3. Állítsa be a végrehajtási szabályzatot AllSigned a céleszközön, ha még nem tette meg. Tekintse meg a parancsok PowerShell-előfeltételeit az aktuális végrehajtási szabályzat ellenőrzéséhez és a végrehajtási szabályzat beállításához AllSigned.

  4. Hozza létre a Linuxhoz készült IoT Edge-t Windows rendszeren. Az üzembe helyezés létrehozza a Linux rendszerű virtuális gépet, és telepíti az IoT Edge-futtatókörnyezetet.

    Deploy-Eflow
    

    Tipp.

    A parancs alapértelmezés szerint 1 GB RAM-mal, Deploy-Eflow 1 vCPU maggal és 16 GB lemezterülettel hozza létre a Linux rendszerű virtuális gépet. A virtuális gép által igényelt erőforrások azonban nagy mértékben függenek az üzembe helyezhető számítási feladatoktól. Ha a virtuális gép nem rendelkezik elegendő memóriával a számítási feladatok támogatásához, nem indul el.

    A virtuális gép elérhető erőforrásait testre szabhatja a Deploy-Eflow parancs választható paramétereivel. Ez szükséges az EFLOW minimális hardverkövetelményekkel rendelkező eszközön való üzembe helyezéséhez.

    Az alábbi parancs például létrehoz egy virtuális gépet 1 vCPU-maggal, 1 GB RAM-mal (MB-ban ábrázolva) és 2 GB lemezterülettel:

    Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2
    

    Az összes választható paraméterről további információt a Windowson futó Linuxhoz készült IoT Edge PowerShell-függvényeivel kapcsolatban talál.

    Figyelmeztetés

    Alapértelmezés szerint az EFLOW Linux rendszerű virtuális gép nem rendelkezik DNS-konfigurációval. A DHCP-t használó üzemelő példányok megpróbálják beszerezni a DHCP-kiszolgáló által propagált DNS-konfigurációt. Ellenőrizze a DNS-konfigurációt az internetkapcsolat biztosításához. További információ: AzEFLOW-DNS.

    GPU-t rendelhet az üzembe helyezéshez a GPU-val felgyorsított Linux-modulok engedélyezéséhez. Ezeknek a funkcióknak a eléréséhez telepítenie kell a Linuxhoz készült Azure IoT Edge GPU-gyorsításával kapcsolatos előfeltételeket Windows rendszeren.

    GPU-átengedés használatához adja hozzá a gpuName, a gpuPassthroughType és a gpuCount paramétereket a Deploy-Eflow parancshoz. Az összes választható paraméterről további információt a Windowson futó Linuxhoz készült IoT Edge PowerShell-függvényeivel kapcsolatban talál.

    Figyelmeztetés

    A hardvereszközök átadásának engedélyezése növelheti a biztonsági kockázatokat. A Microsoft egy eszközcsökkentési illesztőprogramot javasol a GPU gyártójától, ha van ilyen. További információ: Grafikus eszközök üzembe helyezése különálló eszközhozzárendelés használatával.

  5. Adja meg az "Y" értéket a licencfeltételek elfogadásához.

  6. Adja meg az "O" vagy az "R" értéket a választható diagnosztikai adatok be- vagy kikapcsolásához a beállításoktól függően.

  7. Az üzembe helyezés befejezése után a PowerShell-ablak a sikeres üzembe helyezést jelenti.

    A successful deployment will say 'Deployment successful' at the end of the messages, PNG.

    A sikeres üzembe helyezés után készen áll az eszköz üzembe helyezésére.

Az eszköz kiépítése a felhőbeli identitással

Készen áll arra, hogy beállítsa az eszközt a felhőbeli identitással és a hitelesítési adatokkal.

Ha X.509-tanúsítványokkal szeretné kiépíteni az eszközt, szüksége lesz az IoT Hub nevére, az eszközazonosítóra, valamint az identitástanúsítvány és a titkos kulcs abszolút elérési útjára a Windows-gazdagépen.

Készítse fel az eszközidentitás-tanúsítványt és annak megfelelő titkos kulcsát a céleszközön. Ismerje meg mindkét fájl abszolút elérési útját.

Futtassa a következő parancsot egy emelt szintű PowerShell-munkamenetben a céleszközön. Cserélje le a helyőrző szöveget a saját értékeire.

Provision-EflowVm -provisioningType ManualX509 -iotHubHostname "HUB_HOSTNAME_HERE" -deviceId "DEVICE_ID_HERE" -identityCertPath "ABSOLUTE_PATH_TO_IDENTITY_CERT_HERE" -identityPrivKeyPath "ABSOLUTE_PATH_TO_PRIVATE_KEY_HERE"

További információ a Provision-EflowVM parancsról: PowerShell-függvények a Linuxhoz készült IoT Edge-hez Windows rendszeren.

Sikeres konfiguráció ellenőrzése

Ellenőrizze, hogy a Windows rendszeren futó Linux IoT Edge sikeresen telepítve lett-e és konfigurálva lett-e az IoT Edge-eszközön.

  1. Jelentkezzen be a Linuxhoz készült IoT Edge-be Windows rendszerű virtuális gépen a Következő paranccsal a PowerShell-munkamenetben:

    Connect-EflowVm
    

    Feljegyzés

    A virtuális gép számára az egyetlen SSH-fiók az, aki létrehozta.

  2. Miután bejelentkezett, az alábbi Linux-paranccsal ellenőrizheti a futó IoT Edge-modulok listáját:

    sudo iotedge list
    
  3. Ha az IoT Edge szolgáltatás hibaelhárítására van szüksége, használja az alábbi Linux-parancsokat.

    1. Kérje le a szolgáltatásnaplókat.

      sudo iotedge system logs
      
    2. check Az eszköz konfigurálásának és kapcsolati állapotának ellenőrzéséhez használja az eszközt.

      sudo iotedge check
      

    Feljegyzés

    Egy újonnan kiépített eszközön az IoT Edge Hubhoz kapcsolódó hiba jelenhet meg:

    × éles üzemkészség: Az Edge Hub tárolókönyvtára megmarad a gazdagép fájlrendszerén – Hiba

    Nem sikerült ellenőrizni az edgeHub-tároló aktuális állapotát

    Ez a hiba egy újonnan kiépített eszközön várható, mert az IoT Edge Hub modul nem fut. A hiba megoldásához az IoT Hubban állítsa be az eszköz moduljait, és hozzon létre egy üzembe helyezést. Az eszköz központi telepítésének létrehozása elindítja a modulokat az eszközön, beleértve az IoT Edge Hub modult is.

Új IoT Edge-eszköz létrehozásakor az állapotkód 417 -- The device's deployment configuration is not set megjelenik az Azure Portalon. Ez az állapot normális, és azt jelenti, hogy az eszköz készen áll a modul üzembe helyezésére.

Linux IoT Edge eltávolítása Windows rendszeren

Ha el szeretné távolítani Az Azure IoT Edge for Linux windowsos telepítését az eszközéről, használja az alábbi parancsokat.

  1. Gépház megnyitása Windows rendszeren
  2. Válassza a Programok hozzáadása vagy eltávolítása lehetőséget
  3. Az Azure IoT Edge-alkalmazás kiválasztása
  4. Válassza az Eltávolítás lehetőséget

Következő lépések