Vytváření a zřizování zařízení IoT Edge ve velkém měřítku v Linuxu pomocí symetrického klíče

Platí pro:IoT Edge 1.4 checkmark IoT Edge 1.4

Důležité

IoT Edge 1.4 je podporovaná verze. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Tento článek obsahuje kompletní pokyny pro automatické zřízení jednoho nebo více zařízení IoT Edge s Linuxem pomocí symetrických klíčů. Zařízení Azure IoT Edge můžete automaticky zřídit pomocí služby Azure IoT Hub device provisioning (DPS). Pokud neznáte proces automatického zřizování, než budete pokračovat, projděte si přehled zřizování.

Úkoly jsou následující:

  1. Vytvořte individuální registraci pro jedno zařízení nebo skupinovou registraci pro sadu zařízení.
  2. Nainstalujte modul runtime IoT Edge a připojte se ke službě IoT Hub.

Tip

Pokud chcete zjednodušené prostředí, vyzkoušejte konfigurační nástroj Azure IoT Edge. Tento nástroj příkazového řádku, který je aktuálně ve verzi Public Preview, nainstaluje IoT Edge na vaše zařízení a zřídí ho pomocí DPS a ověření symetrického klíče.

Ověření symetrického klíče je jednoduchý přístup k ověřování zařízení pomocí instance služby device provisioning. Tato metoda ověření identity představuje prostředí Hello World pro vývojáře, kteří s zřizováním zařízení začíná nebo nemají přísné požadavky na zabezpečení. Ověření identity zařízení pomocí certifikátů TPM nebo X.509 je bezpečnější a mělo by se použít pro přísnější požadavky na zabezpečení.

Požadavky

Cloudové prostředky

  • Aktivní centrum IoT
  • Instance služby IoT Hub device Provisioning v Azure propojená s centrem IoT
    • Pokud nemáte instanci služby zřizování zařízení, můžete postupovat podle pokynů v rychlém startu vytvoření nové služby zřizování zařízení ioT Hubu a propojení centra IoT a oddílů služby zřizování zařízení ve službě IoT Hub.
    • Po spuštění služby device provisioning zkopírujte hodnotu Oboru ID ze stránky přehledu. Tuto hodnotu použijete při konfiguraci modulu runtime IoT Edge.

Požadavky na zařízení

Fyzické nebo virtuální zařízení s Linuxem, které má být zařízením IoT Edge.

K identifikaci jednotlivých zařízení budete muset definovat jedinečnéID registrace. Můžete použít adresu MAC, sériové číslo nebo jakékoli jedinečné informace ze zařízení. Můžete například použít kombinaci adresy MAC a sériového čísla, které tvoří následující řetězec pro ID registrace: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6. Platné znaky jsou malá písmena alfanumerické a pomlčky (-).

Vytvoření registrace DPS

Vytvořte registraci pro zřízení jednoho nebo více zařízení prostřednictvím DPS.

Pokud chcete zřídit jedno zařízení IoT Edge, vytvořte individuální registraci. Pokud potřebujete zřídit více zařízení, postupujte podle pokynů k vytvoření skupinové registrace DPS.

Při vytváření registrace v DPS máte možnost deklarovat počáteční stav dvojčete zařízení. Ve dvojčeti zařízení můžete nastavit značky pro seskupení zařízení podle libovolné metriky, kterou potřebujete v řešení, jako je oblast, prostředí, umístění nebo typ zařízení. Tyto značky slouží k vytváření automatických nasazení.

Další informace o registracích ve službě zřizování zařízení najdete v tématu Správa registrací zařízení.

Vytvoření jednotlivé registrace DPS

Tip

Kroky v tomto článku jsou určené pro Azure Portal, ale pomocí Azure CLI můžete také vytvářet jednotlivé registrace. Další informace najdete v tématu az iot dps enrollment. Jako součást příkazu rozhraní příkazového řádku použijte příznak s povoleným hraničním zařízením a určete, že registrace je pro zařízení IoT Edge.

  1. Na webu Azure Portal přejděte do vaší instance služby IoT Hub device provisioning.

  2. V části Nastavení vyberte Spravovat registrace.

  3. Vyberte Přidat jednotlivé registrace a pak proveďte následující kroky a nakonfigurujte registraci:

    1. V případě mechanismu vyberte symetrický klíč.

    2. Zadejte jedinečné ID registrace pro vaše zařízení.

    3. Volitelně můžete zadat ID zařízení ioT Hubu pro vaše zařízení. ID zařízení můžete použít k cílení na jednotlivá zařízení pro nasazení modulu. Pokud nezadáte ID zařízení, použije se ID registrace.

    4. Výběrem možnosti True deklarujte, že registrace je pro zařízení IoT Edge.

    5. Volitelně můžete do stavu počátečního dvojčete zařízení přidat hodnotu značky. Značky můžete použít k cílovým skupinám zařízení pro nasazení modulu. Příklad:

      {
         "tags": {
            "environment": "test"
         },
         "properties": {
            "desired": {}
         }
      }
      
    6. Zvolte Uložit.

  4. Zkopírujte hodnotu primárního klíče jednotlivé registrace, kterou chcete použít při instalaci modulu runtime IoT Edge.

