Vytvoření a zřízení IoT Edge pro Linux na zařízení s Windows pomocí certifikátů X.509
Platí pro: IoT Edge 1.5 IoT Edge 1.4
Důležité
Podporovanou verzí je IoT Edge 1.5 LTS. IoT Edge 1.4 LTS je konec životnosti od 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.
Tento článek obsahuje kompletní pokyny k registraci a zřízení IoT Edge pro Linux na zařízení s Windows.
Každé zařízení, které se připojuje k centru IoT, má ID zařízení, které se používá ke sledování komunikace typu cloud-zařízení nebo komunikace typu zařízení-cloud. Zařízení nakonfigurujete s informacemi o připojení, mezi které patří název hostitele centra IoT, ID zařízení a informace, které zařízení používá k ověření ve službě 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í ke svému centru IoT. Pro ruční zřizování máte dvě možnosti ověřování zařízení IoT Edge:
Symetrické klíče: Když ve službě IoT Hub vytvoříte novou identitu zařízení, služba vytvoří dva klíče. Umístíte na zařízení jeden z klíčů a při ověřování ho předá službě IoT Hub.
Tato metoda ověřování je rychlejší, než 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 do zařízení. Když ve službě IoT Hub vytvoříte novou identitu zařízení, poskytnete kryptografické otisky z obou certifikátů. Když se zařízení ověří ve službě 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 pro Linux na zařízení s Windows pomocí symetrických klíčů.
Poznámka:
Pokud máte mnoho zařízení k nastavení a nechcete je zřizovat ručně, pomocí jednoho z následujících článků se dozvíte, jak IoT Edge funguje se službou zřizování zařízení IoT Hub:
Požadavky
Tento článek popisuje registraci zařízení IoT Edge a instalaci IoT Edge pro Linux ve Windows. Tyto úlohy mají různé požadavky a nástroje, které je používají k jejich provedení. Než budete pokračovat, ujistěte se, že máte probírané všechny požadavky.
Nástroje pro správu zařízení
Postup registrace zařízení můžete provést pomocí webu Azure Portal, editoru Visual Studio Code nebo Azure CLI . Každý nástroj má vlastní požadavky nebo může být potřeba nainstalovat:
Bezplatné nebo standardní centrum IoT ve vašem předplatném Azure.
Požadavky na zařízení
Zařízení s Windows s následujícími minimálními požadavky:
Požadavky na systém
- Windows 101/11 (Pro, Enterprise, IoT Enterprise)
- Windows Server 20191/2022
1 Windows 10 a Windows Server 2019 minimálně build 17763 s nainstalovanými všemi aktuálními kumulativními aktualizacemi.
Požadavky na hardware
- Minimální volné paměti: 1 GB
- Minimální volné místo na disku: 10 GB
Podpora virtualizace
- Ve Windows 10 povolte Hyper-V. Další informace najdete v tématu Instalace Technologie Hyper-V ve Windows 10.
- Na Windows Serveru nainstalujte roli Hyper-V a vytvořte výchozí síťový přepínač. Další informace najdete v tématu Vnořené virtualizace pro Azure IoT Edge pro Linux ve Windows.
- Na virtuálním počítači nakonfigurujte vnořenou virtualizaci. Další informace najdete vnořenou virtualizaci.
Podpora sítí
- Windows Server nemá výchozí přepínač. Než budete moct nasadit EFLOW na zařízení s Windows Serverem, musíte vytvořit virtuální přepínač. Další informace najdete v tématu Vytvoření virtuálního přepínače pro Linux ve Windows.
- Desktopové verze Windows mají výchozí přepínač, který lze použít pro instalaci EFLOW. V případě potřeby můžete vytvořit vlastní virtuální přepínač.
Tip
Pokud chcete v nasazení Azure IoT Edge pro Linux ve Windows používat moduly s akcelerovanými gpu, zvažte několik možností konfigurace.
V závislosti na architektuře GPU budete muset nainstalovat správné ovladače a možná budete potřebovat přístup k sestavení programu Windows Insider. Pokud chcete určit potřeby konfigurace a splnit tyto požadavky, podívejte se na akceleraci GPU pro Azure IoT Edge pro Linux ve Windows.
Ujistěte se, že teď potřebujete čas, abyste splnili požadavky na akceleraci GPU. Pokud se rozhodnete, že chcete akceleraci GPU během instalace, budete muset restartovat proces instalace.
Nástroje pro vývojáře
Připravte cílové zařízení na instalaci Azure IoT Edge pro Linux ve Windows a nasazení virtuálního počítače s Linuxem:
Nastavte zásadu spouštění na cílovém zařízení na
AllSigned
hodnotu . Aktuální zásady spouštění můžete zkontrolovat na příkazovém řádku PowerShellu se zvýšenými oprávněními pomocí následujícího příkazu:Get-ExecutionPolicy -List
Pokud zásady provádění
local machine
nejsouAllSigned
, můžete nastavit zásady spuštění pomocí:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Další informace o modulu Azure IoT Edge pro Linux v prostředí Windows PowerShell najdete v referenčních informacích k funkcím PowerShellu.
Generování certifikátů identit zařízení
Ruční zřizování pomocí certifikátů X.509 vyžaduje IoT Edge verze 1.0.10 nebo novější.
Když zřídíte zařízení IoT Edge s certifikáty X.509, použijete to, čemu se říká certifikát identity zařízení. Tento certifikát se používá jenom ke zřízení zařízení IoT Edge a k ověřování zařízení pomocí Azure IoT Hubu. 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é zařízení IoT Edge prezentuje modulům nebo podřízeným zařízením pro ověření.
Pro ověřování certifikátů X.509 se ověřovací informace o jednotlivých zařízeních poskytují ve formě kryptografických otisků převzatých z certifikátů identity zařízení. Tyto kryptografické otisky se službě IoT Hub předávají v době registrace zařízení, aby služba při připojení zařízení rozpoznala zařízení.
Další informace o tom, jak se certifikáty certifikační autority používají v zařízeních IoT Edge, najdete v tématu Vysvětlení toho, jak Azure IoT Edge používá certifikáty.
K ručnímu zřizování v 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átech .cer nebo .pem. K obměně certifikátů potřebujete dva certifikáty identity zařízení. Osvědčeným postupem je připravit dva různé certifikáty identity zařízení s různými daty vypršení platnosti. Pokud vyprší platnost jednoho certifikátu, druhý je stále platný a máte čas otočit certifikát, jehož platnost vypršela.
Do modulu runtime IoT Edge je k dispozici jedna sada souborů certifikátů a klíčů. Při vytváření certifikátů identit 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í. IoT Hub vyžaduje při registraci zařízení IoT Edge dva kryptografické otisky. K registraci můžete použít jenom jeden certifikát. Pokud chcete použít jeden certifikát, nastavte stejný kryptografický otisk certifikátu pro primární i sekundární kryptografické otisky při registraci zařízení.
Hodnoty kryptografického otisku jsou 40 šestnáctkové znaky pro hodnoty hash SHA-1 nebo 64 šestnáctkové znaky pro hodnoty hash SHA-256. Oba kryptografické otisky jsou k dispozici službě IoT Hub v době registrace 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
Kryptografický otisk je součástí výstupu tohoto příkazu. Příklad:
SHA1 Fingerprint=D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12
Pokud nemáte k dispozici certifikáty, můžete vytvořit ukázkové certifikáty pro testování funkcí zařízení IoT Edge. Podle pokynů v tomto článku nastavte skripty pro vytváření certifikátů, vytvořte kořenový certifikát certifikační autority a vytvořte certifikát identity zařízení IoT Edge. Pro účely testování můžete vytvořit jeden certifikát identity zařízení a použít stejný kryptografický otisk pro primární i sekundární hodnoty kryptografického otisku při registraci zařízení ve službě IoT Hub.
Registrace zařízení
K registraci zařízení můžete použít Azure Portal, Visual Studio Code nebo Azure CLI v závislosti na vašich preferencích.
V centru IoT na webu Azure Portal se zařízení IoT Edge vytvářejí a spravují odděleně od zařízení IoT, která nejsou povolená hraniční zařízení.
Přihlaste se k webu Azure Portal a přejděte do centra IoT.
V levém podokně vyberte v nabídce zařízení a pak vyberte Přidat zařízení.
Na stránce Vytvořit zařízení zadejte následující informace:
- Vytvořte popisné ID zařízení. Poznamenejte si toto ID zařízení, jak ho použijete později.
- Zaškrtněte políčko Zařízení IoT Edge.
- 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é znaky pro hodnoty hash SHA-256. Azure Portal podporuje pouze šestnáctkové hodnoty. Před zadáním na portál odeberte oddělovače sloupců a mezery z hodnot kryptografického otisku. Například
D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12
je zadán jakoD268D9049F1A4D6AFD8477687BC633C032375112
.
Tip
Pokud testujete a chcete použít jeden certifikát, můžete použít stejný certifikát pro primární i sekundární kryptografické otisky.
Zvolte Uložit.
Teď, když máte zařízení zaregistrované ve službě IoT Hub, načtěte informace, které používáte 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í název centra IoT, název zařízení a soubory certifikátů k dokončení instalace a zřizování modulu runtime IoT Edge.
Hraniční zařízení, která se připojují k centru IoT, jsou uvedená na stránce Zařízení . Seznam můžete filtrovat podle typu zařízení IoT Edge.
Instalace IoT Edge
Nasaďte Azure IoT Edge pro Linux ve Windows na cílovém zařízení.
Poznámka:
Následující proces PowerShellu popisuje, jak nasadit IoT Edge pro Linux ve Windows na místní zařízení. Pokud chcete nasadit do vzdáleného cílového zařízení pomocí PowerShellu, můžete pomocí Vzdáleného PowerShellu navázat připojení ke vzdálenému zařízení a vzdáleně na daném zařízení spouštět tyto příkazy.
V relaci PowerShellu se zvýšenými oprávněními spusťte některý z následujících příkazů v závislosti na architektuře cílového zařízení a stáhněte si IoT Edge pro Linux ve Windows.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_ARM64" -OutFile $msiPath
Nainstalujte na zařízení IoT Edge pro Linux ve Windows.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Vlastní IoT Edge pro Linux můžete zadat v instalaci systému Windows a adresáře VHDX přidáním
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
parametrůVHDXDIR="<FULLY_QUALIFIED_PATH>"
do příkazu install. Pokud například chcete použít složku D:\EFLOW pro instalaci a D:\EFLOW-VHDX pro VHDX , můžete použít následující rutinu PowerShellu.Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
Nastavte zásadu spouštění na cílovém zařízení na
AllSigned
to, jestli ještě není. Projděte si požadavky PowerShellu pro příkazy, které kontrolují aktuální zásady spouštění a nastavují zásady spouštění naAllSigned
hodnotu .Vytvořte IoT Edge pro Linux v nasazení s Windows. Nasazení vytvoří virtuální počítač s Linuxem a nainstaluje za vás modul runtime IoT Edge.
Deploy-Eflow
Tip
Ve výchozím nastavení příkaz
Deploy-Eflow
vytvoří virtuální počítač s Linuxem s 1 GB paměti RAM, jádrem 1 vCPU a 16 GB místa na disku. Prostředky, které virtuální počítač potřebuje, jsou ale vysoce závislé na úlohách, které nasadíte. Pokud váš virtuální počítač nemá dostatek paměti pro podporu úloh, nepodaří se spustit.Dostupné prostředky virtuálního počítače můžete přizpůsobit pomocí
Deploy-Eflow
volitelných parametrů příkazu. To se vyžaduje k nasazení EFLOW na zařízení s minimálními požadavky na hardware.Následující příkaz například vytvoří virtuální počítač s jádrem 1 vCPU, 1 GB paměti RAM (reprezentovaným v MB) a 2 GB místa na disku:
Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2
Informace o všech dostupných volitelných parametrech najdete v tématu Funkce PowerShellu pro IoT Edge pro Linux ve Windows.
Upozorňující
Ve výchozím nastavení nemá virtuální počítač EFLOW s Linuxem žádnou konfiguraci DNS. Nasazení používající protokol DHCP se pokusí získat konfiguraci DNS šířenou serverem DHCP. Zkontrolujte konfiguraci DNS a ujistěte se, že máte připojení k internetu. Další informace najdete v tématu AzEFLOW-DNS.
Ke svému nasazení můžete přiřadit GPU, abyste povolili moduly s akcelerovanými GPU pro Linux. Pokud chcete získat přístup k těmto funkcím, musíte nainstalovat požadavky podrobně popsané v akceleraci GPU pro Azure IoT Edge pro Linux ve Windows.
Pokud chcete použít průchod GPU, přidejte do příkazu
Deploy-Eflow
parametry gpuName, gpuPassthroughType a gpuCount. Informace o všech dostupných volitelných parametrech najdete v tématu Funkce PowerShellu pro IoT Edge pro Linux ve Windows.Upozorňující
Povolení průchodu hardwarovým zařízením může zvýšit bezpečnostní rizika. Microsoft doporučuje ovladač pro zmírnění rizik zařízení od dodavatele GPU, pokud je to možné. Další informace naleznete v tématu Nasazení grafických zařízení pomocí samostatného přiřazení zařízení.
Zadejte Y a přijměte licenční podmínky.
Pokud chcete v závislosti na předvolbách zapnout nebo vypnout volitelná diagnostická data , zadejte O nebo R.
Po dokončení nasazení se v okně PowerShellu zobrazí zpráva o úspěšném nasazení.
Po úspěšném nasazení můžete zařízení zřídit.
Zřízení zařízení s využitím cloudové identity
Jste připraveni nastavit zařízení s jeho cloudovou identitou a ověřovacími informacemi.
Pokud chcete zřídit zařízení pomocí certifikátů X.509, potřebujete název centra IoT, ID zařízení a absolutní cesty k certifikátu identity a privátnímu klíči na hostitelském počítači s Windows.
Na cílovém zařízení připravte certifikát identity zařízení a odpovídající privátní klíč. Znát absolutní cestu k oběma souborům.
V relaci PowerShellu se zvýšenými oprávněními na cílovém zařízení spusťte následující příkaz. Zástupný text nahraďte vlastními hodnotami.
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"
Další informace o příkazu najdete v tématu Funkce PowerShellu Provision-EflowVM
pro IoT Edge pro Linux ve Windows.
Ověření úspěšné konfigurace
Ověřte, že se ioT Edge pro Linux ve Windows úspěšně nainstaloval a nakonfiguroval na zařízení IoT Edge.
Přihlaste se k ioT Edge pro Linux na virtuálním počítači s Windows pomocí následujícího příkazu v relaci PowerShellu:
Connect-EflowVm
Poznámka:
Jediným účtem povoleným SSH k virtuálnímu počítači je uživatel, který ho vytvořil.
Po přihlášení můžete pomocí následujícího příkazu Linuxu zkontrolovat seznam spuštěných modulů IoT Edge:
sudo iotedge list
Pokud potřebujete řešit potíže se službou IoT Edge, použijte následující linuxové příkazy.
Načtěte protokoly služby.
sudo iotedge system logs
check
Pomocí nástroje ověřte konfiguraci a stav připojení zařízení.sudo iotedge check
Poznámka:
Na nově zřízeném zařízení se může zobrazit chyba související se službou IoT Edge Hub:
× provozní připravenosti: Adresář úložiště Edge Hubu je trvalý v systému souborů hostitele – chyba
Nepodařilo se zkontrolovat aktuální stav kontejneru EdgeHub.
Tato chyba se očekává na nově zřízeném zařízení, protože modul IoT Edge Hub není spuštěný. Pokud chcete tuto chybu vyřešit, nastavte v IoT Hubu moduly pro zařízení a vytvořte nasazení. Vytvoření nasazení pro zařízení spustí moduly na zařízení, včetně modulu IoT Edge Hubu.
Když vytvoříte nové zařízení IoT Edge, zobrazí se na webu Azure Portal stavový kód 417 -- The device's deployment configuration is not set
. Tento stav je normální a znamená, že zařízení je připravené přijmout nasazení modulu.
Odinstalace IoT Edge pro Linux ve Windows
Pokud chcete ze zařízení odebrat instalaci Azure IoT Edge pro Linux ve Windows, použijte následující příkazy.
- Otevřít nastavení ve Windows
- Vyberte Přidat nebo odebrat programy.
- Výběr aplikace Azure IoT Edge
- Vyberte Odinstalovat.
Další kroky
- Pokračujte v nasazování modulů IoT Edge a zjistěte, jak do zařízení nasadit moduly.
- Zjistěte, jak spravovat certifikáty ve službě IoT Edge pro Linux na virtuálním počítači s Windows a přenášet soubory z hostitelského operačního systému do virtuálního počítače s Linuxem.
- Zjistěte, jak nakonfigurovat zařízení IoT Edge tak, aby komunikovali přes proxy server.