Een IoT Edge-apparaat configureren zodat deze werkt als een transparante gateway

Van toepassing op:  Ja pictogram IoT Edge 1,1 andere versies: IOT Edge 1,2

Van toepassing op:  Ja pictogram IoT Edge 1,2 andere versies: IOT Edge 1,1

Dit artikel bevat gedetailleerde instructies voor het configureren van een IoT Edge om te functioneren als een transparante gateway voor andere apparaten om te communiceren met IoT Hub. In dit artikel wordt de term IoT Edge gateway gebruikt om te verwijzen naar IoT Edge apparaat dat is geconfigureerd als een transparante gateway. Zie How an IoT Edge device can be used as a gateway (Hoe een IoT Edge worden gebruikt als gateway) voor meer informatie.

Notitie

In IoT Edge versie 1.1 en ouder kan een IoT Edge niet downstream zijn van een IoT Edge-gateway.

Downstreamapparaten kunnen geen bestand uploaden.

Notitie

Downstreamapparaten kunnen geen bestand uploaden.

Er zijn drie algemene stappen voor het instellen van een geslaagde transparante gatewayverbinding. In dit artikel wordt de eerste stap beschreven:

  1. Configureer het gatewayapparaat als een server, zodat downstreamapparaten er veilig verbinding mee kunnen maken. Stel de gateway in voor het ontvangen van berichten van downstreamapparaten en routeer deze naar de juiste bestemming.
  2. Maak een apparaat-id voor het downstreamapparaat zodat het kan worden geverifieerd met IoT Hub. Configureer het downstreamapparaat voor het verzenden van berichten via het gatewayapparaat. Zie Een downstreamapparaat verifiëren voor deze stappen Azure IoT Hub.
  3. Verbinding maken downstreamapparaat naar het gatewayapparaat en begin met het verzenden van berichten. Zie een downstreamapparaat Verbinding maken naar een Azure IoT Edge gatewayvoor deze stappen.

Een apparaat kan alleen als gateway fungeren als het veilig verbinding moet maken met de downstreamapparaten. Met Azure IoT Edge kunt u een PKI (Public Key Infrastructure) gebruiken om beveiligde verbindingen tussen apparaten in te stellen. In dit geval staat u toe dat een downstreamapparaat verbinding maakt met een IoT Edge als een transparante gateway. Voor een redelijke beveiliging moet het downstreamapparaat de identiteit van het gatewayapparaat bevestigen. Deze identiteitscontrole voorkomt dat uw apparaten verbinding maken met mogelijk schadelijke gateways.

Een downstreamapparaat kan elke toepassing of elk platform zijn met een identiteit die is gemaakt met de Azure IoT Hub cloudservice. Deze toepassingen maken vaak gebruik van de Azure IoT Device SDK. Een downstreamapparaat kan zelfs een toepassing zijn die wordt uitgevoerd op IoT Edge gatewayapparaat zelf. Een apparaat IoT Edge echter niet downstream van een IoT Edge gateway.

Een downstreamapparaat kan elke toepassing of elk platform zijn met een identiteit die is gemaakt met de Azure IoT Hub cloudservice. Deze toepassingen maken vaak gebruik van de Azure IoT Device SDK. Een downstreamapparaat kan zelfs een toepassing zijn die wordt uitgevoerd op IoT Edge gatewayapparaat zelf.

U kunt een certificaatinfrastructuur maken die de vertrouwensrelatie mogelijk maakt die vereist is voor de topologie van uw apparaatgateway. In dit artikel gaan we ervan uit dat u dezelfde certificaatinstelling gebruikt als voor het inschakelen van X.509 CA-beveiliging in IoT Hub, waarbij een X.509 CA-certificaat is gekoppeld aan een specifieke IoT-hub (de basis-CA van de IoT-hub), een reeks certificaten die zijn ondertekend met deze CA en een CA voor het IoT Edge-apparaat.

Notitie

De term basis-CA-certificaat dat in deze artikelen wordt gebruikt, verwijst naar het hoogste openbare certificeringscertificaat van de PKI-certificaatketen en niet noodzakelijkerwijs het basiscertificaat van een bevoegde certificeringsinstantie. In veel gevallen is het in feite een tussenliggend openbaar CA-certificaat.

De volgende stappen helpen u bij het maken van de certificaten en het installeren ervan op de juiste plaatsen op de gateway. U kunt elke computer gebruiken om de certificaten te genereren en deze vervolgens naar uw apparaat IoT Edge kopiëren.

Vereisten

Een Linux- of Windows apparaat met IoT Edge geïnstalleerd.

