Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
IoT Edge 1.5
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.
Ve scénáři transparentní brány potřebují podřízená zařízení, nazývaná někdy jako dětská zařízení, identity ve službě IoT Hub stejně jako každé jiné zařízení. Tento článek vysvětluje možnosti ověřování podřízeného zařízení ve službě IoT Hub a ukazuje, jak deklarovat připojení brány.
Poznámka:
Podřízené zařízení odesílá data přímo do internetu nebo do zařízení brány bez ohledu na to, jestli jsou zařízení IoT Edge povolená, nebo ne. Podřízené zařízení může být podřízené zařízení nebo zařízení brány v vnořené topologii.
Existují tři obecné kroky k nastavení úspěšného transparentního připojení brány. Tento článek se věnuje druhému kroku:
- Nakonfigurujte zařízení brány jako server, aby se k němu podřízená zařízení mohly bezpečně připojit. Nastavte bránu tak, aby přijímala zprávy z podřízených zařízení a směrovala je do správného cíle. Tyto kroky najdete v tématu Konfigurace zařízení IoT Edge tak, aby fungovalo jako transparentní brána.
- Vytvořte identitu zařízení pro podřízené zařízení, aby se mohl ověřit ve službě IoT Hub. Nakonfigurujte podřízené zařízení tak, aby odesílala zprávy přes zařízení brány.
- Připojte podřízené zařízení k zařízení brány a začněte odesílat zprávy. Tyto kroky najdete v tématu Připojení podřízeného zařízení k bráně Azure IoT Edge.
Podřízená zařízení se můžou ověřovat ve službě IoT Hub pomocí jedné ze tří metod: symetrických klíčů (někdy označovaných jako sdílené přístupové klíče), certifikátů podepsaných svým držitelem (X.509) nebo certifikátů podepsaných certifikační autoritou (CA) X.509. Postup ověřování je podobný těm, které se používají k nastavení jakéhokoli zařízení, které není IoT Edge, se službou IoT Hub, s malými rozdíly pro vyjádření vztahu s bránou.
Automatické zřizování podřízených zařízení pomocí služby Azure IoT Hub Device Provisioning Service (DPS) se nepodporuje.
Požadavky
Dokončete kroky v části Konfigurace zařízení IoT Edge tak, aby fungovalo jako transparentní brána.
Pokud používáte ověřování X.509, vygenerujte certifikáty pro podřízené zařízení. Ujistěte se, že máte stejný kořenový certifikát certifikační autority a skript, který generuje certifikát, který jste použili v článku transparentní brány.
Tento článek odkazuje na název hostitele brány v několika bodech. Název hostitele brány je nastavený v parametru názvu hostitele konfiguračního souboru na zařízení brány IoT Edge. Používá se také v připojovacím řetězci podřízeného zařízení. Název hostitele brány se musí přeložit na IP adresu pomocí DNS nebo záznamu v souboru hosts na downstream zařízení.
Registrace zařízení ve službě IoT Hub
Zvolte, jak se má podřízené zařízení ověřovat ve službě IoT Hub:
Ověřování symetrického klíče: IoT Hub vytvoří klíč, který umístíte na podřízené zařízení. Když se zařízení ověří, IoT Hub zkontroluje, že se oba klíče shodují. Pro použití ověřování symetrickým klíčem nemusíte vytvářet další certifikáty.
Tato metoda je rychlejší, pokud testujete brány ve vývojovém nebo testovacím scénáři.
Ověřování podepsané svým držitelem X.509: Někdy se označuje jako ověřování kryptografického otisku, protože sdílíte kryptografický otisk z certifikátu X.509 zařízení se službou IoT Hub.
Ověřování certifikátů se doporučuje pro zařízení v produkčních scénářích.
Ověřování podepsané certifikační autoritou X.509: Nahrajte kořenový certifikát certifikační autority do služby IoT Hub. Když zařízení předkládají certifikát X.509 pro ověřování, IoT Hub zkontroluje, že patří do řetězu důvěryhodnosti podepsaného stejným kořenovým certifikátem certifikační autority.
Ověřování certifikátů se doporučuje pro zařízení v produkčních scénářích.
Ověřování symetrickým klíčem
Ověřování symetrického klíče nebo ověřování pomocí sdíleného přístupového klíče je nejjednodušší způsob, jak se ověřit ve službě IoT Hub. S ověřováním symetrického klíče je klíč base64 přidružený k VAŠEMu ID zařízení IoT ve službě IoT Hub. Tento klíč zahrnete do aplikací IoT, aby ho vaše zařízení mohlo prezentovat při připojení ke službě IoT Hub.
Přidejte do služby IoT Hub nové zařízení IoT pomocí webu Azure Portal, Azure CLI nebo rozšíření IoT pro Visual Studio Code. Mějte na paměti, že podřízená zařízení musí být v IoT Hubu identifikována jako běžná zařízení IoT, ne jako zařízení IoT Edge.
Při vytváření nové identity zařízení zadejte následující informace:
Vytvořte ID pro vaše zařízení.
Jako typ ověřování vyberte symetrický klíč .
Vyberte Nastavit nadřazené zařízení a vyberte zařízení brány IoT Edge, přes které se toto podřízené zařízení připojuje. Nadřazený objekt můžete kdykoli později změnit.
Poznámka:
Nastavení nadřazeného zařízení jako volitelného kroku pro podřízená zařízení, která používají ověřování symetrickým klíčem Od IoT Edge verze 1.1.0 ale musí být každé podřízené zařízení přiřazeno nadřazené zařízení.
Centrum IoT Edge můžete nakonfigurovat tak, aby se vrátilo k předchozímu chování nastavením proměnné prostředí AuthenticationMode na hodnotu CloudAndScope.
K dokončení stejné operace můžete také použít rozšíření IoT pro Azure CLI . Následující příklad pomocí příkazu az iot hub device-identity vytvoří nové zařízení IoT s ověřováním symetrického klíče a přiřadí nadřazené zařízení:
az iot hub device-identity create -n {iothub name} -d {new device ID} --device-scope {deviceScope of parent device}
Návod
Můžete zobrazit seznam vlastností zařízení, včetně rozsahu zařízení pomocí az iot hub device-identity list --hub-name {iothub name}.
Dále načtěte a upravte připojovací řetězec tak, aby se vaše zařízení vědělo připojit přes bránu.
Ověřování podepsané svým držitelem (self-signed authentication) X.509
V případě ověřování podepsaného svým držitelem X.509, které se někdy označuje jako ověřování kryptografickým otiskem, je potřeba vytvořit certifikáty pro umístění na podřízené zařízení. Tyto certifikáty mají kryptografický otisk, který sdílíte se službou IoT Hub pro ověřování.
Pomocí certifikátu certifikační autority vytvořte pro podřízené zařízení dva certifikáty zařízení (primární a sekundární).
Pokud nemáte certifikační autoritu k vytváření certifikátů X.509, můžete k vytvoření podřízených certifikátů zařízení použít skripty ukázkových certifikátů IoT Edge. Postupujte podle pokynů pro vytváření certifikátů podepsaných svým držitelem. Použijte stejný kořenový certifikát certifikační autority, který vygeneroval certifikáty pro vaše zařízení brány.
Pokud vytváříte vlastní certifikáty, ujistěte se, že je název subjektu certifikátu zařízení nastavený na ID zařízení, které používáte při registraci zařízení IoT ve službě Azure IoT Hub. Toto nastavení se vyžaduje pro ověřování.
Načtěte otisk sha1 (označovaný jako kryptografický otisk v rozhraní IoT Hubu) z každého certifikátu, což je 40 šestnáctkový řetězec znaků. Pomocí následujícího příkazu openssl zobrazte certifikát a vyhledejte otisk prstu:
Windows:
openssl x509 -in <path to primary device certificate>.cert.pem -text -fingerprintLinux:
openssl x509 -in <path to primary device certificate>.cert.pem -text -fingerprint | sed 's/[:]//g'
Spusťte tento příkaz dvakrát, jednou pro primární certifikát a jednou pro sekundární certifikát. Otisky prstů pro oba certifikáty zadáte při registraci nového zařízení IoT pomocí certifikátů X.509 podepsaných svým držitelem.
Na webu Azure Portal přejděte do služby IoT Hub a vytvořte novou identitu zařízení IoT s následujícími hodnotami:
- Zadejte ID zařízení, které odpovídá názvu subjektu certifikátů zařízení.
- Jako typ ověřování vyberte X.509 podepsané svým držitelem .
- Vložte šestnáctkové řetězce, které jste zkopírovali z primárních a sekundárních certifikátů zařízení.
- Vyberte Nastavit nadřazené zařízení a zvolte zařízení brány IoT Edge, přes které se toto podřízené zařízení připojuje. Nadřazený objekt můžete kdykoli později změnit.
Zkopírujte primární i sekundární certifikáty zařízení a jejich klíče do libovolného umístění na podřízené zařízení. Přesuňte také kopii certifikátu sdílené kořenové certifikační autority, který vygeneroval certifikát zařízení brány i certifikáty podřízených zařízení.
Tyto soubory certifikátů budete odkazovat ve všech aplikacích na podřízené zařízení, které se připojují ke službě IoT Hub. K přesunutí souborů certifikátů můžete použít službu, jako je Azure Key Vault, nebo funkci, jako je protokol zabezpečeného kopírování.
V závislosti na preferovaném jazyce si projděte ukázky toho, jak lze odkazovat na certifikáty X.509 v aplikacích IoT:
K dokončení stejné operace vytvoření zařízení můžete také použít rozšíření IoT pro Azure CLI . Následující příklad pomocí příkazu az iot hub device-identity vytvoří nové zařízení IoT s ověřováním podepsaným svým držitelem X.509 a přiřadí nadřazené zařízení:
az iot hub device-identity create -n {iothub name} -d {device ID} --device-scope {deviceScope of gateway device} --am x509_thumbprint --ptp {primary thumbprint} --stp {secondary thumbprint}
Návod
Můžete zobrazit seznam vlastností zařízení, včetně rozsahu zařízení pomocí az iot hub device-identity list --hub-name {iothub name}.
Dále načtěte a upravte připojovací řetězec tak, aby se vaše zařízení vědělo připojit přes bránu.
Ověřování podepsané certifikační autoritou X.509
Pro ověřování podepsané certifikační autoritou (CA) X.509 potřebujete certifikát kořenové certifikační autority zaregistrovaný ve službě IoT Hub, který používáte k podepisování certifikátů pro podřízené zařízení. Jakékoli zařízení používající certifikát, který byl vystaven certifikátem kořenové certifikační autority nebo jakýmkoli zprostředkujícím certifikátem, má povoleno ověřovat.
Úvod k ověřování v IoT Hubu pomocí certifikátů certifikační autority X.509 najdete v výhodách ověřování certifikátů certifikační autority X.509.
Pokud chcete nastavit ověřování podepsané certifikační autoritou X.509 pro podřízené zařízení, postupujte takto:
Získejte certifikát certifikační autority X.509, který můžete použít k podepisování certifikátů pro podřízené zařízení. Příklad nastavení ověřování podepsaného certifikační autoritou X.509 najdete v následujícím ukázkovém scénáři.
Vytvořte řetěz certifikátů pro podřízené zařízení. Další informace najdete v postupu při vytváření podřízené certifikační autority.
Zaregistrujte certifikát certifikační autority X.509 ve službě IoT Hub. Další informace najdete v postupu při registraci certifikátu podřízené certifikační autority ve službě IoT Hub.
Zkopírujte certifikát a klíče zařízení do podřízeného zařízení. Další informace najdete v tématu správa certifikátů IoT Edge.
Zaregistrujte zařízení ve službě IoT Hub pro použití ověřování podepsané certifikační autoritou X.509. Další informace najdete v tématu vytváření a správa identit zařízení.
V závislosti na preferovaném jazyce si projděte ukázky toho, jak lze odkazovat na certifikáty X.509 v aplikacích IoT:
Načtení a úprava připojovací řetězec
Po vytvoření identity zařízení IoT na portálu získejte jeho primární nebo sekundární klíč. Přidejte jeden z těchto klíčů do připojovacího řetězce, který aplikace používají ke komunikaci se službou IoT Hub. Pro ověření symetrického klíče ioT Hub zobrazí úplný připojovací řetězec v podrobnostech o zařízení. Přidejte informace o zařízení brány do připojovacího řetězce.
Připojovací řetězec podřízeného zařízení potřebuje tyto části:
- IoT Hub, ke které se zařízení připojuje:
Hostname=<Iot-Hub-Name>.azure-devices.net - ID zařízení zaregistrované v centru:
DeviceID=<Device-ID> - Metoda ověřování, buď symetrický klíč, nebo certifikát X.509.
- Pro ověření symetrického klíče zadejte primární nebo sekundární klíč:
SharedAccessKey=<Key> - Pro ověřování certifikátu X.509 zadejte příznak:
x509=true
- Pro ověření symetrického klíče zadejte primární nebo sekundární klíč:
- Zařízení brány, přes které se zařízení připojuje. Zadejte hodnotu názvu hostitele z konfiguračního souboru zařízení brány IoT Edge:
GatewayHostName=<Gateway-Hostname>
Úplný připojovací řetězec vypadá jako v tomto příkladu:
HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz;GatewayHostName=myGatewayDevice
Nebo pro ověřování certifikátů X.509:
HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;x509=true;GatewayHostName=myGatewayDevice
Kvůli rodičovskému a dětskému vztahu můžete zjednodušit připojovací řetězec a přímo použít bránu jako hostitele připojení. Příklad:
HostName=myGatewayDevice;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz
Tento upravený připojovací řetězec použijte v dalším článku v řadě transparentní brány.
Další kroky
V tuto chvíli máte zařízení IoT Edge zaregistrované ve službě IoT Hub a nastavíte ho jako transparentní bránu. Máte také zaregistrované podřízené zařízení ve službě IoT Hub a odkazující na zařízení brány.
Dále nastavte koncové zařízení, aby důvěřovalo zařízení brány a bezpečně se k němu připojovalo. Pokračujte dalším článkem v sérii transparentních bran: Připojte podřízené zařízení k bráně Azure IoT Edge.