Share via


IoT Edge-eszköz konfigurálása transzparens átjáróként való működéshez

A következőkre vonatkozik:IoT Edge 1.5 pipa IoT Edge 1.5 IoT Edge 1.4 pipa IoT Edge 1.4

Fontos

Az IoT Edge 1.5 LTS és az IoT Edge 1.4 LTS támogatott kiadások. 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.

Ez a cikk részletes útmutatást nyújt annak konfigurálásához, hogy egy IoT Edge-eszköz transzparens átjáróként működjön más eszközök számára az IoT Hubbal való kommunikációhoz. Ez a cikk az IoT Edge-átjáró kifejezéssel hivatkozik egy transzparens átjáróként konfigurált IoT Edge-eszközre. További információ: IoT Edge-eszköz használata átjáróként.

Feljegyzés

Az alsóbb rétegbeli eszközök nem használhatnak fájlfeltöltést.

A sikeres transzparens átjárókapcsolat beállításának három általános lépése van. Ez a cikk az első lépést ismerteti:

  1. 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.
  2. 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. Ezekért a lépésekért lásd : Alsóbb rétegbeli eszköz hitelesítése az Azure IoT Hubon.
  3. Csatlakozás az alsóbb rétegbeli eszközt az átjáróeszközre, és megkezdheti az üzenetek küldését. Ezekért a lépésekért tekintse meg Csatlakozás egy alsóbb rétegbeli eszközt egy Azure IoT Edge-átjáróhoz.

Ahhoz, hogy egy eszköz átjáróként működjön, biztonságosan csatlakoznia kell az alsóbb rétegbeli eszközeihez. Az Azure IoT Edge lehetővé teszi nyilvános kulcsú infrastruktúra (PKI) használatát az eszközök közötti biztonságos kapcsolatok beállításához. Ebben az esetben engedélyezzük, hogy egy alsóbb rétegbeli eszköz transzparens átjáróként működő IoT Edge-eszközhöz csatlakozzon. Az ésszerű biztonság fenntartása érdekében az alsóbb rétegbeli eszköznek meg kell erősítenie az átjáróeszköz identitását. Ez az identitásellenőrzés megakadályozza, hogy az eszközök potenciálisan rosszindulatú átjárókhoz csatlakozzanak.

Az alsóbb rétegbeli eszközök lehetnek olyan alkalmazások vagy platformok, amelyek identitását az Azure IoT Hub felhőszolgáltatással hozták létre. Ezek az alkalmazások gyakran használják az Azure IoT-eszköz SDK-t. Egy alsóbb rétegbeli eszköz akár maga az IoT Edge-átjáróeszközön futó alkalmazás is lehet.

Létrehozhat minden olyan tanúsítványinfrastruktúrát, amely lehetővé teszi az eszközátjáró topológiájához szükséges megbízhatóságot. Ebben a cikkben ugyanazt a tanúsítványbeállítást feltételezzük, mint amelyet az X.509 hitelesítésszolgáltatói biztonság engedélyezéséhez használna az IoT Hubban, amely egy adott IoT Hubhoz (az IoT Hub legfelső szintű hitelesítésszolgáltatójához) társított X.509 hitelesítésszolgáltatói tanúsítványt, a hitelesítésszolgáltatóval aláírt tanúsítványok sorozatát és az IoT Edge-eszköz hitelesítésszolgáltatóját foglalja magában.

Feljegyzés

Az ezekben a cikkekben használt legfelső szintű hitelesítésszolgáltatói tanúsítvány kifejezés a PKI-tanúsítványlánc legfelső szintű nyilvános tanúsítványára utal, és nem feltétlenül egy szindikált hitelesítésszolgáltató tanúsítványgyökerére. Sok esetben ez valójában egy köztes hitelesítésszolgáltató nyilvános tanúsítványa.

Az alábbi lépések végigvezetik a tanúsítványok létrehozásának és az átjáró megfelelő helyen történő telepítésének folyamatán. Bármelyik géppel létrehozhatja a tanúsítványokat, majd átmásolhatja őket az IoT Edge-eszközére.

Előfeltételek

Linux- vagy Windows-eszköz, amelyen telepítve van az IoT Edge.

