Konfigurace zařízení IoT Edge tak, aby fungovalo jako transparentní brána
Platí pro:
IoT Edge 1,1 jiných verzí: IoT Edge 1,2
Platí pro:
IoT Edge 1,2 jiných verzí: IoT Edge 1,1
Tento článek obsahuje podrobné pokyny ke konfiguraci IoT Edge zařízení tak, aby fungovalo jako transparentní brána pro ostatní zařízení pro komunikaci s IoT Hub. Tento článek používá pojem IoT Edge gateway k odkazování na IoT Edge zařízení nakonfigurované jako transparentní brána. Další informace najdete v tématu How an IoT Edge device can be used as a gateway.
Poznámka
Ve IoT Edge verze 1.1 a starší IoT Edge zařízení nesmí být podřízené bráně IoT Edge brány.
Podřízené zařízení nemůže používat nahrávání souborů.
Poznámka
Podřízené zařízení nemůže používat nahrávání souborů.
Úspěšné transparentní připojení brány můžete nastavit ve třech obecných krocích. Tento článek popisuje první krok:
- Nakonfigurujte zařízení brány jako server tak, aby se k ní podřízené zařízení mohli bezpečně připojit. Nastavte bránu tak, aby přijímala zprávy z podřízeného zařízení a směruje je do správného cíle.
- Vytvořte identitu zařízení pro podřízené zařízení, aby se bylo možné ověřit pomocí IoT Hub. Nakonfigurujte podřízené zařízení tak, aby odesílal zprávy přes zařízení brány. Tyto kroky najdete v tématu Ověření podřízeného zařízení pro Azure IoT Hub.
- Připojení podřízeného zařízení do zařízení brány a začněte odesílat zprávy. Tyto kroky najdete v tématu Připojení připojení podřízeného zařízení k Azure IoT Edge bráně.
Aby zařízení fungovat jako brána, musí se bezpečně připojit ke svým následným zařízením. Azure IoT Edge umožňuje používat infrastrukturu veřejných klíčů (PKI) k nastavení zabezpečených připojení mezi zařízeními. V tomto případě umožňujeme podřízenému zařízení připojit se k IoT Edge zařízení, které slouží jako transparentní brána. Aby se zachovalo přiměřené zabezpečení, podřízené zařízení by mělo potvrdit identitu zařízení brány. Tato kontrola identity brání zařízením v připojení k potenciálně škodlivým bránám.
Podřízené zařízení může být libovolná aplikace nebo platforma, která má identitu vytvořenou pomocí Azure IoT Hub služby. Tyto aplikace často používají sadu SDK pro zařízení Azure IoT. Podřízené zařízení může být dokonce aplikace spuštěná v samotném IoT Edge brány. Zařízení s IoT Edge ale nemůže být podřízené bráně IoT Edge dat.
Podřízené zařízení může být libovolná aplikace nebo platforma, která má identitu vytvořenou pomocí Azure IoT Hub služby. Tyto aplikace často používají sadu SDK pro zařízení Azure IoT. Podřízené zařízení může být dokonce aplikace spuštěná v samotném IoT Edge brány.
Můžete vytvořit libovolnou infrastrukturu certifikátů, která povolí vztah důvěryhodnosti vyžadované pro topologii brány zařízení. V tomto článku předpokládáme stejné nastavení certifikátu, které použijete k povolení zabezpečení certifikační autority X.509 v IoT Hub, což zahrnuje certifikát certifikační autority X.509 přidružený ke konkrétnímu centru IoT (kořenová certifikační autorita IoT Hubu), řadu certifikátů podepsaných touto certifikační autoritou a certifikační autoritu pro IoT Edge zařízení.
Poznámka
Pojem certifikát kořenové certifikační autority používaný v těchto článcích odkazuje na veřejný certifikát nejvyšší autority v řetězu certifikátů PKI, a ne nutně na kořenový certifikát syndikované certifikační autority. V mnoha případech se ve skutečnosti jedná o veřejný certifikát zprostředkující certifikační autority.
Následující postup vás provede procesem vytvoření certifikátů a jejich instalace na správných místech v bráně. Certifikáty můžete vygenerovat na libovolném počítači a pak je zkopírovat do IoT Edge zařízení.
Požadavky
Linux nebo Windows zařízení s IoT Edge systémem.
Pokud nemáte zařízení připravené, můžete ho vytvořit na virtuálním počítači Azure. Postupujte podle kroků v tématu Nasazení prvního modulu IoT Edge na virtuální zařízení s Linuxem a vytvořte IoT Hub, vytvořte virtuální počítač a nakonfigurujte IoT Edge runtime.
Nastavení certifikátu certifikační autority zařízení
Všechny IoT Edge musí mít nainstalovaný certifikát CA zařízení. Proces démon IoT Edge zabezpečení používá certifikát CA zařízení IoT Edge k podepsání certifikátu certifikační autority úlohy, který pak podepíše certifikát serveru pro IoT Edge centrum. Brána během inicializace připojení prezentuje svůj certifikát serveru podřízenému zařízení. Podřízené zařízení zkontroluje, zda je certifikát serveru součástí řetězu certifikátů, který se zakřesuje do certifikátu kořenové certifikační autority. Tento proces umožňuje podřízenému zařízení potvrdit, že brána pochází z důvěryhodného zdroje. Další informace najdete v tématu Principy, jak Azure IoT Edge certifikáty.