Teď, když pro toto zařízení existuje registrace, může modul runtime IoT Edge během instalace zařízení automaticky zřídit.

Instalace IoT Edge

V této části připravíte virtuální počítač s Linuxem nebo fyzické zařízení pro IoT Edge. Pak nainstalujete IoT Edge.

Spuštěním následujících příkazů přidejte úložiště balíčků a potom přidejte podpisový klíč balíčku Microsoftu do seznamu důvěryhodných klíčů.

Důležité

30. června 2022 Raspberry Pi OS Stretch byl vyřazen ze seznamu podpory operačního systému vrstvy 1. Abyste se vyhnuli potenciálním ohrožením zabezpečení, aktualizujte hostitelský operační systém na Bullseye.

Instalaci je možné provést několika příkazy. Otevřete terminál a spusťte následující příkazy:

  • 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
    

Další informace o verzích operačního systému najdete na podporovaných platformách Azure IoT Edge.

Poznámka:

Softwarové balíčky Azure IoT Edge podléhají licenčním podmínkám umístěným v jednotlivých balíčcích (usr/share/doc/{package-name} nebo adresáři LICENSE ). Přečtěte si licenční podmínky před použitím balíčku. Vaše instalace a použití balíčku představuje vaše přijetí těchto podmínek. Pokud s licenčními podmínkami nesouhlasíte, nepoužívejte tento balíček.

Instalace modulu kontejneru

Azure IoT Edge spoléhá na modul runtime kontejneru kompatibilní s OCI. Pro produkční scénáře doporučujeme použít modul Moby. Modul Moby je jediným kontejnerovým modulem oficiálně podporovaným v IoT Edge. Image kontejnerů Dockeru CE/EE jsou kompatibilní s modulem runtime Moby.

Nainstalujte modul Moby.

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

Ve výchozím nastavení modul kontejneru nenastavuje limity velikosti protokolu kontejneru. Časem to může vést k zaplnění zařízení protokoly a vyčerpání místa na disku. Protokol ale můžete nakonfigurovat tak, aby se zobrazoval místně, i když je volitelný. Další informace o konfiguraci protokolování najdete v kontrolním seznamu produkčního nasazení.

Následující kroky ukazují, jak nakonfigurovat kontejner tak, aby jako mechanismus protokolování používal local ovladač protokolování.

  1. Vytvoření nebo úprava konfiguračního souboru existujícího procesu démona Dockeru

    sudo nano /etc/docker/daemon.json
    
  2. Nastavte výchozí ovladač protokolování na local ovladač protokolování, jak je znázorněno v příkladu.

       {
          "log-driver": "local"
       }
    
  3. Restartujte modul kontejneru, aby se změny projevily.

    sudo systemctl restart docker
    

Instalace modulu runtime IoT Edge

Služba IoT Edge poskytuje a udržuje standardy zabezpečení na zařízení IoT Edge. Služba se spustí při každém spuštění a spuštění zařízení spuštěním zbytku modulu runtime IoT Edge.

Poznámka:

Počínaje verzí 1.2 služba identit IoT zpracovává zřizování a správu identit pro IoT Edge a pro další komponenty zařízení, které potřebují komunikovat se službou IoT Hub.

Kroky v této části představují typický proces instalace nejnovější verze IoT Edge na zařízení s připojením k internetu. Pokud potřebujete nainstalovat konkrétní verzi, jako je předběžná verze, nebo je potřeba ji nainstalovat offline, postupujte podle pokynů pro offline nebo konkrétní instalaci verze dále v tomto článku.

Tip

Pokud už máte zařízení IoT Edge se starší verzí a chcete upgradovat na nejnovější verzi, postupujte podle pokynů v tématu Aktualizace démona zabezpečení a modulu runtime ioT Edge. Novější verze se dostatečně liší od předchozích verzí IoT Edge, které jsou potřeba k upgradu konkrétní kroky.

Nainstalujte nejnovější verzi IoT Edge a balíček služby identit IoT (pokud ještě nejste aktuální):

  • 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
    

