Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
IoT Edge 1.5
Fontos
Az IoT Edge 1.5 LTS a támogatott kiadás. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.
Transzparens átjárók esetén az alsóbb rétegbeli eszközöknek, más néven gyermekeszközöknek identitásra van szükségük az IoT Hubban, mint bármely más eszközön. Ez a cikk bemutatja az alsóbb rétegbeli eszközök IoT Hubra történő hitelesítésének lehetőségeit, és bemutatja, hogyan deklarálhatja az átjárókapcsolatot.
Feljegyzés
Az alsóbb rétegbeli eszközök közvetlenül az internetre vagy az átjáróeszközökre küldik az adatokat, függetlenül attól, hogy IoT Edge-kompatibilisek-e vagy sem. A gyermekeszköz lehet alsóbb rétegbeli eszköz vagy átjáróeszköz beágyazott topológiában.
A sikeres transzparens átjárókapcsolat beállításának három általános lépése van. Ez a cikk a második lépést ismerteti:
- Konfigurálja az átjáróeszközt kiszolgálóként, hogy az alsóbb rétegbeli eszközök biztonságosan csatlakozzanak hozzá. Állítsa be az átjárót az alsóbb rétegbeli eszközöktől érkező üzenetek fogadásához és a megfelelő célhelyre való átirányításához. Ezekről a lépésekről lásd : IoT Edge-eszköz konfigurálása transzparens átjáróként.
- Hozzon létre egy eszközidentitást az alsóbb rétegbeli eszközhöz, hogy hitelesíthesse magát az IoT Hubbal. Konfigurálja az alsóbb rétegbeli eszközt, hogy üzeneteket küldjön az átjáróeszközön keresztül.
- Csatlakoztassa az alsóbb rétegbeli eszközt az átjáróeszközhöz, és kezdjen el üzeneteket küldeni. Ezekről a lépésekről lásd : Alsóbb rétegbeli eszköz csatlakoztatása egy Azure IoT Edge-átjáróhoz.
Az alsóbb rétegbeli eszközök az IoT Hubon három módszer egyikével hitelesíthetők: szimmetrikus kulcsok (más néven közös hozzáférési kulcsok), X.509 önaláírt tanúsítványok vagy X.509 hitelesítésszolgáltató (CA) által aláírt tanúsítványok. A hitelesítési lépések hasonlóak a nem IoT Edge-eszközök IoT Hubbal való beállításához, és kis különbségek vannak az átjárókapcsolat deklarálásához.
Az alsóbb rétegbeli eszközök automatikus üzembe helyezése az Azure IoT Hub Device Provisioning Service(DPS) szolgáltatással nem támogatott.
Előfeltételek
Végezze el az IoT Edge-eszköz konfigurálásának lépéseit transzparens átjáróként való működéshez.
Ha X.509-hitelesítést használ, hozzon létre tanúsítványokat az alsóbb rétegbeli eszközhöz. Győződjön meg arról, hogy ugyanazzal a legfelső szintű hitelesítésszolgáltatói tanúsítvánnyal és a tanúsítványt létrehozó szkripttel rendelkezik, amelyet az átlátszó átjáró cikkben használt.
Ez a cikk több ponton hivatkozik az átjáró állomásnevére . Az átjáró hostneve az IoT Edge átjáró konfigurációs fájljának hostnév paraméterében van beállítva. Az alsóbb rétegbeli eszköz kapcsolati sztringjében is használatos. Az átjáró gazdagépnevének egy IP-címre kell feloldódnia DNS segítségével vagy egy gazdagépfájl-bejegyzés révén a végberendezésen.
Eszköz regisztrálása az IoT Hubon
Válassza ki, hogyan szeretné az alsóbb rétegbeli eszközt hitelesíteni az IoT Hubbal:
Szimmetrikus kulcshitelesítés: Az IoT Hub létrehoz egy kulcsot, amelyet az alsóbb rétegbeli eszközön helyez el. Az eszköz hitelesítése után az IoT Hub ellenőrzi, hogy a két kulcs egyezik-e. A szimmetrikus kulcsos hitelesítés használatához nem kell további tanúsítványokat létrehoznia.
Ez a módszer gyorsabb, ha átjárókat tesztel fejlesztési vagy tesztelési forgatókönyvben.
X.509 önaláírt hitelesítés: Néha ujjlenyomat-hitelesítésnek is nevezik, mert az eszköz X.509-tanúsítványából származó ujjlenyomatot az IoT Hubbal osztja meg.
A tanúsítványhitelesítés éles környezetben az eszközökhöz ajánlott.
X.509 hitelesítésszolgáltató által aláírt hitelesítés: Töltse fel a legfelső szintű hitelesítésszolgáltatói tanúsítványt az IoT Hubba. Amikor az eszközök hitelesítésre mutatják be az X.509-tanúsítványukat, az IoT Hub ellenőrzi, hogy az ugyanazon legfelső szintű hitelesítésszolgáltatói tanúsítvány által aláírt megbízhatósági lánchoz tartozik-e.
A tanúsítványhitelesítés éles környezetben az eszközökhöz ajánlott.
Tartalomkulcs-hitelesítés
Az IoT Hubbal történő hitelesítés legegyszerűbb módja a szimmetrikus kulcsos hitelesítés vagy a közös hozzáférésű kulcsos hitelesítés. Szimmetrikus kulcsos hitelesítés esetén a base64-kulcs az IoT Hub IoT-eszközazonosítójához van társítva. Ezt a kulcsot az IoT-alkalmazásokba is belefoglalhatja, hogy az eszköz megjeleníthesse azt, amikor csatlakozik az IoT Hubhoz.
Adjon hozzá egy új IoT-eszközt az IoT Hubhoz az Azure Portal, az Azure CLI vagy a Visual Studio Code IoT-bővítményének használatával. Ne feledje, hogy az alsóbb rétegbeli eszközöket az IoT Hubban normál IoT-eszközként kell azonosítani, nem IoT Edge-eszközként.
Az új eszközidentitás létrehozásakor adja meg a következő adatokat:
Hozzon létre egy azonosítót az eszközhöz.
Hitelesítési típusként válassza a szimmetrikus kulcsot .
Válassza a Szülőeszköz beállítása lehetőséget, és válassza ki azt az IoT Edge-átjáróeszközt, amelyen az alsóbb rétegbeli eszköz csatlakozik. Később bármikor módosíthatja a szülőt.
Feljegyzés
A szülőeszköz beállítása választható lépésként a szimmetrikus kulcsú hitelesítést használó alsóbb rétegbeli eszközök esetében. Az IoT Edge 1.1.0-s verziójától kezdve azonban minden alsóbb rétegbeli eszközt hozzá kell rendelni egy szülőeszközhöz.
Az IoT Edge hubot úgy konfigurálhatja, hogy visszatérjen az előző viselkedéshez, ha a AuthenticationMode környezeti változót a CloudAndScope értékre állítja.
Az Azure CLI IoT-bővítményével is elvégezheti ugyanezt a műveletet. Az alábbi példa az az iot hub device-identity parancsával hoz létre egy új IoT-eszközt szimmetrikus kulcsos hitelesítéssel, és hozzárendel egy szülőeszközt:
az iot hub device-identity create -n {iothub name} -d {new device ID} --device-scope {deviceScope of parent device}
Tipp.
Listázhatja az eszköz tulajdonságait, beleértve az eszköz hatókörét is az iot hub device-identity list --hub-name {iothub name}.
Ezután kérje le és módosítsa a kapcsolati sztring, hogy az eszköz tudja, hogy az átjárón keresztül csatlakozik.
X.509 önaláírt hitelesítés
Az X.509 önaláírt hitelesítéshez( más néven ujjlenyomat-hitelesítéshez) létre kell hoznia az alsóbb rétegbeli eszközön elhelyezendő tanúsítványokat. Ezek a tanúsítványok egy ujjlenyomattal rendelkeznek, amelyet az IoT Hubbal oszt meg hitelesítés céljából.
A ca-tanúsítvány használatával hozzon létre két (elsődleges és másodlagos) eszköztanúsítványt az alsóbb rétegbeli eszközhöz.
Ha nem rendelkezik hitelesítésszolgáltatóval az X.509-tanúsítványok létrehozásához, az IoT Edge demo tanúsítványszkriptjeivel alsóbb rétegbeli eszköztanúsítványokat hozhat létre. Kövesse az önaláírt tanúsítványok létrehozásának lépéseit. Használja ugyanazt a fő hitelesítésszolgáltatói tanúsítványt, amely az átjáróeszköz tanúsítványait generálta.
Ha saját tanúsítványokat hoz létre, győződjön meg arról, hogy az eszköztanúsítvány tulajdonosának neve az IoT-eszköz Azure IoT Hubban való regisztrálásakor használt eszközazonosítóra van állítva. Ez a beállítás szükséges a hitelesítéshez.
Kérje le az SHA1 ujjlenyomatot (az IoT Hub felületén található ujjlenyomatot) minden tanúsítványból, amely egy 40 hexadecimális karaktersorozat. A tanúsítvány megtekintéséhez és az ujjlenyomat megkereséséhez használja az alábbi Openssl parancsot:
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'
Futtassa ezt a parancsot kétszer, egyszer az elsődleges tanúsítványhoz és egyszer a másodlagos tanúsítványhoz. Az új IoT-eszközök önaláírt X.509-tanúsítványokkal történő regisztrálásakor mindkét tanúsítványhoz ujjlenyomatot kell adnia.
Lépjen az IoT Hubra az Azure Portalon, és hozzon létre egy új IoT-eszközidentitást a következő értékekkel:
- Adja meg az eszköztanúsítványok tulajdonosnevének megfelelő eszközazonosítót .
- Hitelesítési típusként válassza az X.509 Önaláírt elemet.
- Illessze be az eszköz elsődleges és másodlagos tanúsítványaiból másolt hexadecimális sztringeket.
- Válassza a Szülőeszköz beállítása lehetőséget , és válassza ki azt az IoT Edge-átjáróeszközt, amelyen az alsóbb rétegbeli eszköz csatlakozik. Később bármikor módosíthatja a szülőt.
Másolja az elsődleges és másodlagos eszköztanúsítványokat és azok kulcsait az alsóbb rétegbeli eszköz bármely helyére. Helyezze át az átjáró-eszköztanúsítványt és az alsóbb rétegbeli eszköztanúsítványokat létrehozó megosztott legfelső szintű hitelesítésszolgáltatói tanúsítvány másolatát is.
Ezeket a tanúsítványfájlokat az IoT Hubhoz csatlakozó alsóbb rétegbeli eszközön található alkalmazásokban fogja hivatkozni. A tanúsítványfájlok áthelyezéséhez használhat olyan szolgáltatást, mint az Azure Key Vault vagy egy olyan függvény, mint a Biztonságos másolási protokoll .
Az előnyben részesített nyelvtől függően tekintse át az X.509-tanúsítványok IoT-alkalmazásokban való hivatkozásának mintáit:
- C#: x509-eszköztanúsítvány láncmintával
- C: iotedge_downstream_device_sample.c
- Node.js: simple_sample_device_x509.js
- Java: SendEventX509.java
- Python: send_message_x509.py
Az Azure CLI IoT-bővítményével is elvégezheti ugyanazt az eszközlétrehozási műveletet. Az alábbi példa az az iot hub device-identity parancsával hoz létre egy új IoT-eszközt X.509 önaláírt hitelesítéssel, és hozzárendel egy szülőeszközt:
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}
Tipp.
Listázhatja az eszköz tulajdonságait, beleértve az eszköz hatókörét is az iot hub device-identity list --hub-name {iothub name}.
Ezután kérje le és módosítsa a kapcsolati sztring, hogy az eszköz tudja, hogy az átjárón keresztül csatlakozik.
X.509 hitelesítésszolgáltató által aláírt hitelesítés
Az X.509 hitelesítésszolgáltató (CA) által aláírt hitelesítéshez olyan legfelső szintű hitelesítésszolgáltatói tanúsítványra van szükség, amelyet az IoT Hubban regisztráltak, és amellyel tanúsítványokat írhat alá az alsóbb rétegbeli eszközhöz. Minden olyan eszköz, amely a legfelső szintű hitelesítésszolgáltató tanúsítványa vagy annak köztes tanúsítványai által kibocsátott tanúsítványt használ, jogosult a hitelesítésre.
Az X.509 hitelesítésszolgáltatói tanúsítványok IoT Hubban történő hitelesítésével kapcsolatos bevezetésért tekintse meg az X.509 hitelesítésszolgáltatói tanúsítványhitelesítés előnyeit.
Az X.509 hitelesítésszolgáltató által aláírt hitelesítés alsóbb rétegbeli eszközökhöz való beállításához kövesse az alábbi lépéseket:
Szerezzen be egy X.509 hitelesítésszolgáltatói tanúsítványt, amellyel tanúsítványokat írhat alá az alsóbb rétegbeli eszközhöz. Az X.509 hitelesítésszolgáltató által aláírt hitelesítés beállítására az alábbi példaforgatókönyvben talál példát.
Hozzon létre egy tanúsítványláncot az alsóbb rétegbeli eszközhöz. További információért kövesse az alárendelt hitelesítésszolgáltató létrehozásának lépéseit.
Regisztrálja az X.509 hitelesítésszolgáltatói tanúsítványt az IoT Hubon. További információkért kövesse az alárendelt hitelesítésszolgáltatói tanúsítvány IoT Hubra való regisztrálásának lépéseit.
Másolja az eszköztanúsítványt és a kulcsokat az alsóbb rétegbeli eszközre. További információ: IoT Edge-tanúsítványok kezelése.
Regisztrálja az eszközt az IoT Hubon az X.509 hitelesítésszolgáltató által aláírt hitelesítés használatához. További információ: eszközidentitások létrehozása és kezelése.
Az előnyben részesített nyelvtől függően tekintse át az X.509-tanúsítványok IoT-alkalmazásokban való hivatkozásának mintáit:
- C#: x509-eszköztanúsítvány láncmintával
- C: iotedge_downstream_device_sample.c
- Node.js: simple_sample_device_x509.js
- Java: SendEventX509.java
- Python: send_message_x509.py
Kapcsolati sztring lekérése és módosítása
Miután létrehozott egy IoT-eszközidentitást a portálon, kérje le annak elsődleges vagy másodlagos kulcsát. Adja hozzá a kulcsok egyikét ahhoz a kapcsolati sztringhez, amelyet az alkalmazások az IoT Hubbal való beszélgetéshez használnak. A szimmetrikus kulcsos hitelesítéshez az IoT Hub az eszköz részleteiben megjeleníti a teljes kapcsolati sztringet. Adja hozzá az átjáróeszköz adatait a kapcsolati sztringhez.
Az alsóbb rétegbeli eszközökhöz tartozó kapcsolati sztringnek a következő részekre van szüksége:
- Az IoT Hub, amelyhez az eszköz csatlakozik:
Hostname=<Iot-Hub-Name>.azure-devices.net - A hubon regisztrált eszközazonosító:
DeviceID=<Device-ID> - A hitelesítési módszer szimmetrikus kulcs vagy X.509-tanúsítvány.
- Szimmetrikus kulcsos hitelesítéshez adja meg az elsődleges vagy a másodlagos kulcsot:
SharedAccessKey=<Key> - X.509-tanúsítványhitelesítéshez adjon meg egy jelzőt:
x509=true
- Szimmetrikus kulcsos hitelesítéshez adja meg az elsődleges vagy a másodlagos kulcsot:
- Az átjáróeszköz, amelyen keresztül az eszköz csatlakozik. Adja meg a gazdagépnév értékét az IoT Edge-átjáró eszközének konfigurációs fájljából:
GatewayHostName=<Gateway-Hostname>
A teljes kapcsolati sztring a következő példához hasonlóan néz ki:
HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz;GatewayHostName=myGatewayDevice
Vagy X.509-tanúsítványhitelesítés esetén:
HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;x509=true;GatewayHostName=myGatewayDevice
A szülő- és gyermekkapcsolat miatt egyszerűsítheti a kapcsolati sztringet úgy, hogy közvetlenül az átjárót használja kapcsolatgazdaként. Példa:
HostName=myGatewayDevice;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz
Használja ezt a módosított kapcsolati sztringet a transzparens átjárósorozat következő cikkében.
Következő lépések
Jelenleg egy IoT Edge-eszköz van regisztrálva az IoT Hubon, és transzparens átjáróként van beállítva. Rendelkezik egy alsóbb rétegbeli eszközzel is, amely regisztrálva van az IoT Hubon, és annak átjáróeszközére mutat.
Ezután állítsa be az alsóbb rétegbeli eszközt, hogy megbízható legyen az átjáróeszköz, és biztonságosan csatlakozzon hozzá. Folytassa a transzparens átjárósorozat következő cikkével: Alsóbb rétegbeli eszköz csatlakoztatása egy Azure IoT Edge-átjáróhoz.