Vytváření a zřizování IoT Edge zařízení ve velkém ve Windows pomocí certifikátů X.509

Platí pro:ano ikona IoT Edge 1.1

Důležité

IoT Edge 1.1 datum ukončení podpory bylo 13. prosince 2022. Informace o způsobu podpory tohoto produktu, služby, technologie nebo rozhraní API najdete v tématu věnovaném životnímu cyklu produktů Microsoftu. Další informace o aktualizaci na nejnovější verzi IoT Edge najdete v tématu Aktualizace IoT Edge.

Tento článek obsahuje kompletní pokyny pro automatické zřizování jednoho nebo více zařízení s Windows IoT Edge pomocí certifikátů X.509. Zařízení Azure IoT Edge můžete automaticky zřizovat pomocí služby Azure IoT Hub device provisioning Service (DPS). Pokud nejste obeznámeni s procesem automatického zřizování, než budete pokračovat, projděte si přehled zřizování .

Poznámka

Azure IoT Edge s kontejnery Windows nebudou podporovány od verze 1.2 azure IoT Edge.

Zvažte použití nové metody pro spuštění IoT Edge na zařízeních s Windows, Azure IoT Edge pro Linux ve Windows.

Pokud chcete používat Azure IoT Edge pro Linux ve Windows, můžete postupovat podle pokynů v ekvivalentním návodu.

Úkoly jsou následující:

  1. Vygenerujte certifikáty a klíče.
  2. Vytvořte buď individuální registraci pro jedno zařízení, nebo skupinovou registraci pro sadu zařízení.
  3. Nainstalujte modul runtime IoT Edge a zaregistrujte zařízení v IoT Hub.

Použití certifikátů X.509 jako mechanismu ověření identity je vynikající způsob, jak škálovat produkční prostředí a zjednodušit zřizování zařízení. Certifikáty X.509 jsou obvykle uspořádány v řetězu certifikátů důvěryhodnosti. Počínaje kořenovým certifikátem podepsaným svým držitelem nebo důvěryhodným kořenovým certifikátem podepisuje každý certifikát v řetězu další nižší certifikát. Tento model vytvoří delegovaný řetěz důvěryhodnosti od kořenového certifikátu dolů přes každý zprostředkující certifikát až po konečný podřízený certifikát zařízení nainstalovaný na zařízení.

Požadavky

Cloudové prostředky

Požadavky na zařízení

Fyzické nebo virtuální zařízení s Windows, které bude IoT Edge zařízením.

Generování certifikátů identity zařízení

Certifikát identity zařízení je podřízený certifikát zařízení, který se připojuje prostřednictvím řetězu certifikátů s nejvyšším certifikátem certifikační autority X.509. Certifikát identity zařízení musí mít svůj běžný název (CN) nastavený na ID zařízení, které má mít zařízení ve službě IoT Hub.

Certifikáty identity zařízení se používají jenom ke zřízení IoT Edge zařízení a ověřování zařízení pomocí Azure IoT Hub. Na rozdíl od certifikátů certifikační autority, které IoT Edge zařízení prezentuje modulům nebo podřízeným zařízením k ověření, nejsou podpisové certifikáty. Další informace najdete v tématu Podrobnosti o využití certifikátů Azure IoT Edge.

Po vytvoření certifikátu identity zařízení byste měli mít dva soubory: soubor .cer nebo .pem, který obsahuje veřejnou část certifikátu, a soubor .cer nebo .pem s privátním klíčem certifikátu. Pokud plánujete používat skupinovou registraci v DPS, potřebujete také veřejnou část zprostředkujícího nebo kořenového certifikátu certifikační autority ve stejném řetězu certifikátů důvěryhodnosti.

