Připojení zařízení Azure IoT Edge k vytvoření hierarchie

Platí pro:Značka zaškrtnutí IoT Edge 1.5 IoT Edge 1.5 Značka zaškrtnutí IoT Edge 1.4 IoT Edge 1.4

Důležité

Podporované verze ioT Edge 1.5 LTS a IoT Edge 1.4 LTS. IoT Edge 1.4 LTS je konec životnosti 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Tento článek obsahuje postup pro vytvoření důvěryhodného připojení mezi bránou IoT Edge a podřízeným zařízením IoT Edge. Tato konfigurace se také označuje jako vnořená hrana.

Ve scénáři brány může být zařízení IoT Edge bránou i podřízeným zařízením. Více bran IoT Edge je možné vrstvit a vytvořit tak hierarchii zařízení. Podřízená zařízení (podřízená) můžou ověřovat a odesílat nebo přijímat zprávy prostřednictvím svého zařízení brány (nadřazeného).

V hierarchii brány existují dvě různé konfigurace pro zařízení IoT Edge a tento článek řeší obojí. První je zařízení IoT Edge nejvyšší vrstvy . Když se mezi sebou připojuje několik zařízení IoT Edge, považuje se každé zařízení, které nemá nadřazené zařízení, ale připojuje se přímo ke službě IoT Hub, v horní vrstvě. Toto zařízení zodpovídá za zpracování požadavků ze všech zařízení pod ním. Druhá konfigurace se vztahuje na jakékoli zařízení IoT Edge v nižší vrstvě hierarchie. Tato zařízení můžou být bránou pro ostatní podřízená zařízení IoT a IoT Edge, ale musí také směrovat veškerou komunikaci prostřednictvím jejich vlastních nadřazených zařízení.

Některé síťové architektury vyžadují, aby se ke cloudu mohl připojit jenom nejlepší zařízení IoT Edge v hierarchii. V této konfiguraci můžou všechna zařízení IoT Edge v nižších vrstvách hierarchie komunikovat pouze s jejich bránou (nadřazeným) zařízením a všemi podřízenými (podřízenými) zařízeními.

Všechny kroky v tomto článku vycházejí z konfigurace zařízení IoT Edge tak, aby fungovalo jako transparentní brána, která nastaví zařízení IoT Edge jako bránu pro podřízená zařízení IoT. Stejný základní postup platí pro všechny scénáře brány:

  • Ověřování: Vytvoření identit služby IoT Hub pro všechna zařízení v hierarchii brány
  • Autorizace: Nastavte vztah nadřazenosti a podřízenosti ve službě IoT Hub tak, aby se podřízená zařízení připojovala k nadřazeným zařízením, jako by se připojila ke službě IoT Hub.
  • Zjišťování brány: Ujistěte se, že podřízené zařízení může najít jeho nadřazené zařízení v místní síti.
  • Zabezpečené připojení: Vytvořte zabezpečené připojení s důvěryhodnými certifikáty, které jsou součástí stejného řetězce.

Požadavky

  • Bezplatné nebo standardní centrum IoT.
  • Nejméně dvě zařízení IoT Edge, jedno jako zařízení nejvyšší vrstvy a jedno nebo více zařízení nižší vrstvy. Pokud nemáte k dispozici zařízení IoT Edge, můžete azure IoT Edge spustit na virtuálních počítačích s Ubuntu.
  • Pokud k vytváření a správě zařízení používáte Azure CLI , nainstalujte rozšíření Azure IoT.

Tip

Tento článek obsahuje podrobné kroky a možnosti, které vám pomůžou vytvořit správnou hierarchii brány pro váš scénář. Kurz s asistencí najdete v tématu Vytvoření hierarchie zařízení IoT Edge pomocí bran.

Vytvoření hierarchie brány

Hierarchii brány IoT Edge vytvoříte definováním vztahů nadřazenosti a podřízenosti pro zařízení IoT Edge ve scénáři. Nadřazené zařízení můžete nastavit při vytváření nové identity zařízení nebo můžete spravovat nadřazené a podřízené položky existující identity zařízení.

Krok nastavení vztahů nadřazenosti a podřízenosti autorizuje podřízená zařízení, aby se připojila k nadřazeným zařízením, jako by se připojila ke službě IoT Hub.

Nadřazená zařízení můžou být jenom zařízení IoT Edge, ale zařízení IoT Edge i zařízení IoT můžou být podřízená. Nadřazený objekt může mít mnoho podřízených položek, ale dítě může mít pouze jeden nadřazený objekt. Hierarchie brány se vytváří zřetězením sad nadřazených/podřízených, aby podřízená položka jednoho zařízení byla nadřazená druhé.

Ve výchozím nastavení může mít nadřazený objekt až 100 podřízených prvků. Tento limit můžete změnit nastavením proměnné prostředí Max Připojení edClients v modulu EdgeHub nadřazeného zařízení.

Na webu Azure Portal můžete spravovat vztah nadřazenosti a podřízenosti při vytváření nových identit zařízení nebo úpravou existujících zařízení.

Když vytvoříte nové zařízení IoT Edge, máte možnost zvolit nadřazená a podřízená zařízení ze seznamu existujících zařízení IoT Edge v daném centru.

  1. Na webu Azure Portal přejděte do svého centra IoT.
  2. V nabídce Správa zařízení vyberte zařízení.
  3. Vyberte Přidat zařízení a zaškrtněte políčko Zařízení IoT Edge .
  4. Spolu s nastavením ID zařízení a nastavení ověřování můžete nastavit nadřazené zařízení nebo zvolit podřízená zařízení.
  5. Zvolte zařízení nebo zařízení, která chcete použít jako nadřazený nebo podřízený objekt.

Můžete také vytvořit nebo spravovat vztahy nadřazenosti a podřízenosti pro existující zařízení.

  1. Na webu Azure Portal přejděte do svého centra IoT.
  2. V nabídce Správa zařízení vyberte zařízení.
  3. Ze seznamu vyberte zařízení IoT Edge, které chcete spravovat.
  4. Vyberte ikonu Nastavit nadřazené ozubené kolečko zařízenínebo Spravovat podřízená zařízení.
  5. Přidejte nebo odeberte všechna nadřazená nebo podřízená zařízení.

Poznámka:

Pokud chcete vytvořit vztahy nadřazenosti a podřízenosti prostřednictvím kódu programu, můžete použít sadu SDK služby IoT Hub pro C#, Javu nebo Node.js.