Als u nog geen apparaat bij de hand hebt, kunt u er een maken op een virtuele Azure-machine. Volg de stappen in Uw eerste IoT Edge-module implementeren op een virtueel Linux-apparaat om een IoT Hub te maken, een virtuele machine te maken en de IoT Edge configureren.

Het CA-certificaat voor het apparaat instellen

Op IoT Edge gateways moet een CA-apparaatcertificaat zijn geïnstalleerd. De IoT Edge-beveiligingsdeemon gebruikt het CA-certificaat van het IoT Edge-apparaat om een CA-certificaat voor workloads te ondertekenen, dat op zijn beurt een servercertificaat voor IoT Edge hub ondertekent. De gateway presenteert het servercertificaat aan het downstreamapparaat tijdens het initiëren van de verbinding. Het downstreamapparaat controleert of het servercertificaat deel uitmaakt van een certificaatketen die naar het basis-CA-certificaat wordt geworpen. Met dit proces kan het downstreamapparaat bevestigen dat de gateway afkomstig is van een vertrouwde bron. Zie Understand how Azure IoT Edge uses certificates (Begrijpen hoe Azure IoT Edge certificaten gebruikt) voor meer informatie.

Installatie van gatewaycertificaat

Het basis-CA-certificaat en het CA-certificaat van het apparaat (met de persoonlijke sleutel) moeten aanwezig zijn op het IoT Edge-gatewayapparaat en worden geconfigureerd in het IoT Edge configuratiebestand. Onthoud dat in dit geval het basis-CA-certificaat de bovenste certificeringsinstantie voor dit IoT Edge betekent. Het CA-certificaat van het gatewayapparaat en de downstreamapparaatcertificaten moeten worden gebruikt voor hetzelfde basis-CA-certificaat.

Tip

Het proces van het installeren van het basis-CA-certificaat en het CA-certificaat van het apparaat op een IoT Edge-apparaat wordt ook uitgebreid beschreven in Certificaten op een IoT Edge beheren.

De volgende bestanden zijn gereed:

  • Basis-CA-certificaat
  • CA-apparaatcertificaat
  • Persoonlijke ca-sleutel voor apparaat

Voor productiescenario's moet u deze bestanden genereren met uw eigen certificeringsinstantie. Voor ontwikkelings- en testscenario's kunt u democertificaten gebruiken.

Als u geen eigen certificeringsinstantie hebt en democertificaten wilt gebruiken, volgt u de instructies in Democertificaten maken om de functies van IoT Edge te testen om uw bestanden te maken. Op die pagina moet u de volgende stappen ondernemen:

  1. Stel eerst de scripts in voor het genereren van certificaten op uw apparaat.
  2. Maak een basis-CA-certificaat. Aan het einde van deze instructies hebt u een basis-CA-certificaatbestand:
    • <path>/certs/azure-iot-test-only.root.ca.cert.pem.
  3. Ca-IoT Edge apparaat maken. Aan het einde van deze instructies hebt u een CA-certificaat voor het apparaat en de persoonlijke sleutel:
    • <path>/certs/iot-edge-device-<cert name>-full-chain.cert.pem En
    • <path>/private/iot-edge-device-<cert name>.key.pem

Als u de certificaten op een andere computer hebt gemaakt, kopieert u ze naar IoT Edge apparaat en gaat u verder met de volgende stappen.

  1. Open op IoT Edge apparaat het configuratiebestand van de beveiligingsdemon.

    • Windows: C:\ProgramData\iotedge\config.yaml
    • Linux: /etc/iotedge/config.yaml
  2. Zoek de sectie Certificaatinstellingen van het bestand. De vier regels verwijderen die beginnen met certificaten: en geef de bestands-URI's aan uw drie bestanden op als waarden voor de volgende eigenschappen:

    • device_ca_cert: CA-apparaatcertificaat
    • device_ca_pk: persoonlijke ca-sleutel van apparaat
    • trusted_ca_certs: basis-CA-certificaat

    Zorg ervoor dat er geen voorgaande witruimte is op de regel certificaten: en dat de andere regels zijn ingesprongen door twee spaties.

  3. Sla het bestand op en sluit het.

  4. Start IoT Edge.

    • Windows: Restart-Service iotedge
    • Linux: sudo systemctl restart iotedge
  1. Open op IoT Edge apparaat het configuratiebestand: /etc/aziot/config.toml

    Tip

    Als het configuratiebestand nog niet bestaat op uw apparaat, gebruikt u als /etc/aziot/config.toml.edge.template sjabloon om er een te maken.

  2. Zoek de trust_bundle_cert parameter . Als u deze regel wilt verwijderen, geeft u de bestands-URI op aan het basis-CA-certificaatbestand op uw apparaat.

  3. Zoek de [edge_ca] sectie van het bestand. De drie regels in deze sectie verwijderen en de bestands-URI's voor uw certificaat en sleutelbestanden als waarden voor de volgende eigenschappen:

    • certificaat: CA-certificaat voor apparaat
    • pk: persoonlijke ca-sleutel voor apparaat
  4. Sla het bestand op en sluit het.

  5. Pas de wijzigingen toe.

    sudo iotedge config apply
    