Ha nem áll készen az eszköz, létrehozhat egyet egy Azure-beli virtuális gépen. Kövesse az első IoT Edge-modul üzembe helyezésének lépéseit egy virtuális Linux-eszközön IoT Hub létrehozásához, virtuális gép létrehozásához és az IoT Edge-futtatókörnyezet konfigurálásához.

Az eszköz hitelesítésszolgáltatói tanúsítványának beállítása

Minden IoT Edge-átjáróhoz telepítve kell lennie egy eszköz hitelesítésszolgáltatói tanúsítványának. Az IoT Edge biztonsági démon az IoT Edge eszköz ca-tanúsítványával ír alá egy számítási feladat hitelesítésszolgáltatói tanúsítványát, amely viszont aláír egy kiszolgálótanúsítványt az IoT Edge Hubhoz. Az átjáró a kapcsolat kezdeményezése során bemutatja a kiszolgálótanúsítványát az alsóbb rétegbeli eszköznek. Az alsóbb rétegbeli eszköz ellenőrzi, hogy a kiszolgálótanúsítvány egy tanúsítványlánc része-e, amely a legfelső szintű hitelesítésszolgáltatói tanúsítványra kerül. Ez a folyamat lehetővé teszi az alsóbb rétegbeli eszköz számára annak megerősítését, hogy az átjáró megbízható forrásból származik. További információ: Az Azure IoT Edge tanúsítványhasználatának ismertetése.

Az átjárótanúsítvány beállítását bemutató képernyőkép.

A legfelső szintű hitelesítésszolgáltatói tanúsítványnak és az eszköz hitelesítésszolgáltatói tanúsítványának (a titkos kulcsával együtt) jelen kell lennie az IoT Edge-átjáró eszközén, és konfigurálnia kell az IoT Edge konfigurációs fájljában. Ne feledje, hogy ebben az esetben a legfelső szintű hitelesítésszolgáltatói tanúsítvány az IoT Edge-forgatókönyv legfelső szintű hitelesítésszolgáltatója. Az átjáróeszköz hitelesítésszolgáltatói tanúsítványának és az alsóbb rétegbeli eszköztanúsítványoknak ugyanarra a fő hitelesítésszolgáltatói tanúsítványra kell összesíteni.

Tipp.

A legfelső szintű hitelesítésszolgáltatói tanúsítvány és az eszköz hitelesítésszolgáltatói tanúsítványának IoT Edge-eszközön való telepítésének folyamatát részletesebben az IoT Edge-eszközön található tanúsítványok kezelése című cikkben is ismerteti.

Készítse fel a következő fájlokat:

  • Legfelső szintű hitelesítésszolgáltatói tanúsítvány
  • Eszköz hitelesítésszolgáltatói tanúsítványa
  • Az eszköz hitelesítésszolgáltatói titkos kulcsa

Éles helyzetekben ezeket a fájlokat saját hitelesítésszolgáltatóval kell létrehoznia. Fejlesztési és tesztelési forgatókönyvekhez demótanúsítványokat használhat.

Demótanúsítványok létrehozása

Ha nem rendelkezik saját hitelesítésszolgáltatóval, és demótanúsítványokat szeretne használni, a fájlok létrehozásához kövesse a demótanúsítványok létrehozása című témakör utasításait az IoT Edge eszközfunkcióinak teszteléséhez. Ezen a lapon a következő lépéseket kell végrehajtania:

  1. Első lépésként állítsa be a tanúsítványok létrehozására szolgáló szkripteket az eszközön.
  2. Hozzon létre egy legfelső szintű hitelesítésszolgáltatói tanúsítványt. Az utasítások végén rendelkezni fog egy legfelső szintű hitelesítésszolgáltatói tanúsítványfájllal <path>/certs/azure-iot-test-only.root.ca.cert.pem.
  3. IoT Edge-eszköz ca-tanúsítványainak létrehozása. Az utasítások végén rendelkezni fog egy eszköz hitelesítésszolgáltatói tanúsítványával <path>/certs/iot-edge-device-ca-<cert name>-full-chain.cert.pem , amelynek titkos kulcsa <path>/private/iot-edge-device-ca-<cert name>.key.pem.

