Vytvoření a zřízení IoT Edge zařízení 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 registraci a zřízení zařízení s Windows IoT Edge.

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.

Každé zařízení, které se připojuje ke službě IoT Hub, má ID zařízení, které se používá ke sledování komunikace mezi cloudem a zařízením nebo mezi zařízeními. Nakonfigurujete zařízení s informacemi o připojení, mezi které patří název hostitele služby IoT Hub, ID zařízení a informace, které zařízení používá k ověření pro IoT Hub.

Kroky v tomto článku vás provedou procesem označovaným jako ruční zřizování, kdy připojíte jedno zařízení k jeho centru IoT. Pro ruční zřizování máte dvě možnosti ověřování IoT Edge zařízení:

  • Symetrické klíče: Když v IoT Hub vytvoříte novou identitu zařízení, služba vytvoří dva klíče. Jeden z klíčů umístíte na zařízení a při ověřování se zobrazí klíč, který IoT Hub.

    Tato metoda ověřování se dá rychleji začít, ale není tak zabezpečená.

  • X.509 podepsané svým držitelem: Vytvoříte dva certifikáty identity X.509 a umístíte je na zařízení. Když v IoT Hub vytvoříte novou identitu zařízení, poskytnete kryptografické otisky z obou certifikátů. Když se zařízení ověří ve IoT Hub, zobrazí jeden certifikát a IoT Hub ověří, že certifikát odpovídá jeho kryptografickému otisku.

    Tato metoda ověřování je bezpečnější a doporučuje se pro produkční scénáře.

Tento článek popisuje použití certifikátů X.509 jako metody ověřování. Pokud chcete použít symetrické klíče, přečtěte si téma Vytvoření a zřízení IoT Edge zařízení ve Windows pomocí symetrických klíčů.

Poznámka

Pokud je potřeba nastavit mnoho zařízení a nechcete je zřizovat ručně, v jednom z následujících článků se dozvíte, jak IoT Edge funguje se službou IoT Hub zřizování zařízení:

Požadavky

Tento článek popisuje registraci zařízení IoT Edge a instalaci IoT Edge na něj. Tyto úlohy mají různé požadavky a nástroje, které se k jejich provádění používají. Než budete pokračovat, ujistěte se, že máte splněné všechny požadavky.

Nástroje pro správu zařízení

Pro postup registrace zařízení můžete použít Azure Portal, Visual Studio Code nebo Azure CLI. Každý nástroj má své vlastní požadavky:

Bezplatné nebo standardní centrum IoT ve vašem předplatném Azure.

Požadavky na zařízení

Zařízení s Windows.

IoT Edge s kontejnery Windows vyžaduje Windows verze 1809/build 17763, což je nejnovější build dlouhodobé podpory Windows. Seznam podporovaných skladových položek najdete v seznamu podporovaných systémů .

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

Ruční zřizování s certifikáty X.509 vyžaduje IoT Edge verze 1.0.10 nebo novější.

Když zřídíte IoT Edge zařízení s certifikáty X.509, použijete tzv. certifikát identity zařízení. Tento certifikát se používá pouze ke zřízení zařízení IoT Edge a ověřování zařízení pomocí Azure IoT Hub. Jedná se o listový certifikát, který nepodepisuje jiné certifikáty. Certifikát identity zařízení je oddělený od certifikátů certifikační autority (CA), které IoT Edge zařízení předkládá modulům nebo podřízeným zařízením k ověření.

Pro ověřování certifikátů X.509 jsou ověřovací informace o každém zařízení poskytovány ve formě kryptografických otisků převzatých z certifikátů identity zařízení. Tyto kryptografické otisky se předávají IoT Hub v době registrace zařízení, aby služba při připojení zařízení rozpoznala.

Další informace o tom, jak se certifikáty certifikační autority používají v IoT Edge zařízeních, najdete v tématu Vysvětlení, jak Azure IoT Edge používá certifikáty.