Tady je příklad přiřazení podřízených zařízení pomocí sady C# SDK. RegistryManager_AddAndRemoveDeviceWithScope() Úkol ukazuje, jak programově vytvořit třívrstvou hierarchii. Zařízení IoT Edge je ve vrstvě 1 jako nadřazený objekt. Další zařízení IoT Edge je ve vrstvě dvě, které slouží jako podřízené i nadřazené zařízení. Nakonec je zařízení IoT ve třetí vrstvě, jako podřízené zařízení nejnižší vrstvy.

Vygenerování certifikátů

Aby bylo možné vytvořit zabezpečenou komunikaci mezi sebou, musí být na všech zařízeních ve stejné hierarchii brány nainstalovaný konzistentní řetěz certifikátů. Každé zařízení v hierarchii, ať už zařízení IoT Edge nebo podřízené zařízení IoT, potřebuje kopii stejného kořenového certifikátu certifikační autority. Každé zařízení IoT Edge v hierarchii pak použije tento kořenový certifikát certifikační autority jako kořen pro certifikát certifikační autority zařízení.

Při tomto nastavení může každé podřízené zařízení IoT Edge ověřit identitu nadřazeného objektu ověřením, že hraničníhub, ke kterému se připojí, má certifikát serveru podepsaný certifikátem sdílené kořenové certifikační autority.

Obrázek řetězu certifikátů vystaveného kořenovou certifikační autoritou na bráně a podřízené zařízení

Další informace o požadavcích na certifikáty IoT Edge najdete v tématu Vysvětlení způsobu, jakým Azure IoT Edge používá certifikáty.

  1. Vytvořte nebo požádejte o následující certifikáty:

    • Kořenový certifikát certifikační autority, což je nejvyšší sdílený certifikát pro všechna zařízení v dané hierarchii brány. Tento certifikát je nainstalovaný na všech zařízeních.
    • Všechny zprostředkující certifikáty , které chcete zahrnout do kořenového řetězu certifikátů.
    • Certifikát certifikační autority zařízení a jeho privátní klíč vygenerovaný kořenovými a zprostředkujícími certifikáty. Pro každé zařízení IoT Edge v hierarchii brány potřebujete jeden jedinečný certifikát certifikační autority zařízení.

    Můžete použít certifikační autoritu podepsanou svým držitelem nebo ji koupit od důvěryhodné komerční certifikační autority, jako je Baltimore, Verisign, Digicert nebo GlobalSign.

  2. Pokud nemáte vlastní certifikáty k testování, vytvořte pro každé zařízení jednu sadu kořenových a zprostředkujících certifikátů a pak vytvořte certifikáty CA zařízení IoT Edge. V tomto článku použijeme testovací certifikáty vygenerované pomocí certifikátů testovací certifikační autority pro ukázky a kurzy. Následující příkazy například vytvoří kořenový certifikát certifikační autority, nadřazený certifikát zařízení a podřízený certifikát zařízení.

    # !!! For test only - do not use in production !!!
    
    # Create the the root CA test certificate
    ./certGen.sh create_root_and_intermediate
    
    # Create the parent (gateway) device test certificate 
    # signed by the shared root CA certificate
    ./certGen.sh create_edge_device_ca_certificate "gateway"
    
    # Create the downstream device test certificate
    # signed by the shared root CA certificate
    ./certGen.sh create_edge_device_ca_certificate "downstream"
    

    Upozorňující

    Nepoužívejte certifikáty vytvořené testovacími skripty pro produkční prostředí. Obsahují pevně zakódovaná hesla a ve výchozím nastavení vyprší po 30 dnech. Certifikáty testovací certifikační autority jsou k dispozici pro demonstrační účely, které vám pomůžou porozumět certifikátům certifikační autority. Použijte vlastní osvědčené postupy zabezpečení pro vytváření certifikací a správu životnosti v produkčním prostředí.

    Další informace o vytváření testovacích certifikátů najdete v tématu vytvoření ukázkových certifikátů pro testování funkcí zařízení IoT Edge.

  3. Certifikáty a klíče budete muset přenést do každého zařízení. Můžete použít jednotku USB, službu, jako je Azure Key Vault, nebo s funkcí, jako je zabezpečené kopírování souborů. Vyberte jednu z těchto metod, která nejlépe odpovídá vašemu scénáři. Zkopírujte soubory do upřednostňovaného adresáře pro certifikáty a klíče. Používá se /var/aziot/certs pro certifikáty a /var/aziot/secrets klíče.

Další informace o instalaci certifikátů na zařízení najdete v tématu Správa certifikátů na zařízení IoT Edge.

Konfigurace nadřazeného zařízení

Pokud chcete nakonfigurovat nadřazené zařízení, otevřete místní nebo vzdálené příkazové prostředí.

