Delen via


IoT Edge-apparaten op schaal maken en inrichten in Linux met behulp van symmetrische sleutels

Van toepassing op:IoT Edge 1.5-vinkje IoT Edge 1.5

Belangrijk

IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS is het einde van de levensduur vanaf 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

Dit artikel bevat stapsgewijze instructies voor het instellen van een of meer Linux IoT Edge-apparaten met behulp van symmetrische sleutels. Azure IoT Edge-apparaten automatisch instellen met de Azure IoT Hub Device Provisioning Service (DPS). Als u niet bekend bent met het proces voor automatisch inrichten, raadpleegt u het inrichtingsoverzicht voordat u doorgaat.

Dit zijn de belangrijkste taken:

  1. Maak een afzonderlijke inschrijving voor één apparaat of een groepsinschrijving voor een set apparaten.
  2. Installeer de IoT Edge-runtime en maak verbinding met de IoT Hub.

Aanbeveling

Probeer het azure IoT Edge-configuratieprogramma voor een vereenvoudigde ervaring. Dit opdrachtregelprogramma, momenteel in openbare preview, installeert IoT Edge op uw apparaat en richt het in met dps en symmetrische sleutelattestation.

Attestatie met symmetrische sleutels is een eenvoudige manier om een apparaat te authenticeren via een apparaatvoorzieningsservice. Deze methode is een 'Hallo wereld'-ervaring voor ontwikkelaars die geen ervaring hebben met het inrichten van apparaten of die geen strikte beveiligingsvereisten hebben. Apparaatverklaring met tpm- of X.509-certificaten is veiliger en u moet deze gebruiken voor strengere beveiligingsbehoeften.

Vereisten

Cloudresources

Vereisten voor apparaten

Gebruik een fysiek of virtueel Linux-apparaat als ioT Edge-apparaat.

Definieer een uniekeregistratie-id om elk apparaat te identificeren. Gebruik het MAC-adres, serienummer of unieke informatie van het apparaat. Combineer bijvoorbeeld een MAC-adres en serienummer om een registratie-id te vormen, zoals sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6. Geldige tekens zijn alfanumerieke kleine letters en streepje (-).

Een DPS-inschrijving maken

Maak een inschrijving om een of meer apparaten in te richten via DPS.

Als u één IoT Edge-apparaat wilt inrichten, maakt u een afzonderlijke inschrijving. Als u meerdere apparaten wilt inrichten, volgt u de stappen voor het maken van een DPS-groepsinschrijving.

Wanneer u een inschrijving in DPS maakt, hebt u de mogelijkheid om een eerste apparaatdubbelstatus te declareren. In de apparaatdubbel kunt u tags instellen om apparaten te groeperen op basis van de metrische gegevens die u nodig hebt in uw oplossing, zoals regio, omgeving, locatie of apparaattype. Deze tags worden gebruikt om automatische implementaties te maken.

Zie Apparaatinschrijvingen beheren voor meer informatie over inschrijvingen in de device provisioning-service.

Een afzonderlijke DPS-inschrijving maken

Aanbeveling

De stappen in dit artikel zijn bedoeld voor Azure Portal, maar u kunt ook afzonderlijke inschrijvingen maken met behulp van de Azure CLI. Zie az iot dps enrollment voor meer informatie. Als onderdeel van de CLI-opdracht gebruikt u de vlag edge om op te geven dat de inschrijving voor een IoT Edge-apparaat is.

  1. Navigeer in Azure Portal naar uw exemplaar van de IoT Hub-apparaatinrichtingsservice.

  2. Selecteer Onder Instellingen de optie Inschrijvingen beheren.

  3. Selecteer Afzonderlijke inschrijving toevoegen en voer vervolgens de volgende stappen uit om de inschrijving te configureren:

    1. Selecteer bij Mechanisme symmetrische sleutel.

    2. Geef een unieke registratie-id op voor uw apparaat.

    3. Geef eventueel een IoT Hub-apparaat-id op voor uw apparaat. U kunt apparaat-id's gebruiken om een afzonderlijk apparaat te richten voor module-implementatie. Als u geen apparaat-id opgeeft, wordt de registratie-id gebruikt.

    4. Selecteer Waar om aan te geven dat de inschrijving voor een IoT Edge-apparaat is.

    5. U kunt eventueel een tagwaarde toevoegen aan de eerste apparaatdubbelstatus. U kunt tags gebruiken voor doelgroepen van apparaten voor module-implementatie. Voorbeeld:

      {
         "tags": {
            "environment": "test"
         },
         "properties": {
            "desired": {}
         }
      }
      
    6. Selecteer Opslaan.

  4. Kopieer de primaire sleutelwaarde van de afzonderlijke inschrijving die moet worden gebruikt bij het installeren van de IoT Edge-runtime.

Nu er een inschrijving voor dit apparaat bestaat, kan de IoT Edge-runtime het apparaat automatisch inrichten tijdens de installatie.

IoT Edge installeren

In deze sectie bereidt u uw virtuele Linux-machine of fysiek apparaat voor op IoT Edge. Vervolgens installeert u IoT Edge.