Tanúsítványok másolása eszközre

  1. Ellenőrizze, hogy a tanúsítvány megfelel-e a formátumkövetelményeknek.

  2. Ha a tanúsítványokat egy másik gépen hozta létre, másolja át őket az IoT Edge-eszközére. Használhat USB-meghajtót, olyan szolgáltatást, mint az Azure Key Vault, vagy egy olyan funkcióval, mint a Biztonságos fájlmásolás.

  3. Helyezze át a fájlokat a tanúsítványok és kulcsok előnyben részesített könyvtárába. Tanúsítványokhoz és /var/aziot/secrets kulcsokhoz használható/var/aziot/certs.

  4. Hozza létre a tanúsítvány- és kulcskönyvtárakat, és állítsa be az engedélyeket. A tanúsítványokat és a kulcsokat az előnyben részesített /var/aziot könyvtárban kell tárolnia. Tanúsítványokhoz és /var/aziot/secrets kulcsokhoz használható/var/aziot/certs.

    # If the certificate and keys directories don't exist, create, set ownership, and set permissions
    sudo mkdir -p /var/aziot/certs
    sudo chown aziotcs:aziotcs /var/aziot/certs
    sudo chmod 755 /var/aziot/certs
    
    sudo mkdir -p /var/aziot/secrets
    sudo chown aziotks:aziotks /var/aziot/secrets
    sudo chmod 700 /var/aziot/secrets
    
  5. Módosítsa a tanúsítványok és kulcsok tulajdonjogát és engedélyeit.

    # Give aziotcs ownership to certificates
    # Read and write for aziotcs, read-only for others
    sudo chown -R aziotcs:aziotcs /var/aziot/certs
    sudo find /var/aziot/certs -type f -name "*.*" -exec chmod 644 {} \;
    
    # Give aziotks ownership to private keys
    # Read and write for aziotks, no permission for others
    sudo chown -R aziotks:aziotks /var/aziot/secrets
     sudo find /var/aziot/secrets -type f -name "*.*" -exec chmod 600 {} \;
    

Tanúsítványok konfigurálása az eszközön

  1. Az IoT Edge-eszközön nyissa meg a következő konfigurációs fájlt: /etc/aziot/config.toml. Ha Az IoT Edge for Linuxot Windows rendszeren használja, a PowerShell-parancsmaggal csatlakoznia kell az Connect-EflowVm EFLOW virtuális géphez.

    Tipp.

    Ha a konfigurációs fájl még nem létezik az eszközön, akkor sablonként használva /etc/aziot/config.toml.edge.template hozzon létre egyet.

  2. Keresse meg a paramétert trust_bundle_cert . Bontsa ki ezt a sort, és adja meg a fájl URI-ját az eszköz legfelső szintű hitelesítésszolgáltatói tanúsítványfájljának.

  3. Keresse meg a [edge_ca] fájl szakaszát. Bontsa ki a szakasz három sorát, és adja meg a fájl URI-jait a tanúsítványnak és a kulcsfájloknak az alábbi tulajdonságok értékeiként:

    • tanúsítvány: eszköz hitelesítésszolgáltatói tanúsítványa
    • pk: eszköz ca titkos kulcsa
  4. Mentse és zárja be a fájlt.

  5. Alkalmazza a módosításokat.

    sudo iotedge config apply
    

EdgeHub üzembe helyezése és üzenetek átirányítása

Az alsóbb rétegbeli eszközök telemetriát és üzeneteket küldenek az átjáróeszköznek, ahol az IoT Edge hub modul feladata az információk átirányítása más modulokhoz vagy az IoT Hubhoz. Az átjáróeszköznek a függvényhez való előkészítéséhez győződjön meg arról, hogy:

  • Az IoT Edge hub modul üzembe van helyezve az eszközön.

    Amikor először telepíti az IoT Edge-et egy eszközre, csak egy rendszermodul indul el automatikusan: az IoT Edge-ügynök. Miután létrehozta az első üzembe helyezést egy eszközhöz, a második rendszermodul és az IoT Edge hub is elindul. Ha az edgeHub-modul nem fut az eszközön, hozzon létre egy üzembe helyezést az eszközhöz.

  • Az IoT Edge hub modul útvonalai vannak beállítva az alsóbb rétegbeli eszközökről érkező bejövő üzenetek kezelésére.

    Az átjáróeszköznek rendelkeznie kell egy útvonalsal az alsóbb rétegbeli eszközökről érkező üzenetek kezeléséhez, különben ezek az üzenetek nem lesznek feldolgozva. Az üzeneteket elküldheti az átjáróeszköz moduljainak vagy közvetlenül az IoT Hubnak.