Aby bylo možné povolit zabezpečená připojení, musí být každé nadřazené zařízení IoT Edge ve scénáři brány nakonfigurované s jedinečným certifikátem certifikační autority zařízení a kopií certifikátu kořenové certifikační autority, který sdílí všechna zařízení v hierarchii brány.

  1. Zkontrolujte, jestli certifikáty splňují požadavky na formát.

  2. Přeneste kořenový certifikát certifikační autority, certifikát certifikační autority nadřazeného zařízení a nadřazený privátní klíč do nadřazeného zařízení.

  3. Zkopírujte certifikáty a klíče do správných adresářů. Upřednostňované adresáře pro certifikáty zařízení jsou /var/aziot/certs určené pro certifikáty a /var/aziot/secrets klíče.

    ### Copy device certificate ###
    
    # If the device 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
    
    # Copy full-chain device certificate and private key into the correct directory
    sudo cp iot-edge-device-ca-gateway-full-chain.cert.pem /var/aziot/certs
    sudo cp iot-edge-device-ca-gateway.key.pem /var/aziot/secrets
    
    ### Root certificate ###
    
    # Copy root certificate into the /certs directory
    sudo cp azure-iot-test-only.root.ca.cert.pem /var/aziot/certs
    
    # Copy root certificate into the CA certificate directory and add .crt extension.
    # The root certificate must be in the CA certificate directory to install it in the certificate store.
    # Use the appropriate copy command for your device OS or if using EFLOW.
    
    # For Ubuntu and Debian, use /usr/local/share/ca-certificates/
    sudo cp azure-iot-test-only.root.ca.cert.pem /usr/local/share/azure-iot-test-only.root.ca.cert.pem.crt
    # For EFLOW, use /etc/pki/ca-trust/source/anchors/
    sudo cp azure-iot-test-only.root.ca.cert.pem /etc/pki/ca-trust/source/anchors/azure-iot-test-only.root.ca.pem.crt
    
  4. Změňte vlastnictví a oprávnění certifikátů a klíčů.

    # 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 {} \;
    
    # Verify permissions of directories and files
    sudo ls -Rla /var/aziot
    

    Výstup seznamu se správným vlastnictvím a oprávněním je podobný následujícímu:

    azureUser@vm:/var/aziot$ sudo ls -Rla /var/aziot
    /var/aziot:
    total 16
    drwxr-xr-x  4 root    root    4096 Dec 14 00:16 .
    drwxr-xr-x 15 root    root    4096 Dec 14 00:15 ..
    drwxr-xr-x  2 aziotcs aziotcs 4096 Jan 14 00:31 certs
    drwx------  2 aziotks aziotks 4096 Jan 23 17:23 secrets
    
    /var/aziot/certs:
    total 20
    drwxr-xr-x 2 aziotcs aziotcs 4096 Jan 14 00:31 .
    drwxr-xr-x 4 root    root    4096 Dec 14 00:16 ..
    -rw-r--r-- 1 aziotcs aziotcs 1984 Jan 14 00:24 azure-iot-test-only.root.ca.cert.pem
    -rw-r--r-- 1 aziotcs aziotcs 5887 Jan 14 00:27 iot-edge-device-ca-gateway-full-chain.cert.pem
    
    /var/aziot/secrets:
    total 16
    drwx------ 2 aziotks aziotks 4096 Jan 23 17:23 .
    drwxr-xr-x 4 root    root    4096 Dec 14 00:16 ..
    -rw------- 1 aziotks aziotks 3243 Jan 14 00:28 iot-edge-device-ca-gateway.key.pem
    
  5. Nainstalujte kořenový certifikát certifikační autority na nadřazené zařízení IoT Edge aktualizací úložiště certifikátů na zařízení pomocí příkazu specifického pro platformu.

    # Update the certificate store
    
    # For Ubuntu or Debian - use update-ca-certificates
    sudo update-ca-certificates
    # For EFLOW or RHEL - use update-ca-trust
    sudo update-ca-trust
    

    Další informace o použití update-ca-trust v EFLOW naleznete v tématu CBL-Mariner SSL CA správa certifikátů.

Příkaz hlásí jeden certifikát byl přidán do /etc/ssl/certs.

Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.

Aktualizace nadřazeného konfiguračního souboru

Na svém zařízení byste už měli mít nainstalovaný IoT Edge. Pokud ne, postupujte podle pokynů k ručnímu zřízení jednoho zařízení IoT Edge s Linuxem.

  1. Ověřte, že /etc/aziot/config.toml konfigurační soubor existuje na nadřazené zařízení.

    Pokud konfigurační soubor na vašem zařízení neexistuje, vytvořte ho pomocí následujícího příkazu na základě souboru šablony:

    sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
    

    Soubor šablony můžete použít také jako odkaz na přidání parametrů konfigurace v této části.

  2. Otevřete konfigurační soubor IoT Edge pomocí editoru. Například pomocí editoru nano/etc/aziot/config.toml otevřete soubor.

    sudo nano /etc/aziot/config.toml
    
  3. Vyhledejte parametr názvu hostitele nebo ho přidejte na začátek konfiguračního souboru. Aktualizujte hodnotu tak, aby byla plně kvalifikovaným názvem domény (FQDN) nebo IP adresou nadřazeného zařízení IoT Edge. Příklad:

    hostname = "10.0.0.4"
    

    Aby bylo možné povolit zjišťování brány, musí každé zařízení IoT Edge (nadřazené) zadat parametr názvu hostitele, který budou jeho podřízená zařízení používat k jeho vyhledání v místní síti. Každé podřízené zařízení IoT Edge musí zadat parametr parent_hostname k identifikaci nadřazeného objektu. V hierarchickém scénáři, kdy je jedno zařízení IoT Edge nadřazeným i podřízeným zařízením, potřebuje oba parametry.

    Parametry názvu hostitele a trust_bundle_cert musí být na začátku konfiguračního souboru před všemi oddíly. Přidáním parametru před definovanými oddíly zajistíte, že se správně použije.

    Použijte název hostitele kratší než 64 znaků, což je limit znaků pro běžný název certifikátu serveru.

    Být konzistentní se vzorem názvu hostitele v hierarchii brány. Použijte plně kvalifikované názvy domén nebo IP adresy, ale ne obojí. Pro připojení podřízených zařízení se vyžaduje plně kvalifikovaný název domény nebo IP adresa.

    Před vytvořením kontejneru EdgeHub nastavte název hostitele. Pokud je edgeHub spuštěný, změna názvu hostitele v konfiguračním souboru se neprojeví, dokud se kontejner znovu nevytvoří. Další informace o tom, jak ověřit použití názvu hostitele, najdete v části ověření nadřazené konfigurace .

  4. Vyhledejte parametr trust bundle cert nebo ho přidejte na začátek konfiguračního souboru.

    trust_bundle_cert Aktualizujte parametr pomocí identifikátoru URI souboru na kořenový certifikát certifikační autority na vašem zařízení. Příklad:

    trust_bundle_cert = "file:///var/aziot/certs/azure-iot-test-only.root.ca.cert.pem"
    
  5. V konfiguračním souboru vyhledejte nebo přidejte oddíl certifikátu certifikační autority Edge. Aktualizujte parametry certifikátu cert a privátního klíče pk pomocí cest identifikátoru URI souboru pro soubory s úplným řetězem certifikátů a klíčů na nadřazené zařízení IoT Edge. IoT Edge vyžaduje, aby certifikát a privátní klíč byly ve formátu PEM (Text-Based Privacy-Enhanced Mail). Příklad:

    [edge_ca]
    cert = "file:///var/aziot/certs/iot-edge-device-ca-gateway-full-chain.cert.pem"
    pk = "file:///var/aziot/secrets/iot-edge-device-ca-gateway.key.pem"
    
  6. Ověřte, že vaše zařízení IoT Edge používá při spuštění správnou verzi agenta IoT Edge. Vyhledejte část Výchozí agent Edge a nastavte hodnotu image pro IoT Edge na verzi 1.5. Příklad:

    [agent.config]
    image = "mcr.microsoft.com/azureiotedge-agent:1.5"
    
  7. Začátek nadřazeného konfiguračního souboru by měl vypadat podobně jako v následujícím příkladu.

    hostname = "10.0.0.4"
    trust_bundle_cert = "file:///var/aziot/certs/azure-iot-test-only.root.ca.cert.pem"
    
    [edge_ca]
    cert = "file:///var/aziot/certs/iot-edge-device-ca-gateway-full-chain.cert.pem"
    pk = "file:///var/aziot/secrets/iot-edge-device-ca-gateway.key.pem"
    
  8. Uložte a zavřete config.toml konfigurační soubor. Pokud například používáte editor nano, vyberte Ctrl+O - Write Out, Enter a Ctrl+X - Exit.

  9. Pokud jste dříve použili nějaké jiné certifikáty pro IoT Edge, odstraňte soubory v následujících dvou adresářích a ujistěte se, že se použijí nové certifikáty:

    • /var/lib/aziot/certd/certs
    • /var/lib/aziot/keyd/keys
  10. Použijte změny.

    sudo iotedge config apply
    
  11. Zkontrolujte případné chyby v konfiguraci.

    sudo iotedge check --verbose
    

    Poznámka:

    Na nově zřízeném zařízení se může zobrazit chyba související se službou IoT Edge Hub:

    × provozní připravenosti: Adresář úložiště Edge Hubu je trvalý v systému souborů hostitele – chyba

    Nepodařilo se zkontrolovat aktuální stav kontejneru EdgeHub.

    Tato chyba se očekává na nově zřízeném zařízení, protože modul IoT Edge Hub není spuštěný. Pokud chcete tuto chybu vyřešit, nastavte v IoT Hubu moduly pro zařízení a vytvořte nasazení. Vytvoření nasazení pro zařízení spustí moduly na zařízení, včetně modulu IoT Edge Hubu.