K nastavení automatického zřizování s X.509 potřebujete následující soubory:

  • Certifikát identity zařízení a certifikát jeho privátního klíče. Pokud vytvoříte individuální registraci, certifikát identity zařízení se nahraje do služby DPS. Privátní klíč se předá modulu runtime IoT Edge.
  • Úplný řetězový certifikát, který by měl obsahovat alespoň identitu zařízení a zprostředkující certifikáty. Úplný řetězový certifikát se předá modulu runtime IoT Edge.
  • Zprostředkující nebo kořenový certifikát certifikační autority z řetězu důvěryhodných certifikátů. Tento certifikát se nahraje do služby DPS, pokud vytvoříte skupinovou registraci.

Poznámka

V současné době omezení v knihovně libiothsm brání použití certifikátů, jejichž platnost vyprší 1. ledna 2038 nebo později.

Použití testovacích certifikátů (volitelné)

Pokud nemáte k dispozici certifikační autoritu pro vytváření nových certifikátů identit a chcete tento scénář vyzkoušet, úložiště Git Azure IoT Edge obsahuje skripty, které můžete použít ke generování testovacích certifikátů. Tyto certifikáty jsou určené pouze pro testování vývoje a nesmí se používat v produkčním prostředí.

Pokud chcete vytvořit testovací certifikáty, postupujte podle kroků v tématu Vytvoření ukázkových certifikátů k testování IoT Edge funkcí zařízení. Dokončete dvě požadované části pro nastavení skriptů generování certifikátů a vytvoření certifikátu kořenové certifikační autority. Pak postupujte podle pokynů k vytvoření certifikátu identity zařízení. Až budete hotovi, měli byste mít následující řetěz certifikátů a pár klíčů:

  • <WRKDIR>\certs\iot-edge-device-identity-<name>-full-chain.cert.pem
  • <WRKDIR>\private\iot-edge-device-identity-<name>.key.pem

Oba tyto certifikáty potřebujete na IoT Edge zařízení. Pokud budete používat individuální registraci v DPS, nahrajete soubor .cert.pem. Pokud budete používat skupinovou registraci v DPS, potřebujete k nahrání také zprostředkující nebo kořenový certifikát certifikační autority ve stejném řetězu certifikátů. Pokud používáte ukázkové certifikáty, použijte <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem certifikát pro registraci skupiny.

Vytvoření registrace DPS

Vygenerované certifikáty a klíče použijte k vytvoření registrace v DPS pro jedno nebo více IoT Edge zařízení.

Pokud chcete zřídit jedno IoT Edge zařízení, vytvořte individuální registraci. Pokud potřebujete zřídit více zařízení, postupujte podle pokynů pro vytvoření registrace skupiny 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 tak, aby se zařízení seskupily podle libovolné metriky, kterou ve svém řešení potřebujete, 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

Jednotlivé registrace převezmou veřejnou část certifikátu identity zařízení a přiřaďte ji k certifikátu na zařízení.

Tip

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

  1. V Azure Portal přejděte do své instance služby IoT Hub zřizování zařízení.

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

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

    • Mechanismus: Vyberte X.509.

    • Soubor .pem nebo .cer primárního certifikátu: Nahrajte veřejný soubor z certifikátu identity zařízení. Pokud jste k vygenerování testovacího certifikátu použili skripty, zvolte následující soubor:

      <WRKDIR>\certs\iot-edge-device-identity-<name>.cert.pem

    • IoT Hub ID zařízení: Pokud chcete, zadejte ID 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 běžný název (CN) v certifikátu X.509.

    • IoT Edge zařízení: Vyberte True a deklarujte, že registrace je pro IoT Edge zařízení.

    • Vyberte IoT Huby, ke kterým může být toto zařízení přiřazeno: Zvolte propojené centrum IoT, ke kterému chcete zařízení připojit. Můžete zvolit více center a zařízení se přiřadí k jednomu z nich podle vybraných zásad přidělování.

    • Počáteční stav dvojčete zařízení: Pokud chcete, přidejte hodnotu značky, kterou chcete přidat do dvojčete zařízení. Značky můžete použít k cílení na skupiny zařízení pro automatické nasazení. Příklad:

      {
          "tags": {
             "environment": "test"
          },
          "properties": {
             "desired": {}
          }
      }
      
  4. Vyberte Uložit.