Kořenový certifikát certifikační autority a certifikát certifikační autority zařízení (s jeho privátním klíčem) musí být v zařízení brány IoT Edge a musí být nakonfigurované v konfiguračním IoT Edge zařízení. Nezapomeňte, že v tomto případě certifikát kořenové certifikační autority znamená nejvyšší certifikační autoritu pro tento IoT Edge scénář. Certifikát ca zařízení brány a certifikáty podřízeného zařízení musí být zahrnuty do stejného certifikátu kořenové certifikační autority.
Tip
Proces instalace certifikátu kořenové certifikační autority a certifikátu CA zařízení na zařízení IoT Edge je podrobněji vysvětlen také v tématu Správa certifikátů v IoT Edge zařízení.
Připravte si následující soubory:
- Certifikát kořenové certifikační autority
- Certifikát certifikační autority zařízení
- Privátní klíč certifikační autority zařízení
V produkčních scénářích byste měli tyto soubory vygenerovat s vlastní certifikační autoritou. Pro vývojové a testovací scénáře můžete použít ukázkové certifikáty.
Pokud nemáte vlastní certifikační autoritu a chcete použít ukázkové certifikáty, postupujte podle pokynů v tématu Vytvoření ukázkových certifikátů a otestujte IoT Edge zařízení a vytvořte soubory. Na této stránce musíte provést následující kroky:
- Začněte tím, že nastavíte skripty pro generování certifikátů na vašem zařízení.
- Vytvořte certifikát kořenové certifikační autority. Na konci těchto pokynů budete mít soubor certifikátu kořenové certifikační autority:
<path>/certs/azure-iot-test-only.root.ca.cert.pem.
- Vytvořte IoT Edge certifikační autority zařízení. Na konci těchto pokynů budete mít certifikát ca zařízení a jeho privátní klíč:
<path>/certs/iot-edge-device-<cert name>-full-chain.cert.pemA<path>/private/iot-edge-device-<cert name>.key.pem
Pokud jste certifikáty vytvořili na jiném počítači, zkopírujte je do svého IoT Edge zařízení a pak pokračujte následujícími kroky.
Na svém IoT Edge otevřete konfigurační soubor démona zabezpečení.
- Windows:
C:\ProgramData\iotedge\config.yaml - Linux:
/etc/iotedge/config.yaml
- Windows:
Vyhledejte v souboru část Nastavení certifikátu. Odkomentování čtyř řádků začínajících certifikáty: a zadejte identifikátory URI souborů ke třem souborům jako hodnoty pro následující vlastnosti:
- device_ca_cert: Certifikát certifikační autority zařízení
- device_ca_pk: Privátní klíč certifikační autority zařízení
- trusted_ca_certs: Certifikát kořenové certifikační autority
Ujistěte se, že na řádku certificates: nejsou žádné mezery a že ostatní řádky jsou odsazené dvěma mezerami.
Uložte soubor a zavřete ho.
Restartujte IoT Edge.
- Windows:
Restart-Service iotedge - Linux:
sudo systemctl restart iotedge
- Windows:
Na svém IoT Edge otevřete konfigurační soubor:
/etc/aziot/config.tomlTip
Pokud konfigurační soubor na vašem zařízení ještě neexistuje, vytvořte ho pomocí
/etc/aziot/config.toml.edge.templatešablony.Vyhledejte
trust_bundle_certparametr . Odkomentování tohoto řádku a poskytnutí identifikátoru URI souboru do souboru certifikátu kořenové certifikační autority na vašem zařízení.Vyhledejte
[edge_ca]část souboru . Odkomentování tří řádků v této části a poskytnutí identifikátorů URI souborů certifikátu a souborů klíčů jako hodnot pro následující vlastnosti:- cert: certifikát certifikační autority zařízení
- pk: privátní klíč certifikační autority zařízení
Uložte soubor a zavřete ho.
Provedené změny použijte.
sudo iotedge config apply
Nasazení edgeHubu a směrování zpráv
Podřízené zařízení odesílat telemetrii a zprávy do zařízení brány, kde modul IoT Edge Hub zodpovídá za směrování informací do jiných modulů nebo do IoT Hub. Pokud chcete připravit zařízení brány na tuto funkci, ujistěte se, že:
Modul IoT Edge Hub se nasadí do zařízení.
Při první instalaci IoT Edge na zařízení se automaticky spustí pouze jeden systémový modul: IoT Edge agent. Jakmile vytvoříte první nasazení zařízení, spustí se také druhý systémový modul, IoT Edge hub. Pokud na vašem zařízení není spuštěný modul edgeHub, vytvořte pro své zařízení nasazení.
Modul IoT Edge Hub má nastavené trasy pro zpracování příchozích zpráv z podřízeného zařízení.
Zařízení brány musí mít trasu pro zpracování zpráv z podřízeného zařízení, jinak se tyto zprávy nezpracují. Zprávy můžete odesílat do modulů na zařízení brány nebo přímo do IoT Hub.
Pokud chcete nasadit modul IoT Edge Hub a nakonfigurovat ho pomocí tras pro zpracování příchozích zpráv z podřízeného zařízení, postupujte takto:
Na webu Azure Portal přejděte do svého centra IoT.
Přejděte na IoT Edge a vyberte své IoT Edge, které chcete použít jako bránu.
Vyberte Nastavit moduly.
Na stránce Moduly můžete do zařízení brány přidat libovolné moduly, které chcete nasadit. Pro účely tohoto článku se zaměřujeme na konfiguraci a nasazení modulu edgeHub, který není potřeba explicitně na této stránce nastavovat.
Vyberte Další: Trasy.
Na stránce Trasy se ujistěte, že existuje trasa pro zpracování zpráv přicházejících z podřízeného zařízení. Příklad:
Trasa, která odesílá všechny zprávy, ať už z modulu nebo z podřízeného zařízení, do IoT Hub:
- Name (Název):
allMessagesToHub - Hodnota:
FROM /messages/* INTO $upstream
- Name (Název):
Trasa, která odesílá všechny zprávy ze všech podřízeného zařízení do IoT Hub:
- Name (Název):
allDownstreamToHub - Hodnota:
FROM /messages/* WHERE NOT IS_DEFINED ($connectionModuleId) INTO $upstream
Tato trasa funguje, protože na rozdíl od IoT Edge modulů nemají zprávy z podřízeného zařízení přidružené ID modulu. Použití klauzule WHERE trasy nám umožňuje odfiltrovat všechny zprávy s vlastností tohoto systému.
Další informace o směrování zpráv najdete v tématu Nasazení modulů a vytvoření tras.
- Name (Název):
Po vytvoření trasy vyberte Zkontrolovat a vytvořit.
Na stránce Zkontrolovat a vytvořit vyberte Vytvořit.
Otevření portů na zařízení brány
Standardní IoT Edge zařízení k funkci nepožádá žádné příchozí připojení, protože veškerá komunikace s IoT Hub se provádí prostřednictvím odchozích připojení. Zařízení brány se liší, protože potřebují přijímat zprávy ze svých podřízeného zařízení. Pokud je brána firewall mezi zařízeními podřízeného serveru a zařízením brány, musí být přes bránu firewall možná i komunikace.
Aby scénář brány fungoval, alespoň jeden z podporovaných protokolů IoT Edge musí být otevřený pro příchozí provoz z podřízeného zařízení. Podporované protokoly jsou MQTT, AMQP, HTTPS, MQTT přes WebSockets a AMQP přes WebSockets.
| Port | Protokol |
|---|---|
| 8883 | MQTT |
| 5671 | AMQP |
| 443 | HTTPS MQTT+WS AMQP+WS |
Další kroky
Teď, když máte IoT Edge zařízení nastavené jako transparentní bránu, musíte nakonfigurovat podřízené zařízení tak, aby důvěřování bráně a odesílala do ní zprávy. Pokračujte k části Ověření podřízeného zařízení a Azure IoT Hub další kroky při nastavování scénáře transparentní brány.