Ověření nadřazené konfigurace

Název hostitele musí být kvalifikovaný název domény (FQDN) nebo IP adresa zařízení IoT Edge, protože IoT Edge používá tuto hodnotu v certifikátu serveru při připojení podřízených zařízení. Hodnoty se musí shodovat nebo se zobrazí chyba neshody IP adres.

Pokud chcete ověřit název hostitele, musíte zkontrolovat proměnné prostředí kontejneru EdgeHub .

  1. Vypíše spuštěné kontejnery IoT Edge.

    iotedge list
    

    Ověřte, že jsou spuštěné kontejnery edgeAgent a edgeHub . Výstup příkazu by měl být podobný následujícímu příkladu.

    NAME                        STATUS           DESCRIPTION      CONFIG
    SimulatedTemperatureSensor  running          Up 5 seconds     mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0
    edgeAgent                   running          Up 17 seconds    mcr.microsoft.com/azureiotedge-agent:1.5
    edgeHub                     running          Up 6 seconds     mcr.microsoft.com/azureiotedge-hub:1.5
    
  2. Prozkoumejte kontejner EdgeHubu.

    sudo docker inspect edgeHub
    
  3. Ve výstupu vyhledejte parametr EdgeDeviceHostName v části Env .

    "EdgeDeviceHostName=10.0.0.4"
    
  4. Ověřte, že hodnota parametru EdgeDeviceHostName odpovídá config.tomlnastavení názvu hostitele. Pokud se neshoduje, kontejner EdgeHub se spustil při úpravě a použití konfigurace. Pokud chcete aktualizovat EdgeDeviceHostName, odeberte kontejner edgeAgent .

    sudo docker rm -f edgeAgent
    

    Kontejnery edgeAgent a edgeHub se znovu vytvoří a spustí během několika minut. Po spuštění kontejneru EdgeHub zkontrolujte kontejner a ověřte, že parametr EdgeDeviceHostName odpovídá konfiguračnímu souboru.

Konfigurace podřízených zařízení

Pokud chcete nakonfigurovat podřízené zařízení, otevřete místní nebo vzdálené příkazové prostředí.

Aby bylo možné povolit zabezpečená připojení, musí být každé podřízené zařízení IoT Edge ve scénáři brány nakonfigurované s jedinečným certifikátem certifikační autority zařízení a kopií certifikátu kořenové certifikační autority, který sdílí všechna zařízení v hierarchii brány.

  1. Zkontrolujte, jestli certifikáty splňují požadavky na formát.

  2. Přeneste kořenový certifikát certifikační autority, certifikát podřízené certifikační autority a podřízený privátní klíč do podřízeného zařízení.

  3. Zkopírujte certifikáty a klíče do správných adresářů. Upřednostňované adresáře pro certifikáty zařízení jsou /var/aziot/certs určené pro certifikáty a /var/aziot/secrets klíče.

    ### Copy device certificate ###
    
    # If the device 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
    
    # Copy device full-chain certificate and private key into the correct directory
    sudo cp iot-device-downstream-full-chain.cert.pem /var/aziot/certs
    sudo cp iot-device-downstream.key.pem /var/aziot/secrets
    
    ### Root certificate ###
    
    # Copy root certificate into the /certs directory
    sudo cp azure-iot-test-only.root.ca.cert.pem /var/aziot/certs
    
    # Copy root certificate into the CA certificate directory and add .crt extension.
    # The root certificate must be in the CA certificate directory to install it in the certificate store.
    # Use the appropriate copy command for your device OS or if using EFLOW.
    
    # For Ubuntu and Debian, use /usr/local/share/ca-certificates/
    sudo cp azure-iot-test-only.root.ca.cert.pem /usr/local/share/azure-iot-test-only.root.ca.cert.pem.crt
    # For EFLOW, use /etc/pki/ca-trust/source/anchors/
    sudo cp azure-iot-test-only.root.ca.cert.pem /etc/pki/ca-trust/source/anchors/azure-iot-test-only.root.ca.pem.crt
    
  4. Změňte vlastnictví a oprávnění certifikátů a klíčů.

    # 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 {} \;
    
  5. Nainstalujte kořenový certifikát certifikační autority na podřízené zařízení IoT Edge aktualizací úložiště certifikátů v zařízení pomocí příkazu specifického pro platformu.

    # Update the certificate store
    
    # For Ubuntu or Debian - use update-ca-certificates
    sudo update-ca-certificates
    # For EFLOW or RHEL - use update-ca-trust
    sudo update-ca-trust
    

    Další informace o použití update-ca-trust v EFLOW naleznete v tématu CBL-Mariner SSL CA správa certifikátů.