V části Spravovat registrace se zobrazí ID registrace pro registraci, kterou jste právě vytvořili. Poznamenejte si to, protože se dá použít při zřizování zařízení.

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

Instalace IoT Edge

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

Azure IoT Edge spoléhá na modul runtime kontejneru kompatibilní s OCI. Moby, modul založený na Moby, je součástí instalačního skriptu, což znamená, že k instalaci modulu nejsou žádné další kroky.

Instalace modulu runtime IoT Edge:

  1. Spusťte PowerShell jako správce.

    Použijte relaci AMD64 PowerShellu, ne PowerShellu(x86). Pokud si nejste jistí, jaký typ relace používáte, spusťte následující příkaz:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Spusťte příkaz Deploy-IoTEdge , který provede následující úlohy:

    • Zkontroluje, jestli je váš počítač s Windows v podporované verzi.
    • Zapne funkci kontejnerů.
    • Stáhne modul moby a modul runtime IoT Edge.
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Pokud se zobrazí výzva, restartujte zařízení.

Při instalaci IoT Edge na zařízení můžete použít další parametry k úpravě procesu, včetně:

  • Směrování provozu přes proxy server
  • Nasměrujte instalační program na místní adresář pro offline instalaci.

Další informace o těchto dalších parametrech najdete v tématu Skripty PowerShellu pro IoT Edge s kontejnery Windows.

Zřízení zařízení s jeho cloudovou identitou

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 Hub.

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

  • Hodnota Oboru ID SLUŽBY DPS. Tuto hodnotu můžete načíst ze stránky přehledu vaší instance SLUŽBY DPS v Azure Portal.
  • Soubor řetězu certifikátů identity zařízení na zařízení.
  • Soubor klíče identity zařízení na zařízení.
  1. Otevřete okno PowerShellu v režimu správce. Při instalaci IoT Edge, ne PowerShellu (x86) nezapomeňte použít relaci PowerShellu AMD64.

  2. Příkaz Initialize-IoTEdge nakonfiguruje modul runtime IoT Edge na vašem počítači. Příkaz ve výchozím nastavení používá ruční zřizování s kontejnery Windows, takže pomocí příznaku -DpsX509 použijte automatické zřizování s ověřováním certifikátu X.509.

    Zástupné hodnoty pro scope_id, identity cert chain patha identity key path nahraďte příslušnými hodnotami z vaší instance DPS a cestami k souborům na vašem zařízení.

    Přidejte parametr, -RegistrationId paste_registration_id_here pokud chcete nastavit ID zařízení jako něco jiného než název CN certifikátu identity.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -DpsX509 -ScopeId paste_scope_id_here -X509IdentityCertificate paste_identity_cert_chain_path_here -X509IdentityPrivateKey paste_identity_key_path_here
    

    Tip

    Konfigurační soubor ukládá informace o certifikátu a klíči jako identifikátory URI souboru. Příkaz Initialize-IoTEdge ale tento krok formátování zpracuje za vás, takže můžete zadat absolutní cestu k certifikátům a souborům klíčů na vašem zařízení.

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

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

Můžete ověřit, že se použila jednotlivá registrace, kterou jste vytvořili ve službě zřizování zařízení. V 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 je přiřazen stav registrace a id zařízení.

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

Zkontrolujte stav služby IoT Edge.

Get-Service iotedge

Prozkoumejte protokoly služby.

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

Vypíše spuštěné moduly.

iotedge list

Další kroky

Proces registrace služby zřizování zařízení 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í. Naučte se nasazovat a monitorovat moduly IoT Edge ve velkém měřítku pomocí Azure Portal nebo Azure CLI.