Pro ruční zřizování s X.509 potřebujete následující soubory:

  • Dva certifikáty identity zařízení s odpovídajícími certifikáty privátního klíče ve formátu .cer nebo .pem

    Modul runtime IoT Edge poskytuje jednu sadu souborů certifikátů nebo klíčů. Při vytváření certifikátů identity zařízení nastavte běžný název certifikátu (CN) s ID zařízení, které má mít zařízení ve vašem centru IoT.

  • Kryptografické otisky převzaté z obou certifikátů identity zařízení.

    Hodnoty kryptografického otisku jsou 40 šestnáctkové znaky pro hodnoty hash SHA-1 nebo 64 šestnáctkových znaků pro hodnoty hash SHA-256. Oba kryptografické otisky jsou k dispozici pro IoT Hub v době registrace zařízení.

Pokud nemáte k dispozici certifikáty, můžete vytvořit ukázkové certifikáty pro testování IoT Edge funkcí zařízení. Podle pokynů v tomto článku nastavte skripty pro vytváření certifikátů, vytvořte certifikát kořenové certifikační autority a pak vytvořte dva IoT Edge certifikátů identity zařízení.

Jedním ze způsobů, jak načíst kryptografický otisk z certifikátu, je následující příkaz openssl:

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

Registrace zařízení

V závislosti na vašich preferencích můžete k registraci zařízení použít Azure Portal, Visual Studio Code nebo Azure CLI.

Ve službě IoT Hub v Azure Portal se IoT Edge zařízení vytvářejí a spravují odděleně od zařízení IoT, která nemají povolenou hraniční zařízení.

  1. Přihlaste se k Azure Portal a přejděte do centra IoT.

  2. V levém podokně vyberte v nabídce Zařízení a pak vyberte Přidat zařízení.

  3. Na stránce Vytvořit zařízení zadejte následující informace:

    • Vytvořte popisné ID zařízení. Poznamenejte si toto ID zařízení, protože ho použijete později.
    • Zaškrtněte políčko IoT Edge Zařízení.
    • Jako typ ověřování vyberte X.509 Podepsaný svým držitelem.
    • Zadejte kryptografické otisky primárního a sekundárního certifikátu identity. Hodnoty kryptografického otisku jsou 40 šestnáctkové znaky pro hodnoty hash SHA-1 nebo 64 šestnáctkových znaků pro hodnoty hash SHA-256.
  4. Vyberte Uložit.

Teď, když máte zařízení zaregistrované v IoT Hub, načtěte informace, které použijete k dokončení instalace a zřizování modulu runtime IoT Edge.

Zobrazení registrovaných zařízení a načtení informací o zřizování

Zařízení, která používají ověřování certifikátů X.509, potřebují k dokončení instalace a zřizování modulu runtime IoT Edge svůj název služby IoT Hub, název zařízení a soubory certifikátů.

Zařízení s podporou hraničních zařízení, která se připojují k vašemu centru IoT, jsou uvedená na stránce Zařízení . Seznam můžete filtrovat podle typu Zařízení Iot Edge.

Snímek obrazovky s postupem zobrazení všech IoT Edge zařízení ve službě IoT Hub

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

Teď, když máte na zařízení nainstalovaný modul kontejneru a modul runtime IoT Edge, jste připraveni na další krok, kterým je nastavení zařízení s jeho cloudovou identitou a ověřovacími informacemi.

  1. Na IoT Edge zařízení spusťte PowerShell jako správce.

  2. Pomocí příkazu Initialize-IoTEdge na počítači nakonfigurujte modul runtime IoT Edge.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualX509
    
    • Pokud jste si do zařízení stáhli skript IoTEdgeSecurityDaemon.ps1 pro offline instalaci nebo konkrétní verzi, nezapomeňte odkazovat na místní kopii skriptu.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualX509
      
  3. Po zobrazení výzvy zadejte tyto informace:

    • IotHubHostName: Název hostitele centra IoT, ke kterému se zařízení připojí. Například, {IoT_hub_name}.azure-devices.net.
    • DeviceId: ID, které jste zadali při registraci zařízení.
    • X509IdentityCertificate: Absolutní cesta k certifikátu identity v zařízení. Například, C:\path\identity_certificate.pem.
    • X509IdentityPrivateKey: Absolutní cesta k souboru soukromého klíče pro zadaný certifikát identity. Například, C:\path\identity_key.pem.

