IoT Edge-eszközök létrehozása és üzembe helyezése nagy méretekben Linuxon szimmetrikus kulccsal

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 részletes útmutatást nyújt egy vagy több Linux IoT Edge-eszköz szimmetrikus kulcsok használatával történő automatikus fejlesztéséhez. Az Azure IoT Edge-eszközöket automatikusan kiépítheti az Azure IoT Hub eszközkiépítési szolgáltatással (DPS). Ha nem ismeri az automatikus kiépítés folyamatát, a folytatás előtt tekintse át a kiépítés áttekintését .

A feladatok a következők:

  1. Hozzon létre egyéni regisztrációt egyetlen eszközhöz vagy csoportregisztrációhoz egy eszközcsoporthoz.
  2. Telepítse az IoT Edge-futtatókörnyezetet, és csatlakozzon az IoT Hubhoz.

Tipp.

Az egyszerűbb használat érdekében próbálja ki az Azure IoT Edge konfigurációs eszközét. Ez a jelenleg nyilvános előzetes verzióban elérhető parancssori eszköz telepíti az IoT Edge-et az eszközre, és DPS és szimmetrikus kulcsigazolás használatával helyezi üzembe.

A szimmetrikus kulcsigazolás egy egyszerű módszer az eszköz hitelesítésére egy eszközkiépítési szolgáltatáspéldánysal. Ez az igazolási módszer "Hello world" élményt jelent azoknak a fejlesztőknek, akik még nem ismerik az eszközök kiépítését, vagy nem rendelkeznek szigorú biztonsági követelményekkel. A TPM- vagy X.509-tanúsítványokat használó eszközigazolás biztonságosabb, és szigorúbb biztonsági követelményekhez kell használni.

Előfeltételek

Felhőbeli erőforrások

  • Aktív IoT Hub
  • Az IoT Hub eszközkiépítési szolgáltatásának egy példánya az Azure-ban, az IoT Hubhoz csatolva
    • Ha nem rendelkezik eszközkiépítési szolgáltatáspéldánysal, kövesse az új IoT Hub-eszközkiépítési szolgáltatás létrehozása, valamint az IoT Hub és az IoT Hub eszközkiépítési szolgáltatás szakaszainak összekapcsolása rövid útmutatójában leírtakat.
    • Az eszközkiépítési szolgáltatás futtatása után másolja ki az azonosító hatókörének értékét az áttekintési oldalról. Ezt az értéket az IoT Edge-futtatókörnyezet konfigurálásakor használja.

Eszközkövetelmények

Egy fizikai vagy virtuális Linux-eszköz, amely az IoT Edge-eszköz.

Az egyes eszközök azonosításához egyediregisztrációs azonosítótkell megadnia. Használhatja a MAC-címet, a sorozatszámot vagy az eszközről származó bármilyen egyedi információt. Használhat például egy MAC-cím és sorozatszám kombinációját, amely a következő sztringet alkotja a regisztrációs azonosítóhoz: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6. Az érvényes karakterek kisbetűs alfanumerikusak és kötőjelek (-).

DPS-regisztráció létrehozása

Hozzon létre egy regisztrációt egy vagy több eszköz DPS-ben történő kiépítéséhez.

Ha egyetlen IoT Edge-eszközt szeretne kiépíteni, hozzon létre egy egyéni regisztrációt. Ha több eszköz kiépítésére van szüksége, kövesse a DPS-csoportregisztráció létrehozásának lépéseit.

Amikor létrehoz egy regisztrációt a DPS-ben, lehetősége van az ikereszköz kezdeti állapotának deklarálására. Az ikereszközön beállíthatja, hogy a címkéket a megoldásban szükséges bármely metrika alapján csoportosítsa, például régió, környezet, hely vagy eszköztípus szerint. Ezek a címkék automatikus üzembe helyezéseket hoznak létre.

Az eszközkiépítési szolgáltatásban történő regisztrációval kapcsolatos további információkért tekintse meg az eszközregisztrációk kezelését ismertető témakört.

DPS-egyéni regisztráció létrehozása

Tipp.