Příkaz hlásí jeden certifikát byl přidán do /etc/ssl/certs.

Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.

Aktualizace konfiguračního souboru podřízené položky

Na svém zařízení byste už měli mít nainstalovaný IoT Edge. Pokud ne, postupujte podle pokynů k ručnímu zřízení jednoho zařízení IoT Edge s Linuxem.

  1. Ověřte, že /etc/aziot/config.toml konfigurační soubor existuje na podřízené zařízení.

    Pokud konfigurační soubor na vašem zařízení neexistuje, vytvořte ho pomocí následujícího příkazu na základě souboru šablony:

    sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
    

    Soubor šablony můžete použít také jako odkaz na přidání parametrů konfigurace v této části.

  2. Otevřete konfigurační soubor IoT Edge pomocí editoru. Například pomocí editoru nano/etc/aziot/config.toml otevřete soubor.

    sudo nano /etc/aziot/config.toml
    
  3. Vyhledejte parametr parent_hostname nebo ho přidejte na začátek konfiguračního souboru Každý podřízený zařízení IoT Edge musí zadat parametr parent_hostname k identifikaci nadřazeného objektu. parent_hostname Aktualizujte parametr tak, aby byl plně kvalifikovaným názvem domény nebo IP adresou nadřazeného zařízení, který odpovídá názvu hostitele v konfiguračním souboru nadřazeného zařízení. Příklad:

    parent_hostname = "10.0.0.4"
    
  4. Vyhledejte parametr trust bundle cert nebo ho přidejte na začátek konfiguračního souboru.

    trust_bundle_cert Aktualizujte parametr pomocí identifikátoru URI souboru na kořenový certifikát certifikační autority na vašem zařízení. Příklad:

    trust_bundle_cert = "file:///var/aziot/certs/azure-iot-test-only.root.ca.cert.pem"
    
  5. V konfiguračním souboru vyhledejte nebo přidejte oddíl certifikátu certifikační autority Edge. Aktualizujte parametry certifikátu cert a privátního klíče pk pomocí cest identifikátoru URI souboru pro úplné řetězení certifikátů a souborů klíčů v podřízené zařízení IoT Edge. IoT Edge vyžaduje, aby certifikát a privátní klíč byly ve formátu PEM (Text-Based Privacy-Enhanced Mail). Příklad:

    [edge_ca]
    cert = "file:///var/aziot/certs/iot-device-downstream-full-chain.cert.pem"
    pk = "file:///var/aziot/secrets/iot-device-downstream.key.pem"
    
  6. Ověřte, že vaše zařízení IoT Edge používá při spuštění správnou verzi agenta IoT Edge. Vyhledejte část Výchozí agent Edge a nastavte hodnotu image pro IoT Edge na verzi 1.5. Příklad:

    [agent.config]
    image: "mcr.microsoft.com/azureiotedge-agent:1.5"
    
  7. Začátek konfiguračního souboru podřízeného serveru by měl vypadat podobně jako v následujícím příkladu.

    parent_hostname = "10.0.0.4"
    trust_bundle_cert = "file:///var/aziot/certs/azure-iot-test-only.root.ca.cert.pem"
    
    [edge_ca]
    cert = "file:///var/aziot/certs/iot-device-downstream-full-chain.cert.pem"
    pk = "file:///var/aziot/secrets/iot-device-downstream.key.pem"
    
  8. Uložte a zavřete config.toml konfigurační soubor. Pokud například používáte editor nano, vyberte Ctrl+O - Write Out, Enter a Ctrl+X - Exit.

  9. Pokud jste dříve použili nějaké jiné certifikáty pro IoT Edge, odstraňte soubory v následujících dvou adresářích a ujistěte se, že se použijí nové certifikáty:

    • /var/lib/aziot/certd/certs
    • /var/lib/aziot/keyd/keys
  10. Použijte změny.

    sudo iotedge config apply
    
  11. Zkontrolujte případné chyby v konfiguraci.

    sudo iotedge check --verbose
    

    Tip

    Nástroj pro kontrolu IoT Edge používá ke kontrole diagnostiky kontejner. Pokud chcete tento nástroj použít na podřízených zařízeních IoT Edge, ujistěte se, že mají přístup k mcr.microsoft.com/azureiotedge-diagnostics:latestimagi kontejneru ve vašem privátním registru kontejneru.

    Poznámka:

    Na nově zřízeném zařízení se může zobrazit chyba související se službou IoT Edge Hub:

    × provozní připravenosti: Adresář úložiště Edge Hubu je trvalý v systému souborů hostitele – chyba

    Nepodařilo se zkontrolovat aktuální stav kontejneru EdgeHub.

    Tato chyba se očekává na nově zřízeném zařízení, protože modul IoT Edge Hub není spuštěný. Pokud chcete tuto chybu vyřešit, nastavte v IoT Hubu moduly pro zařízení a vytvořte nasazení. Vytvoření nasazení pro zařízení spustí moduly na zařízení, včetně modulu IoT Edge Hubu.

Síťová izolace podřízených zařízení

Dosud uvedené kroky v tomto článku nastaví zařízení IoT Edge jako bránu nebo podřízené zařízení a vytvoří mezi nimi důvěryhodné připojení. Zařízení brány zpracovává interakce mezi podřízeným zařízením a IoT Hubem, včetně ověřování a směrování zpráv. Moduly nasazené do podřízených zařízení IoT Edge stále můžou vytvářet vlastní připojení ke cloudovým službám.

Některé síťové architektury, jako jsou architektury, které se řídí standardem ISA-95, se snaží minimalizovat počet připojení k internetu. V těchto scénářích můžete nakonfigurovat podřízená zařízení IoT Edge bez přímého připojení k internetu. Kromě směrování komunikace IoT Hubu prostřednictvím zařízení brány můžou podřízená zařízení IoT Edge spoléhat na zařízení brány pro všechna cloudová připojení.