Když zařízení zřídíte ručně, můžete k úpravě procesu použít další parametry, včetně následujících:

  • Směrování provozu přes proxy server
  • Deklarujte konkrétní image kontejneru edgeAgent a zadejte přihlašovací údaje, pokud je v privátním registru.

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


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

Ověřte, že se modul runtime úspěšně nainstaloval a nakonfiguroval na IoT Edge zařízení.

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

Offline nebo konkrétní instalace verze (volitelné)

Kroky v této části jsou určené pro scénáře, které standardní kroky instalace nepokrývají. To může zahrnovat:

  • Instalace IoT Edge offline
  • Instalace verze s kandidátem na vydání
  • Instalace jiné než nejnovější verze

Během instalace se stáhnou tři soubory:

  • Skript PowerShellu, který obsahuje pokyny k instalaci
  • Microsoft Azure IoT Edge cab, který obsahuje IoT Edge démon zabezpečení (iotedged), kontejnerový modul Moby a rozhraní příkazového řádku Moby
  • Instalační program distribuovatelného balíčku Visual C++ (modul runtime VC)

Pokud bude vaše zařízení během instalace offline nebo pokud chcete nainstalovat konkrétní verzi IoT Edge, můžete si tyto soubory do zařízení stáhnout předem. Když je čas na instalaci, nasměrujte instalační skript na adresář, který obsahuje stažené soubory. Instalační program nejprve tento adresář zkontroluje a pak stáhne jenom součásti, které se nenašly. Pokud jsou všechny soubory dostupné offline, můžete je nainstalovat bez připojení k internetu.

  1. Nejnovější instalační soubory IoT Edge spolu s předchozími verzemi najdete v tématu Verze azure IoT Edge.

  2. Najděte verzi, kterou chcete nainstalovat, a stáhněte si do zařízení IoT následující soubory z části Prostředky v poznámkách k verzi:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab z kanálu verze 1.1.

    Je důležité použít skript PowerShellu ze stejné verze jako soubor .cab, který používáte, protože funkce se mění tak, aby podporovaly funkce v jednotlivých verzích.

  3. Pokud má stažený .cab soubor příponu architektury, přejmenujte ho na Microsoft-Azure-IoTEdge.cab.

  4. Volitelně si můžete stáhnout instalační program pro distribuovatelné visual C++. Například skript PowerShellu používá tuto verzi: vc_redist.x64.exe. Uložte instalační program do stejné složky na vašem zařízení IoT jako soubory IoT Edge.

  5. Pokud chcete provést instalaci s offline komponentami, dot od zdrojového kódu z místní kopie skriptu PowerShellu.

  6. Spusťte příkaz Deploy-IoTEdge s parametrem -OfflineInstallationPath . Zadejte absolutní cestu k adresáři souborů. Třeba

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

    Příkaz nasazení použije všechny komponenty, které najdete v místním adresáři souborů. Pokud chybí soubor .cab nebo instalační program visual C++, pokusí se je stáhnout.

Odinstalace IoT Edge

Pokud chcete odebrat instalaci IoT Edge ze zařízení s Windows, použijte příkaz Uninstall-IoTEdge z okna PowerShellu pro správu. Tento příkaz odebere modul runtime IoT Edge spolu s vaší stávající konfigurací a daty modulu Moby.

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

Další informace o možnostech odinstalace potřebujete pomocí příkazu Get-Help Uninstall-IoTEdge -full.

Další kroky

Pokračujte v nasazování modulů IoT Edge, abyste se dozvěděli, jak nasazovat moduly do zařízení.