A cikkben szereplő lépések az Azure Portalon érhetők el, de egyéni regisztrációkat is létrehozhat az Azure CLI használatával. További információ: az iot dps-regisztráció. A CLI-parancs részeként használja az edge-kompatibilis jelzőt annak megadásához, hogy a regisztráció egy IoT Edge-eszközhöz tartozik- e.

  1. Az Azure Portalon keresse meg az IoT Hub eszközkiépítési szolgáltatás példányát.

  2. A Gépház területen válassza a Regisztrációk kezelése lehetőséget.

  3. Válassza az Egyéni regisztráció hozzáadása lehetőséget, majd végezze el a következő lépéseket a regisztráció konfigurálásához:

    1. A mechanizmushoz válassza a Szimmetrikus kulcsot.

    2. Adjon meg egy egyedi regisztrációs azonosítót az eszközhöz.

    3. Szükség esetén adjon meg egy IoT Hub-eszközazonosítót az eszközhöz. Az eszközazonosítókkal egy-egy eszközt célozhat meg a modul üzembe helyezéséhez. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót használja.

    4. Az Igaz lehetőséget választva deklarálhatja, hogy a regisztráció egy IoT Edge-eszközre vonatkozik.

    5. Ha szeretné, adjon hozzá egy címkeértéket az ikereszköz kezdeti állapotához. Címkék használatával célcsoportokat célozhat meg a modul üzembe helyezéséhez. Példa:

      {
         "tags": {
            "environment": "test"
         },
         "properties": {
            "desired": {}
         }
      }
      
    6. Válassza a Mentés lehetőséget.

  4. Másolja ki az egyéni regisztráció elsődleges kulcsértékét az IoT Edge-futtatókörnyezet telepítésekor használandó értékre.

Most, hogy már létezik regisztráció ehhez az eszközhöz, az IoT Edge-futtatókörnyezet automatikusan kiépítheti az eszközt a telepítés során.

Az IoT Edge telepítése

Ebben a szakaszban előkészíti Linux rendszerű virtuális gépét vagy fizikai eszközét az IoT Edge-hez. Ezután telepítse az IoT Edge-et.

Futtassa az alábbi parancsokat a csomagtárház hozzáadásához, majd adja hozzá a Microsoft-csomagaláíró kulcsot a megbízható kulcsok listájához.

Fontos

2022. június 30-án a Raspberry Pi OS Stretch kilépett az 1. rétegbeli operációsrendszer-támogatási listából. A lehetséges biztonsági rések elkerülése érdekében frissítse a gazdagép operációs rendszerét a Bullseye-re.

A telepítés néhány paranccsal elvégezhető. Nyisson meg egy terminált, és futtassa a következő parancsokat:

  • 22.04:

    wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    
  • 20.04:

    wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    

Az operációsrendszer-verziókról további információt az Azure IoT Edge által támogatott platformokon talál.

Feljegyzés

Az Azure IoT Edge szoftvercsomagjaira az egyes csomagokban (usr/share/doc/{package-name} vagy a LICENSE címtárban) található licencfeltételek vonatkoznak. A csomag használata előtt olvassa el a licencfeltételeket. A csomagok telepítése és használata jelenti a jelen feltételek elfogadását. Ha nem ért egyet a licencfeltételekkel, ne használja ezt a csomagot.

Tárolómotor telepítése

Az Azure IoT Edge egy OCI-kompatibilis tároló-futtatókörnyezetre támaszkodik. Éles helyzetekben javasoljuk, hogy használja a Moby motort. A Moby motor az egyetlen olyan tárolómotor, amelyet hivatalosan támogat az IoT Edge. A Docker CE/Enterprise kiadás tárolórendszerképei kompatibilisek a Moby futtatókörnyezetével.

Telepítse a Moby motort.

sudo apt-get update; \
  sudo apt-get install moby-engine

Alapértelmezés szerint a tárolómotor nem állítja be a tárolónapló méretkorlátját. Ez idővel ahhoz vezethet, hogy az eszköz megtelik naplókkal, és elfogy a lemezterület. A naplót azonban úgy konfigurálhatja, hogy helyileg jelenjen meg, bár ez nem kötelező. A naplózási konfigurációval kapcsolatos további információkért tekintse meg az éles üzembehelyezési ellenőrzőlistát.