Voer de volgende opdrachten uit om de pakketopslagplaats toe te voegen en voeg vervolgens de ondertekeningssleutel van het Microsoft-pakket toe aan uw lijst met vertrouwde sleutels.

Belangrijk

Op 30 juni 2022 werd Raspberry Pi OS Stretch buiten gebruik gesteld van de ondersteuningslijst van het besturingssysteem tier 1. Werk uw hostbesturingssysteem bij naar Bullseye om potentiële beveiligingsproblemen te voorkomen.

Voor platformbesturingssystemen die in laag 2 worden ondersteund, worden installatiepakketten beschikbaar gesteld in Azure IoT Edge-releases. Zie de installatiestappen in Offline of specifieke versie-installatie (optioneel).

Installatie kan worden uitgevoerd met een paar opdrachten. Open een terminal en voer de volgende opdrachten uit:

  • 24.04:

    wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    
  • 22.04:

    wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    
  • 20.04:

    wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    

Zie ondersteunde platformen van Azure IoT Edge voor meer informatie over besturingssysteemversies.

Notitie

Azure IoT Edge-softwarepakketten zijn onderworpen aan de licentievoorwaarden die zich in elk pakket (usr/share/doc/{package-name} of de LICENSE map) bevinden. Lees de licentievoorwaarden voordat u een pakket gebruikt. Uw installatie en het gebruik van een pakket vormen uw aanvaarding van deze voorwaarden. Als u niet akkoord gaat met de licentievoorwaarden, gebruikt u dat pakket niet.

Een containerengine installeren

Azure IoT Edge is afhankelijk van een OCI-compatibele containerruntime. Voor productiescenario's raden we u aan de Moby-engine te gebruiken. De Moby-engine is de containerengine die officieel wordt ondersteund met IoT Edge. Docker CE/EE-containerinstallatiekopieën zijn compatibel met de Moby-runtime. Als u Ubuntu Core-snaps gebruikt, wordt de Docker-module onderhouden door Canonical en ondersteund voor productiescenario's.

Installeer de Moby-engine.

sudo apt-get update; \
  sudo apt-get install moby-engine

De containerengine stelt standaard geen limieten voor de grootte van containerlogboeken in. Na verloop van tijd kan deze situatie ertoe leiden dat het apparaat volloopt met logboeken en onvoldoende schijfruimte heeft. U kunt uw logboek echter zo configureren dat dit lokaal wordt weergegeven, hoewel dit optioneel is. Zie Voorbereiden voor het implementeren van uw IoT Edge-oplossing in productie voor meer informatie over de configuratie van logboekregistratie.

In de volgende stappen ziet u hoe u uw container configureert voor het gebruik van local het logboekregistratiestuurprogramma als het mechanisme voor logboekregistratie.

  1. Het configuratiebestand van de bestaande Docker-daemon maken of bewerken

    sudo nano /etc/docker/daemon.json
    
  2. Stel het standaardstuurprogramma voor logboekregistratie in op het local logboekregistratiestuurprogramma, zoals wordt weergegeven in het voorbeeld.

       {
          "log-driver": "local"
       }
    
  3. Start de containerengine opnieuw om de wijzigingen van kracht te laten worden.

    sudo systemctl restart docker
    

De IoT Edge-runtime installeren

De IoT Edge-service biedt en onderhoudt beveiligingsstandaarden op het IoT Edge-apparaat. De service wordt gestart bij elke opstartbewerking en bootstrapt het apparaat door de rest van de IoT Edge-runtime te starten.

Notitie

Vanaf versie 1.2 verwerkt de Azure IoT-identiteitsservice het inrichten en beheren van identiteiten voor IoT Edge en voor andere apparaatonderdelen die moeten communiceren met IoT Hub.

De stappen in deze sectie vertegenwoordigen het gebruikelijke proces voor het installeren van de nieuwste IoT Edge-versie op een apparaat met internetverbinding. Als u een specifieke versie, zoals een voorlopige versie, wilt installeren of offline wilt installeren, volgt u de stappen voor offline - of specifieke versie-installatie verderop in dit artikel.

Aanbeveling

Als u al een IoT Edge-apparaat met een oudere versie hebt en een upgrade wilt uitvoeren naar de nieuwste versie, gebruikt u de stappen in IoT Edge bijwerken. Latere versies verschillen voldoende van eerdere versies van IoT Edge die specifieke stappen nodig zijn om een upgrade uit te voeren.

Installeer de nieuwste versie van IoT Edge en het IoT Identity Service-pakket (als u nog niet up-to-date bent):

  • 22.04:

    sudo apt-get update; \
       sudo apt-get install aziot-edge
    
  • 20.04:

    sudo apt-get update; \
       sudo apt-get install aziot-edge
    

Het apparaat inrichten met de cloudidentiteit

Zodra de runtime op uw apparaat is geïnstalleerd, configureert u het apparaat met de informatie die wordt gebruikt om verbinding te maken met de apparaatinrichtingsservice en IoT Hub.