Tato konfigurace sítě vyžaduje, aby přímé připojení ke cloudu měli jenom zařízení IoT Edge v horní vrstvě hierarchie brány. Zařízení IoT Edge v nižších vrstvách můžou komunikovat pouze s nadřazeným zařízením nebo všemi podřízenými zařízeními. Tento scénář umožňují speciální moduly na zařízeních brány, včetně následujících:

  • Modul proxy rozhraní API se vyžaduje na jakékoli bráně IoT Edge, která má pod sebou jiné zařízení IoT Edge. To znamená, že musí být na každé vrstvě hierarchie brány s výjimkou spodní vrstvy. Tento modul používá reverzní proxy server nginx ke směrování dat HTTP přes síťové vrstvy přes jeden port. Je vysoce konfigurovatelná prostřednictvím dvojčete modulu a proměnných prostředí, takže je můžete upravit tak, aby vyhovovala požadavkům na scénář brány.

  • Modul registru Dockeru je možné nasadit na bránu IoT Edge v horní vrstvě hierarchie brány. Tento modul zodpovídá za načítání a ukládání imagí kontejnerů do mezipaměti jménem všech zařízení IoT Edge v nižších vrstvách. Alternativou k nasazení tohoto modulu v horní vrstvě je použití místního registru nebo ruční načtení imagí kontejnerů do zařízení a nastavení zásad vyžádané replikace modulu na nikdy.

  • Azure Blob Storage ve službě IoT Edge je možné nasadit na bránu IoT Edge v horní vrstvě hierarchie brány. Tento modul zodpovídá za nahrávání objektů blob jménem všech zařízení IoT Edge v nižších vrstvách. Schopnost nahrávat objekty blob také umožňuje užitečné funkce řešení potíží pro zařízení IoT Edge v nižších vrstvách, jako je nahrávání protokolů modulů a podpora nahrávání sady prostředků.

Konfigurace sítě

Pro každé zařízení brány v horní vrstvě musí síťové operátory:

  • Zadejte statickou IP adresu nebo plně kvalifikovaný název domény (FQDN).

  • Autorizovat odchozí komunikaci z této IP adresy k názvu hostitele azure IoT Hubu přes porty 443 (HTTPS) a 5671 (AMQP).

  • Autorizace odchozí komunikace z této IP adresy na název hostitele služby Azure Container Registry přes port 443 (HTTPS).

    Modul proxy rozhraní API dokáže zpracovat připojení pouze k jednomu registru kontejneru najednou. Doporučujeme mít všechny image kontejnerů, včetně veřejných imagí poskytovaných službou Microsoft Container Registry (mcr.microsoft.com), uložené ve vašem privátním registru kontejneru.

Pro každé zařízení brány v nižší vrstvě musí síťové operátory:

  • Zadejte statickou IP adresu.
  • Autorizovat odchozí komunikaci z této IP adresy na IP adresu nadřazené brány přes porty 443 (HTTPS) a 5671 (AMQP).

Nasazení modulů do zařízení nejvyšší vrstvy

Zařízení IoT Edge v horní vrstvě hierarchie brány má sadu požadovaných modulů, které je potřeba do ní nasadit, a to kromě modulů úloh, které můžete na zařízení spustit.