Az IoT Edge Hub modul üzembe helyezéséhez és útvonalokkal való konfigurálásához kövesse az alábbi lépéseket:

  1. Az Azure Portalon keresse meg az IoT-központot.

  2. Lépjen az Eszközök elemre az Eszközfelügyelet menüben, és válassza ki az átjáróként használni kívánt IoT Edge-eszközt.

  3. Válassza a Modulok beállítása lehetőséget.

  4. A Modulok lapon hozzáadhat minden olyan modult, amelyet üzembe szeretne helyezni az átjáróeszközön. A cikk alkalmazásában az edgeHub-modul konfigurálására és üzembe helyezésére összpontosítunk, amelyet nem kell explicit módon beállítani ezen a lapon.

  5. Válassza a Tovább: Útvonalak lehetőséget.

  6. Az Útvonalak lapon győződjön meg arról, hogy van olyan útvonal, amellyel kezelheti az alsóbb rétegbeli eszközökről érkező üzeneteket. Példa:

    • Egy útvonal, amely az összes üzenetet elküldi, akár modulból, akár egy alsóbb rétegbeli eszközről az IoT Hubra:

      • Név: allMessagesToHub
      • Érték: FROM /messages/* INTO $upstream
    • Az összes üzenetet az összes alsóbb rétegbeli eszközről az IoT Hubra küldő útvonal:

      • Név: allDownstreamToHub
      • Érték: FROM /messages/* WHERE NOT IS_DEFINED ($connectionModuleId) INTO $upstream

      Ez az útvonal azért működik, mert az IoT Edge-moduloktól származó üzenetektől eltérően az alsóbb rétegbeli eszközökről érkező üzenetekhez nincs hozzárendelve modulazonosító. Az útvonal WHERE záradékának használatával kiszűrjük az adott rendszertulajdonságú üzeneteket.

      Az üzenet-útválasztással kapcsolatos további információkért lásd a modulok üzembe helyezését és az útvonalak létrehozását ismertető témakört.

  7. Az útvonal vagy útvonalak létrehozása után válassza a Véleményezés + létrehozás lehetőséget.

  8. A Véleményezés + létrehozás lapon válassza a Létrehozás lehetőséget.

Portok megnyitása átjáróeszközön

A normál IoT Edge-eszközöknek nincs szükségük bejövő kapcsolatra a működéshez, mivel az IoT Hubbal való kommunikáció kimenő kapcsolatokon keresztül történik. Az átjáróeszközök eltérőek, mert üzeneteket kell fogadniuk az alsóbb rétegbeli eszközeikről. Ha a tűzfal az alsóbb rétegbeli eszközök és az átjáróeszköz között van, akkor a tűzfalon keresztül is lehetővé kell tenni a kommunikációt.

Ahhoz, hogy egy átjáróforgatókönyv működjön, az IoT Edge Hub által támogatott protokollok legalább egyikének nyitva kell lennie az alsóbb rétegbeli eszközökről érkező bejövő forgalom számára. A támogatott protokollok a következők: MQTT, AMQP, HTTPS, MQTT websocketeken keresztül, és AMQP websocketeken keresztül.

Kikötő Protokoll
8883 MQTT
5671 AMQP
443 HTTPS
MQTT+WS
AMQP+WS

Következő lépések

Most, hogy egy IoT Edge-eszköz transzparens átjáróként lett beállítva, konfigurálnia kell az alsóbb rétegbeli eszközöket, hogy megbízzanak az átjáróban, és üzeneteket küldjenek neki. Folytassa az alsóbb rétegbeli eszközök hitelesítésével az Azure IoT Hubon az átlátható átjáró forgatókönyvének beállításának következő lépéseihez.