Az alábbi lépések bemutatják, hogyan konfigurálhatja a tárolót úgy, hogy naplózási illesztőprogramot használjon local naplózási mechanizmusként.

  1. A meglévő Docker-démon konfigurációs fájljának létrehozása vagy szerkesztése

    sudo nano /etc/docker/daemon.json
    
  2. Állítsa be az alapértelmezett naplózási illesztőprogramot a naplózási local illesztőre a példában látható módon.

       {
          "log-driver": "local"
       }
    
  3. Indítsa újra a tárolómotort a módosítások érvénybe lépéséhez.

    sudo systemctl restart docker
    

Az IoT Edge-futtatókörnyezet telepítése

Az IoT Edge szolgáltatás biztonsági szabványokat biztosít és tart fenn az IoT Edge-eszközön. A szolgáltatás minden rendszerindításkor elindul, és az IoT Edge többi futtatókörnyezetének elindításával elindítja az eszközt.

Feljegyzés

Az IoT Identity Service az 1.2-es verziótól kezdve kezeli az IoT Edge és más eszközösszetevők identitáskiépítését és kezelését, amelyeknek kommunikálniuk kell az IoT Hubbal.

Az ebben a szakaszban ismertetett lépések a legújabb IoT Edge-verzió internetkapcsolattal rendelkező eszközre való telepítésének tipikus folyamatát jelölik. Ha telepítenie kell egy adott verziót, például egy előzetes verziót, vagy offline állapotban kell telepítenie, kövesse az Offline vagy adott verzió telepítési lépéseit a jelen cikk későbbi részében.

Tipp.

Ha már rendelkezik egy régebbi verziót futtató IoT Edge-eszközzel, és a legújabb kiadásra szeretne frissíteni, kövesse az IoT Edge biztonsági démon és futtatókörnyezet frissítésének lépéseit. A későbbi verziók eléggé eltérnek az IoT Edge korábbi verzióitól, és bizonyos lépések szükségesek a frissítéshez.

Telepítse az IoT Edge legújabb verzióját és az IoT Identity Service-csomagot (ha még nem naprakész):

  • 22.04:

    sudo apt-get update; \
       sudo apt-get install aziot-edge
    
  • 20.04:

    sudo apt-get update; \
       sudo apt-get install aziot-edge defender-iot-micro-agent-edge
    

Az opcionális defender-iot-micro-agent-edge csomag tartalmazza a Microsoft Defender for IoT biztonsági mikroügynököt, amely végponti láthatóságot biztosít a biztonsági helyzetkezelés, a biztonsági rések, a fenyegetésészlelés, a flottakezelés és egyebek szempontjából az IoT Edge-eszközök biztonságossá tételéhez. Javasoljuk, hogy telepítse a mikroügynököt az Edge-ügynökkel, hogy engedélyezze az Edge-eszközök biztonsági monitorozását és megerősítését. Az IoT-hez készült Microsoft Defenderről további információt az eszközkészítőknek készült Microsoft Defender for IoT című témakörben talál.

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

Miután telepítette a futtatókörnyezetet az eszközön, konfigurálja az eszközt az eszközkiépítési szolgáltatáshoz és az IoT Hubhoz való csatlakozáshoz használt információkkal.

Készítse fel a következő információkat:

Hozzon létre egy konfigurációs fájlt az eszközhöz az IoT Edge-telepítés részeként megadott sablonfájl alapján.

sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml

Nyissa meg a konfigurációs fájlt az IoT Edge-eszközön.