EdgeHub en routeberichten implementeren

Downstreamapparaten verzenden telemetrie en berichten naar het gatewayapparaat, waar de IoT Edge Hub-module verantwoordelijk is voor het routeren van de informatie naar andere modules of naar IoT Hub. Als u uw gatewayapparaat wilt voorbereiden voor deze functie, moet u ervoor zorgen dat:

  • De IoT Edge hub-module wordt op het apparaat geïmplementeerd.

    Wanneer u de IoT Edge op een apparaat installeert, wordt er slechts één systeemmodule automatisch gestart: de IoT Edge agent. Zodra u de eerste implementatie voor een apparaat hebt gedaan, wordt ook de tweede systeemmodule, de IoT Edge hub, gestart. Als de edgeHub-module niet op uw apparaat wordt uitgevoerd, maakt u een implementatie voor uw apparaat.

  • De IoT Edge hub-module heeft routes ingesteld voor het afhandelen van binnenkomende berichten van downstreamapparaten.

    Het gatewayapparaat moet een route hebben om berichten van downstreamapparaten te verwerken, anders worden deze berichten niet verwerkt. U kunt de berichten verzenden naar modules op het gatewayapparaat of rechtstreeks naar IoT Hub.

Volg deze stappen om IoT Edge hubmodule te implementeren en deze te configureren met routes voor het verwerken van inkomende berichten van downstreamapparaten:

  1. Ga in Azure Portal naar uw IoT-hub.

  2. Ga naar IoT Edge selecteer uw IoT Edge apparaat dat u als gateway wilt gebruiken.

  3. Selecteer Modules instellen.

  4. Op de pagina Modules kunt u alle modules toevoegen die u wilt implementeren op het gatewayapparaat. Voor de doeleinden van dit artikel richten we ons op het configureren en implementeren van de edgeHub-module, die niet expliciet hoeft te worden ingesteld op deze pagina.

  5. Selecteer Volgende: Routes.

  6. Zorg ervoor dat er op de pagina Routes een route is om berichten te verwerken die afkomstig zijn van downstreamapparaten. Bijvoorbeeld:

    • Een route die alle berichten, van een module of van een downstreamapparaat, naar een IoT Hub:

      • Naam: allMessagesToHub
      • Waarde: FROM /messages/* INTO $upstream
    • Een route die alle berichten van alle downstreamapparaten naar de IoT Hub:

      • Naam: allDownstreamToHub
      • Waarde: FROM /messages/* WHERE NOT IS_DEFINED ($connectionModuleId) INTO $upstream

      Deze route werkt omdat er, in tegenstelling tot berichten van IoT Edge modules, berichten van downstreamapparaten geen module-id aan zijn gekoppeld. Met behulp van de WHERE-component van de route kunnen berichten met die systeem-eigenschap worden gefilterd.

      Zie Modules implementeren en routes maken voor meer informatie over berichtroutering.

  7. Zodra uw route of routes zijn gemaakt, selecteert u Beoordelen en maken.

  8. Selecteer op de pagina Beoordelen en maken de optie Maken.

Poorten openen op gatewayapparaat

Standard IoT Edge-apparaten hebben geen binnenkomende connectiviteit nodig om te functioneren, omdat alle communicatie met IoT Hub wordt uitgevoerd via uitgaande verbindingen. Gatewayapparaten verschillen omdat ze berichten moeten ontvangen van hun downstreamapparaten. Als er een firewall tussen de downstreamapparaten en het gatewayapparaat is, moet communicatie ook mogelijk zijn via de firewall.

Een gatewayscenario werkt alleen als ten minste één van de ondersteunde protocollen van IoT Edge hub is geopend voor inkomende verkeer van downstreamapparaten. De ondersteunde protocollen zijn MQTT, AMQP, HTTPS, MQTT via WebSockets en AMQP via WebSockets.

Poort Protocol
8883 MQTT
5671 AMQP
443 HTTPS
MQTT+WS
AMQP +WS

Volgende stappen

Nu u een nieuw IoT Edge hebt ingesteld als een transparante gateway, moet u uw downstreamapparaten configureren om de gateway te vertrouwen en er berichten naar te verzenden. Ga door naar Een downstreamapparaat verifiëren om Azure IoT Hub voor de volgende stappen bij het instellen van uw transparante gatewayscenario.