Modul proxy rozhraní API byl navržen tak, aby byl přizpůsobený tak, aby zpracovával nejběžnější scénáře brány. Tento článek obsahuje příklad nastavení modulů v základní konfiguraci. Podrobnější informace a příklady najdete v tématu Konfigurace modulu proxy rozhraní API pro váš scénář hierarchie brány.

  1. Na webu Azure Portal přejděte do svého centra IoT.

  2. V nabídce Správa zařízení vyberte zařízení.

  3. Ze seznamu vyberte zařízení IoT Edge nejvyšší vrstvy, které konfigurujete.

  4. Vyberte Set modules (Nastavit moduly).

  5. V části Moduly IoT Edge vyberte Přidat a pak zvolte Modul Marketplace.

  6. Vyhledejte a vyberte modul proxy rozhraní API služby IoT Edge.

  7. V seznamu nasazených modulů vyberte název modulu proxy rozhraní API a aktualizujte následující nastavení modulu:

    1. Na kartě Proměnné prostředí aktualizujte hodnotu NGINX_DEFAULT_PORT na 443hodnotu .

    2. Na kartě Možnosti vytvoření kontejneru aktualizujte vazby portů tak, aby odkazy na port 443.

      {
        "HostConfig": {
          "PortBindings": {
            "443/tcp": [
              {
                "HostPort": "443"
              }
            ]
          }
        }
      }
      

    Tyto změny nakonfigurují modul proxy rozhraní API tak, aby naslouchal na portu 443. Pokud chcete zabránit kolizím vazby portů, musíte nakonfigurovat modul EdgeHub tak, aby na portu 443 neposlouchal. Místo toho bude modul proxy rozhraní API směrovat veškerý provoz edgeHubu na portu 443.

  8. Vyberte modul runtime Nastavení a najděte možnosti vytvoření modulu EdgeHub. Odstraňte vazbu portu 443 a ponechte vazby pro porty 5671 a 8883.

    {
      "HostConfig": {
        "PortBindings": {
          "5671/tcp": [
            {
              "HostPort": "5671"
            }
          ],
          "8883/tcp": [
            {
              "HostPort": "8883"
            }
          ]
        }
      }
    }
    
  9. Výběrem možnosti Uložit uložte změny v nastavení modulu runtime.

  10. Znovu vyberte Přidat a pak zvolte modul IoT Edge.

  11. Zadejte následující hodnoty pro přidání modulu registru Dockeru do vašeho nasazení:

    1. Název modulu IoT Edge: registry

    2. Na kartě Nastavení modulu identifikátor URI obrázku:registry:latest

    3. Na kartě Proměnné prostředí přidejte následující proměnné prostředí:

      • Název: Hodnota: REGISTRY_PROXY_REMOTEURLAdresa URL registru kontejneru, na který chcete tento modul registru namapovat. Například https://myregistry.azurecr.

        Modul registru se může mapovat jenom na jeden registr kontejneru, takže doporučujeme mít všechny image kontejnerů v jednom privátním registru kontejneru.

      • Název: Hodnota: REGISTRY_PROXY_USERNAMEUživatelské jméno pro ověření v registru kontejneru.

      • Název: Hodnota: REGISTRY_PROXY_PASSWORDHeslo pro ověření v registru kontejneru.

    4. Na kartě Možnosti vytvoření kontejneru vložte:

      {
          "HostConfig": {
              "PortBindings": {
                  "5000/tcp": [
                      {
                          "HostPort": "5000"
                      }
                  ]
              }
          }
      }
      
  12. Výběrem možnosti Přidat přidáte modul do nasazení.

  13. Vyberte Další: Trasy , které chcete přejít k dalšímu kroku.

  14. Pokud chcete povolit přístup ke službě IoT Hub ze zpráv typu zařízení-cloud z podřízených zařízení, uveďte trasu, která předává všechny zprávy do IoT Hubu. Příklad:

    1. Název: Route
    2. Hodnota: FROM /messages/* INTO $upstream
  15. Pokud chcete přejít na poslední krok, vyberte Zkontrolovat a vytvořit .

  16. Vyberte Vytvořit a nasaďte ho do zařízení.

Nasazení modulů do zařízení nižší vrstvy

Zařízení IoT Edge v nižších vrstvách hierarchie brány mají jeden požadovaný modul, který je potřeba do nich nasadit, kromě modulů úloh, které můžete na zařízení spustit.

Směrování vyžádání imagí kontejneru

Než začnete diskutovat o požadovaném modulu proxy pro zařízení IoT Edge v hierarchiích bran, je důležité pochopit, jak zařízení IoT Edge v nižších vrstvách získávají image modulů.

Pokud se vaše zařízení nižší vrstvy nemůžou připojit ke cloudu, ale chcete, aby načítá image modulů jako obvykle, musí být zařízení nejvyšší vrstvy hierarchie brány nakonfigurované tak, aby zpracovávala tyto požadavky. Zařízení nejvyšší vrstvy musí spustit modul registru Dockeru, který je namapovaný na váš registr kontejneru. Pak nakonfigurujte modul proxy rozhraní API tak, aby na něj směrovali požadavky na kontejnery. Tyto podrobnosti jsou popsány v předchozích částech tohoto článku. V této konfiguraci by zařízení nižší vrstvy neměly odkazovat na cloudové registry kontejnerů, ale na registr spuštěný v horní vrstvě.

Například místo volání mcr.microsoft.com/azureiotedge-api-proxy:1.1by měla volat $upstream:443/azureiotedge-api-proxy:1.1zařízení nižší vrstvy .

Parametr $upstream odkazuje na nadřazenou položku zařízení nižší vrstvy, takže požadavek bude směrovat přes všechny vrstvy, dokud nedosáhne horní vrstvy, která má požadavky na kontejner směrování proxy prostředí do modulu registru. Port :443 v tomto příkladu by se měl nahradit portem, na kterém naslouchá modul proxy rozhraní API na nadřazené zařízení.

Modul proxy rozhraní API může směrovat pouze na jeden modul registru a každý modul registru se může mapovat pouze na jeden registr kontejneru. Proto všechny image, které zařízení nižší vrstvy potřebují načíst, musí být uložené v jednom registru kontejneru.

Pokud nechcete, aby zařízení s nižší vrstvou řídila žádosti o přijetí změn modulů prostřednictvím hierarchie brány, další možností je spravovat řešení místního registru. Nebo před vytvořením nasazení nasdílejte image modulu do zařízení a pak nastavte imagePullPolicy tak, aby nikdy.

Spuštění agenta IoT Edge

Agent IoT Edge je první komponenta modulu runtime, která se spustí na jakémkoli zařízení IoT Edge. Musíte se ujistit, že všechna podřízená zařízení IoT Edge mají při spuštění přístup k imagi modulu edgeAgent a pak mají přístup k nasazením a spustit zbývající image modulu.

Když přejdete do konfiguračního souboru na zařízení IoT Edge a poskytnete jeho ověřovací informace, certifikáty a nadřazený název hostitele, aktualizujte také image kontejneru edgeAgent.

Pokud je zařízení brány nejvyšší úrovně nakonfigurované pro zpracování požadavků na image kontejneru, nahraďte mcr.microsoft.com nadřazeným názvem hostitele a portem nasloucháním proxy serveru rozhraní API. V manifestu nasazení můžete použít $upstream jako zástupce, ale to vyžaduje, aby modul EdgeHub zpracovával směrování a tento modul se v tomto okamžiku nezačala. Příklad:

[agent]
name = "edgeAgent"
type = "docker"

[agent.config]
image: "{Parent FQDN or IP}:443/azureiotedge-agent:1.5"

Pokud používáte místní registr kontejneru nebo ručně poskytujete image kontejneru v zařízení, odpovídajícím způsobem aktualizujte konfigurační soubor.

Konfigurace modulu runtime a nasazení modulu proxy

Pro směrování veškeré komunikace mezi cloudem a všemi podřízenými zařízeními IoT Edge se vyžaduje modul proxy rozhraní API. Zařízení IoT Edge v dolní vrstvě hierarchie bez podřízených zařízení IoT Edge tento modul nepotřebuje.

Modul proxy rozhraní API byl navržen tak, aby byl přizpůsobený tak, aby zpracovával nejběžnější scénáře brány. Tento článek stručně popisuje postup nastavení modulů v základní konfiguraci. Podrobnější informace a příklady najdete v tématu Konfigurace modulu proxy rozhraní API pro váš scénář hierarchie brány.

  1. Na webu Azure Portal přejděte do svého centra IoT.

  2. V nabídce Správa zařízení vyberte zařízení.

  3. Ze seznamu vyberte zařízení IoT Edge nižší vrstvy, které konfigurujete.

  4. Vyberte Set modules (Nastavit moduly).

  5. V části Moduly IoT Edge vyberte Přidat a pak zvolte Modul Marketplace.

  6. Vyhledejte a vyberte modul proxy rozhraní API služby IoT Edge.

  7. V seznamu nasazených modulů vyberte název modulu proxy rozhraní API a aktualizujte následující nastavení modulu:

    1. Na kartě Nastavení modulu aktualizujte hodnotu identifikátoru URI obrázku. Nahraďte mcr.microsoft.com$upstream:443.

    2. Na kartě Proměnné prostředí aktualizujte hodnotu NGINX_DEFAULT_PORT na 443hodnotu .

    3. Na kartě Možnosti vytvoření kontejneru aktualizujte vazby portů tak, aby odkazy na port 443.

      {
        "HostConfig": {
          "PortBindings": {
            "443/tcp": [
              {
                "HostPort": "443"
              }
            ]
          }
        }
      }
      

    Tyto změny nakonfigurují modul proxy rozhraní API tak, aby naslouchal na portu 443. Pokud chcete zabránit kolizím vazby portů, musíte nakonfigurovat modul EdgeHub tak, aby na portu 443 neposlouchal. Místo toho bude modul proxy rozhraní API směrovat veškerý provoz edgeHubu na portu 443.

  8. Vyberte modul runtime Nastavení.

  9. Aktualizujte nastavení modulu EdgeHub:

    1. V poli Obrázek nahraďte mcr.microsoft.com textem $upstream:443.
    2. V poli Vytvořit možnosti odstraňte vazbu portu 443 a ponechejte vazby pro porty 5671 a 8883.
    {
      "HostConfig": {
        "PortBindings": {
          "5671/tcp": [
            {
              "HostPort": "5671"
            }
          ],
          "8883/tcp": [
            {
              "HostPort": "8883"
            }
          ]
        }
      }
    }
    
  10. Aktualizujte nastavení modulu edgeAgent:

    1. V poli Obrázek nahraďte mcr.microsoft.com textem $upstream:443.
  11. Výběrem možnosti Uložit uložte změny v nastavení modulu runtime.

  12. Vyberte Další: Trasy , které chcete přejít k dalšímu kroku.

  13. Pokud chcete povolit přístup ke službě IoT Hub zpráv typu zařízení-cloud z podřízených zařízení, zahrňte trasu, která předává všechny zprávy $upstreamdo služby . Upstream parametr odkazuje na nadřazené zařízení v případě zařízení nižší vrstvy. Příklad:

    1. Název: Route
    2. Hodnota: FROM /messages/* INTO $upstream
  14. Pokud chcete přejít na poslední krok, vyberte Zkontrolovat a vytvořit .

  15. Vyberte Vytvořit a nasaďte ho do zařízení.

Ověření připojení z podřízené položky k nadřazené po nadřazené

  1. Spuštěním následujícího openssl příkazu na podřízeném zařízení v podřízeném zařízení ověřte připojení TLS/SSL z podřízeného objektu k nadřazené posílání. Nahraďte <parent hostname> plně kvalifikovaným názvem domény nebo IP adresou nadřazeného objektu.

    openssl s_client -connect <parent hostname>:8883 </dev/null 2>&1 >/dev/null
    

    Příkaz by měl potvrdit úspěšné ověření nadřazeného řetězu certifikátů podobně jako v následujícím příkladu:

    azureUser@child-vm:~$ openssl s_client -connect <parent hostname>:8883 </dev/null 2>&1 >/dev/null
    Can't use SSL_get_servername
    depth=3 CN = Azure_IoT_Hub_CA_Cert_Test_Only
    verify return:1
    depth=2 CN = Azure_IoT_Hub_Intermediate_Cert_Test_Only
    verify return:1
    depth=1 CN = gateway.ca
    verify return:1
    depth=0 CN = <parent hostname>
    verify return:1
    DONE
    

    Zprávu "Nejde použít SSL_get_servername" je možné ignorovat.

    Hodnota depth=0 CN = by se měla shodovat s parametrem názvu hostitele zadaným v konfiguračním souboru nadřazeného objektu config.toml .

    Pokud vyprší časový limit příkazu, mezi podřízenými a nadřazenými zařízeními můžou být blokované porty. Zkontrolujte konfiguraci a nastavení sítě pro zařízení.

    Upozorňující

    Pokud nepoužíváte úplný řetězový certifikát v části brány [edge_ca] , výsledkem jsou chyby ověření certifikátu z podřízeného zařízení. Například výše uvedený openssl s_client ... příkaz vytvoří:

    Can't use SSL_get_servername
    depth=1 CN = gateway.ca
    verify error:num=20:unable to get local issuer certificate
    verify return:1
    depth=0 CN = <parent hostname>
    verify return:1
    DONE
    

    K tomuto problému dochází u zařízení s povoleným protokolem TLS, která se připojují k podřízené zařízení IoT Edge, pokud se na podřízené zařízení nepoužívá a nenakonfiguruje úplný řetězový certifikát zařízení.

Integrace Microsoft Defenderu pro IoT s bránou IoT Edge

Podřízená zařízení se dají použít k integraci mikro agenta Microsoft Defenderu pro IoT s bránou IoT Edge pomocí proxy podřízeného zařízení.

Přečtěte si další informace o mikro agentu Defenderu pro IoT.

Integrace Microsoft Defenderu pro IoT se službou IoT Edge s využitím proxy podřízených zařízení:

  1. Přihlaste se k portálu Azure.

  2. Přejděte na zařízení pro správu>zařízení ioT Hubu.>Your Hub>

  3. Vyberte své zařízení.

    Snímek obrazovky znázorňující umístění vašeho zařízení pro výběr

  4. DefenderIotMicroAgent V těchto pokynech vyberte dvojče modulu, které jste vytvořili.

    Snímek obrazovky znázorňující umístění agenta DefenderIotMicroAgent

  5. Výběrem tlačítka zkopírujte řetězec Připojení ionu (primární klíč).

  6. Vložte řetězec Připojení ion do textové aplikace pro úpravy a přidejte do řetězce GatewayHostName. Například HostName=nested11.azure-devices.net;DeviceId=downstream1;ModuleId=module1;SharedAccessKey=xxx;GatewayHostName=10.16.7.4.

  7. Otevřete terminál na podřízené zařízení.

  8. Pomocí následujícího příkazu umístěte připojovací řetězec kódovaný v adresáři agenta Defender for Cloud do souboru connection_string.txt v následující cestě: /etc/defender_iot_micro_agent/connection_string.txt

    sudo bash -c 'echo "<connection string>" > /etc/defender_iot_micro_agent/connection_string.txt'
    

    Nyní by měla být umístěna connection_string.txt v následujícím umístění /etc/defender_iot_micro_agent/connection_string.txtcesty .

  9. Restartujte službu pomocí tohoto příkazu:

    sudo systemctl restart defender-iot-micro-agent.service 
    
  10. Přejděte zpět na zařízení.

    Snímek obrazovky znázorňující, jak přejít zpět na vaše zařízení

  11. Povolte připojení ke službě IoT Hub a vyberte ikonu ozubeného kola.

    Snímek obrazovky znázorňující, co vybrat, pokud chcete nastavit nadřazené zařízení

  12. V zobrazeném seznamu vyberte nadřazené zařízení.

  13. Ujistěte se, že je otevřený port 8883 (MQTT) mezi podřízeným zařízením a zařízením IoT Edge.

Další kroky

Jak se dá zařízení IoT Edge využít jako brána

Konfigurace modulu proxy rozhraní API pro scénář hierarchie brány