sudo nano /etc/aziot/config.toml
  1. Keresse meg a fájl kiépítési szakaszát. Bontsa ki a DPS-kiépítés sorait szimmetrikus kulccsal, és ellenőrizze, hogy a többi kiépítési sor megjegyzésben van-e.

    # DPS provisioning with symmetric key
    [provisioning]
    source = "dps"
    global_endpoint = "https://global.azure-devices-provisioning.net"
    id_scope = "PASTE_YOUR_SCOPE_ID_HERE"
    
    # Uncomment to send a custom payload during DPS registration
    # payload = { uri = "PATH_TO_JSON_FILE" }
    
    [provisioning.attestation]
    method = "symmetric_key"
    registration_id = "PASTE_YOUR_REGISTRATION_ID_HERE"
    
    symmetric_key = { value = "PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE" }
    
    # auto_reprovisioning_mode = Dynamic
    
  2. Frissítse az id_scope, registration_idés a DPS és symmetric_key az eszköz adatait.

    A szimmetrikus kulcs paramétere elfogadhatja a beágyazott kulcs, a fájl URI vagy a PKCS#11 URI értékét. Csak egy szimmetrikus kulcssor kibontása a használt formátum alapján. Beágyazott kulcs használata esetén használjon egy base64 kódolású kulcsot, mint a példában. Fájl URI használata esetén a fájlnak tartalmaznia kell a kulcs nyers bájtját.

    Ha bármilyen PKCS#11 URI-t használ, keresse meg a PKCS#11 szakaszt a konfigurációs fájlban, és adjon meg információkat a PKCS#11 konfigurációról.

    A konfigurációs beállítások kiépítéséről további információt az IoT Edge-eszközbeállítások konfigurálása című témakörben talál.

  3. Ha szeretné, keresse meg a fájl automatikus újraépítési módjának szakaszát. A paraméter használatával auto_reprovisioning_mode konfigurálhatja az eszköz újraépítési viselkedését. Dinamikus – Újraépítés, ha az eszköz azt észleli, hogy áthelyezték az egyik IoT Hubról a másikra. Ez az alapértelmezett beállítás. AlwaysOnStartup – Az eszköz újraindítása vagy összeomlása esetén a démonok újraépítése. OnErrorOnly – Soha ne aktiválja automatikusan az eszköz újraépítését. Minden mód rendelkezik implicit eszközvisszaépítési tartalékokkal, ha az eszköz kapcsolódási hibák miatt nem tud csatlakozni az IoT Hubhoz az identitáskiépítés során. További információ: IoT Hub-eszközök újraépítési fogalmai.

  4. Ha szeretné, törölje a paramétert a payload helyi JSON-fájl elérési útjának megadásához. A rendszer további adatokként továbbítja a fájl tartalmát a DPS-nek, amikor az eszköz regisztrál. Ez hasznos egyéni foglalásokhoz. Ha például emberi beavatkozás nélkül szeretné lefoglalni az eszközöket egy IoT Plug and Play-modellazonosító alapján.

  5. Mentse és zárja be a fájlt.

  6. Alkalmazza az eszközön végrehajtott konfigurációs módosításokat.

    sudo iotedge config apply
    

Sikeres telepítés ellenőrzése

Ha a futtatókörnyezet sikeresen elindult, bemehet az IoT Hubba, és megkezdheti az IoT Edge-modulok üzembe helyezését az eszközön.

Ellenőrizheti, hogy az eszközkiépítési szolgáltatásban létrehozott egyéni regisztrációt használták-e. Lépjen az eszközkiépítési szolgáltatáspéldányra az Azure Portalon. Nyissa meg a létrehozott egyéni regisztráció regisztrációs adatait. Figyelje meg, hogy a regisztráció állapota ki van rendelve , és az eszközazonosító megjelenik a listában.

Az eszközön az alábbi parancsokkal ellenőrizheti, hogy az IoT Edge sikeresen telepítve van-e és elindult-e.

Ellenőrizze az IoT Edge-szolgáltatás állapotát.

sudo iotedge system status

Vizsgálja meg a szolgáltatásnaplókat.

sudo iotedge system logs

Futó modulok listázása.

sudo iotedge list

Következő lépések

Az eszközkiépítési szolgáltatás regisztrációs folyamata lehetővé teszi az eszközazonosító és az ikereszköz-címkék beállítását az új eszköz üzembe helyezésével egyidejűleg. Ezekkel az értékekkel egyéni eszközöket vagy eszközcsoportokat célozhat meg automatikus eszközkezeléssel. Megtudhatja, hogyan helyezhet üzembe és monitorozhat IoT Edge-modulokat nagy méretekben az Azure Portalon vagy az Azure CLI használatával.