Zorg ervoor dat de volgende informatie gereed is:

  • De waarde van het DPS-id-bereik
  • De apparaatregistratie-id die u hebt gemaakt
  • De primaire sleutel van een afzonderlijke inschrijving of een afgeleide sleutel voor apparaten met behulp van een groepsinschrijving.

Maak een configuratiebestand voor uw apparaat op basis van een sjabloonbestand dat is opgegeven als onderdeel van de IoT Edge-installatie.

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

Open het configuratiebestand op het IoT Edge-apparaat.

sudo nano /etc/aziot/config.toml
  1. Zoek de sectie Inrichten van het bestand. Haal de opmerkingen weg bij de regels voor DPS-provisioning met een symmetrische sleutel en zorg ervoor dat alle andere provisioningregels zijn uitgecommentarieerd.

    # DPS provisioning with symmetric key
    [provisioning]
    source = "dps"
    global_endpoint = "https://global.azure-devices-provisioning.net"
    id_scope = "PASTE_YOUR_SCOPE_ID_HERE"
    
    # Uncomment to send a custom payload during DPS registration
    # payload = { uri = "PATH_TO_JSON_FILE" }
    
    [provisioning.attestation]
    method = "symmetric_key"
    registration_id = "PASTE_YOUR_REGISTRATION_ID_HERE"
    
    symmetric_key = { value = "PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE" }
    
    # auto_reprovisioning_mode = Dynamic
    
  2. Werk de waarden van id_scope, registration_iden symmetric_key met uw DPS- en apparaatgegevens bij.

    De parameter voor de symmetrische sleutel kan een inlinesleutel, een bestands-URI of een PKCS#11-URI accepteren. Verwijder opmerkingen bij slechts één symmetrische sleutellijn, op basis van de indeling die u gebruikt. Als u een inlinesleutel gebruikt, gebruikt u een base64-gecodeerde sleutel, zoals in het voorbeeld. Als u een bestands-URI gebruikt, moet het bestand de onbewerkte bytes van de sleutel bevatten.

    Als u PKCS#11 URI's gebruikt, zoekt u de sectie PKCS#11 in het configuratiebestand en voert u uw PKCS#11-configuratiegegevens in.

    Zie IoT Edge-apparaatinstellingen configureren voor meer informatie over het inrichten van configuratie-instellingen.

  3. Zoek desgewenst de sectie voor de automatische herinrichtingsmodus van het bestand. Gebruik de auto_reprovisioning_mode parameter om het herinrichtingsgedrag van uw apparaat in te stellen. Dynamisch : opnieuw inrichten wanneer het apparaat detecteert dat het van de ene IoT Hub naar het andere kan worden verplaatst. Dit is de standaardinstelling. AlwaysOnStartup : opnieuw inrichten wanneer het apparaat opnieuw wordt opgestart of een crash veroorzaakt dat de daemons opnieuw worden opgestart. OnErrorOnly : het opnieuw inrichten van apparaten wordt nooit automatisch geactiveerd. Elke modus heeft een impliciete terugval van het opnieuw inrichten van apparaten als het apparaat geen verbinding kan maken met IoT Hub tijdens het inrichten van identiteiten vanwege connectiviteitsfouten. Zie concepten voor het opnieuw inrichten van IoT Hub-apparaten voor meer informatie.

  4. Verwijder desgewenst de opmerking bij de payload parameter om het pad naar een lokaal JSON-bestand op te geven. De inhoud van het bestand wordt naar DPS verzonden als extra gegevens wanneer het apparaat wordt geregistreerd. Dit is handig voor aangepaste toewijzing. Als u bijvoorbeeld uw apparaten wilt toewijzen op basis van een IoT-Plug en Play model-id zonder menselijke tussenkomst.

  5. Sla het bestand op en sluit het bestand.

  6. Pas de configuratiewijzigingen toe die u op het apparaat hebt aangebracht.

    sudo iotedge config apply
    

Geslaagde installatie controleren

Als de runtime is gestart, gaat u naar uw IoT Hub en begint u met het implementeren van IoT Edge-modules op uw apparaat.

Controleer of de afzonderlijke inschrijving die u hebt gemaakt in de Device Provisioning Service wordt gebruikt. Ga naar uw instantie van de apparaatvoorbereidingsservice in de Azure-portal. Open de inschrijvingsgegevens voor de afzonderlijke inschrijving die u hebt gemaakt. De status van de inschrijving is toegewezen, en de apparaat-ID wordt vermeld.

Voer deze opdrachten uit op uw apparaat om te controleren of IoT Edge is geïnstalleerd en gestart.

  1. Controleer de status van de IoT Edge-service.

    sudo iotedge system status
    
  2. Servicelogboeken weergeven.

    sudo iotedge system logs
    
  3. Lijst met actieve modules.

    sudo iotedge list
    

Volgende stappen

Met het registratieproces voor de device provisioning service kunt u de apparaat-id en apparaatdubbeltags instellen wanneer u een nieuw apparaat instelt. Gebruik deze waarden om individuele apparaten of groepen apparaten te richten op het automatische beheer van apparaten. Meer informatie over het implementeren en bewaken van IoT Edge-modules op schaal met behulp van Azure Portal of met behulp van Azure CLI.