Volitelný defender-iot-micro-agent-edge balíček zahrnuje mikro-agenta zabezpečení v programu Microsoft Defender for IoT, který poskytuje přehled o správě stavu zabezpečení, ohrožení zabezpečení, detekci hrozeb, správě vozového parku a další prvky, které vám pomůžou zabezpečit vaše zařízení IoT Edge. Doporučujeme nainstalovat mikro agenta s agentem Edge, abyste umožnili monitorování zabezpečení a posílení zabezpečení zařízení Edge. Další informace o programu Microsoft Defender for IoT najdete v tématu Co je Microsoft Defender for IoT pro tvůrce zařízení.

Zřízení zařízení s využitím cloudové identity

Jakmile je modul runtime nainstalovaný na vašem zařízení, nakonfigurujte zařízení s informacemi, které používá pro připojení ke službě zřizování zařízení a ioT Hubu.

Připravte si následující informace:

  • Hodnota oboru ID DPS
  • ID registrace zařízení, které jste vytvořili
  • Primární klíč z jednotlivé registrace nebo odvozený klíč pro zařízení, která používají skupinovou registraci.

Vytvořte konfigurační soubor pro vaše zařízení na základě souboru šablony, který je součástí instalace IoT Edge.

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

Otevřete konfigurační soubor na zařízení IoT Edge.

sudo nano /etc/aziot/config.toml
  1. Najděte část Zřizování souboru. Odkomentujte řádky pro zřizování DPS symetrickým klíčem a ujistěte se, že jsou všechny ostatní řádky zřizování okomentované.

    # 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. Aktualizujte hodnoty a id_scoperegistration_idsymmetric_key informacemi o dps a zařízení.

    Parametr symetrického klíče může přijmout hodnotu vloženého klíče, identifikátoru URI souboru nebo identifikátoru URI PKCS#11. Odkomentujte jenom jednu symetrickou čáru klíče podle formátu, který používáte. Při použití vloženého klíče použijte klíč kódovaný v base64, jako je příklad. Při použití identifikátoru URI souboru by měl soubor obsahovat nezpracované bajty klíče.

    Pokud používáte nějaké identifikátory URI PKCS#11, vyhledejte v konfiguračním souboru oddíl PKCS#11 a zadejte informace o konfiguraci PKCS#11.

    Další informace o zřizování nastavení konfigurace najdete v tématu Konfigurace nastavení zařízení IoT Edge.

  3. Volitelně můžete najít část režimu automatického opětovného zřízení souboru. Pomocí parametru auto_reprovisioning_mode nakonfigurujte chování opětovného zřízení zařízení. Dynamické – opětovné zřízení, když zařízení zjistí, že mohlo být přesunuto z jednoho IoT Hubu do jiného. Tato možnost je výchozí. AlwaysOnStartup – Opětovné zřízení při restartování zařízení nebo chybové ukončení způsobí restartování démonů. OnErrorOnly – Automatické opětovné zřízení zařízení nikdy neaktivujte. Každý režim má implicitní opětovné zřízení zařízení, pokud se zařízení během zřizování identit nemůže připojit ke službě IoT Hub kvůli chybám připojení. Další informace najdete v tématu Koncepty opětovného zřízení zařízení ve službě IoT Hub.

  4. Volitelně můžete odkomentovat payload parametr a zadat cestu k místnímu souboru JSON. Obsah souboru se odešle do DPS jako další data , když se zařízení zaregistruje. To je užitečné pro vlastní přidělení. Pokud například chcete přidělit zařízení na základě ID modelu technologie Plug and Play IoT bez zásahu člověka.

  5. Soubor uložte a zavřete.

  6. Použijte změny konfigurace, které jste provedli na zařízení.

    sudo iotedge config apply
    

Ověření úspěšné instalace

Pokud se modul runtime úspěšně spustil, můžete přejít do služby IoT Hub a začít nasazovat moduly IoT Edge do zařízení.

Můžete ověřit, že se použila jednotlivá registrace, kterou jste vytvořili ve službě device Provisioning. Na webu Azure Portal přejděte k instanci služby zřizování zařízení. Otevřete podrobnosti o registraci pro jednotlivou registraci, kterou jste vytvořili. Všimněte si, že se přiřadí stav registrace a zobrazí se ID zařízení.

Pomocí následujících příkazů na zařízení ověřte, že se IoT Edge nainstaloval a úspěšně spustil.

Zkontrolujte stav služby IoT Edge.

sudo iotedge system status

Prozkoumejte protokoly služby.

sudo iotedge system logs

Výpis spuštěných modulů

sudo iotedge list

Další kroky

Proces registrace služby Device Provisioning umožňuje nastavit ID zařízení a značky dvojčat zařízení současně se zřízením nového zařízení. Tyto hodnoty můžete použít k cílení na jednotlivá zařízení nebo skupiny zařízení pomocí automatické správy zařízení. Zjistěte, jak nasadit a monitorovat moduly IoT Edge ve velkém měřítku pomocí webu Azure Portal nebo pomocí Azure CLI.