Megosztás a következőn keresztül:


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

A következőkre vonatkozik:igen ikon IoT Edge 1.1

Fontos

Az IoT Edge 1.1 támogatási dátumának vége 2022. december 13.,. A termék, szolgáltatás, technológia vagy API támogatásáról a Microsoft-termékek életciklusa című leírásból tájékozódhat. További információ az IoT Edge legújabb verziójára való frissítésről: IoT Edge frissítése.

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.

Megjegyzés

Az IoT Edge 1.1-s és újabb verzióiban az IoT Edge-eszközök nem lehetnek az IoT Edge-átjárók alatt.

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. 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.

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. Az IoT Edge-eszközök azonban nem lehetnek IoT Edge-átjárók alatt.

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.

Megjegyzé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. A lefelé haladó eszköz ellenőrzi, hogy a kiszolgálótanúsítvány egy olyan tanúsítványlánc része-e, amely a gyökér CA tanúsítványhoz vezet. 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.

átjárótanúsítvány beállítása

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 root CA tanúsítvány az IoT Edge-forgatókönyv legfelső hitelesítésszolgáltatóját jelenti. Az átjáró és az alsóbb rétegű eszközök tanúsítványainak egyaránt ugyanahhoz a gyökér hitelesítésszolgáltatói tanúsítványhoz kell tartozniuk.

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 is bemutatjuk Tanúsítványok kezelése IoT Edge-eszközön.

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

  • Gyökér CA tanúsítvány
  • Eszköz CA tanúsítvány
  • Az eszköz tanúsítványkiadói titkos kulcsa

Termelési környezetekben 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.

Bemutató tanúsítványok készítése

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 annak titkos kulcsával <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. A /var/aziot/certs tanúsítványokhoz és a /var/aziot/secrets kulcsokhoz használja.

  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. A /var/aziot/certs tanúsítványokhoz és a /var/aziot/secrets kulcsokhoz használja.

    # 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 biztonsági démon konfigurációs fájlját.

    • Windows: C:\ProgramData\iotedge\config.yaml
    • Linux: /etc/iotedge/config.yaml
    • IoT Edge Linuxhoz Windows rendszeren: /etc/iotedge/config.yaml

    Tipp

    Ha Az IoT Edge for Linuxot windowsos (EFLOW) rendszeren használja, csatlakoznia kell az EFLOW virtuális géphez, és módosítania kell a fájlt a virtuális gépen belül. Az EFLOW virtuális géphez a PowerShell-parancsmag Connect-EflowVm használatával csatlakozhat, majd használhatja az előnyben részesített szerkesztőt.

  2. Keresse meg a tanúsítványbeállításokat a fájl szakaszában. Kommenteljék ki a négy sort, amelyek a tanúsítványokkal kezdődnek:, és adja meg a fájlok URI-jait úgy, hogy ezek legyenek a következő tulajdonságok értékei:

    • device_ca_cert: eszköz CA-tanúsítvány
    • device_ca_pk: az eszköz CA privát kulcsa
    • trusted_ca_certs: root CA tanúsítvány

    Ügyeljen arra, hogy a tanúsítványok: sor előtt ne legyen szóköz, és hogy a többi sor két szóközzel legyen behúzva.

  3. Mentse és zárja be a fájlt.

  4. Indítsa újra az IoT Edge-et.

    • Windows: Restart-Service iotedge
    • Linux: sudo systemctl restart iotedge
    • IoT Edge Linuxhoz Windows rendszeren: sudo systemctl restart iotedge

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ó előkészítéséhez ehhez a funkcióhoz 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 a bejövő üzenetek kezelésére szolgáló útvonalakkal 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éldául:

    • 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 (Advanced Message Queuing Protocol)
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.