Terminologie van IoT Hub Device Provisioning Service (DPS)

IoT Hub Device Provisioning Service is een helperservice voor IoT Hub die u gebruikt om zero-touch-apparaatinrichting te configureren voor een opgegeven IoT-hub. Met Device Provisioning Service kunt u miljoenen apparaten op een veilige en schaalbare manier inrichten .

Apparaatinrichting is een proces van twee onderdelen. Het eerste deel is het tot stand brengen van de eerste verbinding tussen het apparaat en de IoT-oplossing door het apparaat te registreren. Het tweede deel is het toepassen van de juiste configuratie op het apparaat op basis van de specifieke vereisten van de oplossing. Zodra beide stappen zijn voltooid, is het apparaat volledig ingericht. De Device Provisioning Service automatiseert beide stappen en biedt zo een naadloze ervaring voor de inrichting van het apparaat.

Dit artikel bevat een overzicht van de inrichtingsconcepten die het meest van toepassing zijn op het beheren van de service. Dit artikel is het meest relevant voor persona's die betrokken zijn bij de cloudinstallatiestap om een apparaat gereed te maken voor implementatie.

Eindpunt voor servicebewerkingen

Het eindpunt voor servicebewerkingen is het eindpunt voor het beheren van de service-instellingen en het onderhouden van de inschrijvingslijst. Dit eindpunt wordt alleen gebruikt door de servicebeheerder; het wordt niet gebruikt door apparaten.

Eindpunt voor apparaatinrichting

Het eindpunt voor apparaatinrichting is het eindpunt dat alle apparaten gebruiken voor automatisch inrichten. De URL is hetzelfde voor alle exemplaren van de inrichtingsservice, om te voorkomen dat apparaten opnieuw moeten worden geflitst met nieuwe verbindingsgegevens in supply chain-scenario's. Het id-bereik zorgt voor tenantisolatie.

Gekoppelde IoT-hubs

Device Provisioning Service kan alleen apparaten inrichten voor IoT-hubs die eraan zijn gekoppeld. Een IoT-hub koppelen aan een exemplaar van Device Provisioning Service geeft de service lees-/schrijfmachtigingen voor het apparaatregister van de IoT-hub; met de koppeling kan een Device Provisioning Service een apparaat-id registreren en de initiële configuratie instellen in de apparaatdubbel. Gekoppelde IoT-hubs kunnen zich in elke Azure-regio bevinden. U kunt hubs in andere abonnementen koppelen aan uw inrichtingsservice.

Toewijzingsbeleid

De instelling op serviceniveau die bepaalt hoe Device Provisioning Service apparaten toewijst aan een IoT-hub. Er zijn vier ondersteunde toewijzingsbeleidsregels:

  • Gelijkmatig gewogen distributie: gekoppelde IoT-hubs hebben even waarschijnlijk apparaten ingericht. De standaardinstelling. Als u apparaten voor slechts één IoT-hub inricht, kunt u deze instelling handhaven.

  • Laagste latentie: apparaten worden ingericht voor een IoT-hub met de laagste latentie voor het apparaat. Als meerdere gekoppelde IoT-hubs dezelfde laagste latentie zouden bieden, heeft de inrichtingsservice hashes-apparaten in deze hubs

  • Statische configuratie via de inschrijvingslijst: specificatie van de gewenste IoT-hub in de inschrijvingslijst heeft prioriteit boven het toewijzingsbeleid op serviceniveau.

  • Aangepast (Azure-functie gebruiken): met een aangepast toewijzingsbeleid hebt u meer controle over hoe apparaten worden toegewezen aan een IoT-hub. Dit wordt bereikt door aangepaste code in een Azure-functie te gebruiken om apparaten toe te wijzen aan een IoT-hub. De device provisioning service roept uw Azure Function-code aan die alle relevante informatie over het apparaat en de inschrijving voor uw code levert. De functiecode wordt uitgevoerd en retourneert de gegevens van de IoT-hub die worden gebruikt om het apparaat in te richten.

Inschrijving

Een inschrijving is de record van apparaten of groepen apparaten die zich kunnen registreren via automatisch inrichten. De inschrijvingsrecord bevat informatie over het apparaat of de groep apparaten, waaronder:

  • het attestation-mechanisme dat door het apparaat wordt gebruikt
  • de optionele initiële gewenste configuratie
  • Gewenste IoT-hub
  • de gewenste apparaat-id

Er zijn twee typen inschrijvingen die worden ondersteund door Device Provisioning Service:

Inschrijvingsgroep

Een inschrijvingsgroep is een groep apparaten die een specifiek attestation-mechanisme delen. Inschrijvingsgroepen ondersteunen X.509-certificaat of attestation met symmetrische sleutels. Apparaten in een X.509-inschrijvingsgroep bevatten X.509-certificaten die zijn ondertekend door dezelfde basis- of tussenliggende certificeringsinstantie (CA). De algemene naam van het onderwerp (CN) van het end-entity-certificaat (leaf) van elk apparaat wordt de registratie-id voor dat apparaat. Apparaten in een symmetrische sleutelinschrijvingsgroep bevatten SAS-tokens die zijn afgeleid van de symmetrische groepssleutel.

De naam van de inschrijvingsgroep en de registratie-id's die door apparaten worden gepresenteerd, moeten hoofdlettergevoelige tekenreeksen van alfanumerieke tekens plus de speciale tekens zijn: '-', '.', '_', . ':' Het laatste teken moet alfanumeriek of streepje ('-') zijn. De naam van de inschrijvingsgroep mag maximaal 128 tekens lang zijn. In symmetrische sleutelinschrijvingsgroepen kunnen de registratie-id's die door apparaten worden gepresenteerd, maximaal 128 tekens lang zijn. In X.509-inschrijvingsgroepen, omdat de maximale lengte van de algemene naam van het onderwerp in een X.509-certificaat echter 64 tekens is, zijn de registratie-id's beperkt tot 64 tekens.

Voor apparaten in een inschrijvingsgroep wordt de registratie-id ook gebruikt als de apparaat-id die is geregistreerd bij IoT Hub.

Fooi

U wordt aangeraden een inschrijvingsgroep te gebruiken voor een groot aantal apparaten die een gewenste initiële configuratie delen, of voor apparaten die allemaal naar dezelfde tenant gaan.

Afzonderlijke inschrijving

Een afzonderlijke inschrijving is een vermelding voor één apparaat dat zich kan registreren. Afzonderlijke inschrijvingen kunnen X.509-certificaten of SAS-tokens (van een fysieke of virtuele TPM) gebruiken als attestation-mechanismen. De registratie-id in een afzonderlijke inschrijving is een hoofdlettergevoelige tekenreeks met alfanumerieke tekens plus de speciale tekens: '-', '.', '_', . ':' Het laatste teken moet alfanumeriek of streepje ('-') zijn. DPS ondersteunt registratie-id's van maximaal 128 tekens.

Voor X.509 afzonderlijke inschrijvingen wordt de algemene naam van het onderwerp (CN) van het certificaat de registratie-id, zodat de algemene naam moet voldoen aan de tekenreeksindeling van de registratie-id. De algemene naam van het onderwerp heeft een maximale lengte van 64 tekens, dus de registratie-id is beperkt tot 64 tekens voor X.509-inschrijvingen.

Voor afzonderlijke inschrijvingen is mogelijk de gewenste IoT Hub-apparaat-id opgegeven in de inschrijvingsvermelding. Als deze niet is opgegeven, wordt de registratie-id de apparaat-id die is geregistreerd bij IoT Hub.

U kunt het inrichten van een specifiek apparaat tijdelijk of permanent toestaan of blokkeren via Device Provisioning Service door de inrichtingsstatus van een inschrijving te beheren

Fooi

We raden u aan afzonderlijke inschrijvingen te gebruiken voor apparaten waarvoor unieke initiële configuraties zijn vereist, of voor apparaten die alleen kunnen worden geverifieerd met behulp van SAS-tokens via TPM-attestation.

Attestation-mechanisme

Een attestation-mechanisme is de methode die wordt gebruikt voor het bevestigen van de identiteit van een apparaat. Het attestation-mechanisme wordt geconfigureerd voor een inschrijvingsvermelding en vertelt de inrichtingsservice welke methode moet worden gebruikt bij het verifiëren van de identiteit van een apparaat tijdens de registratie.

Notitie

IoT Hub maakt gebruik van 'verificatieschema' voor een vergelijkbaar concept in die service.

Device Provisioning Service ondersteunt de volgende vormen van attestation:

  • X.509-certificaten op basis van de standaard X.509-certificaatverificatiestroom. Zie X.509 Attestation voor meer informatie.
  • Trusted Platform Module (TPM) op basis van een niet-ce-uitdaging, met behulp van de TPM-standaard voor sleutels om een ondertekend SAS-token (Shared Access Signature) te presenteren. Hiervoor is geen fysieke TPM op het apparaat vereist, maar de service verwacht dat deze de goedkeuringssleutel gebruikt volgens de TPM-specificatie. Zie TPM-attestation voor meer informatie.
  • Symmetrische sleutel op basis van SAS-tokens (Shared Access Signature), waaronder een hash-handtekening en een ingesloten vervaldatum. Zie Attestation voor symmetrische sleutels voor meer informatie.

Hardwarebeveiligingsmodule

De hardwarebeveiligingsmodule of HSM wordt gebruikt voor veilige, hardwaregebaseerde opslag van apparaatgeheimen en is de veiligste vorm van geheime opslag. Zowel X.509-certificaten als SAS-tokens kunnen worden opgeslagen in de HSM. HSM's kunnen worden gebruikt met beide attestation-mechanismen die de inrichtingsservice ondersteunt.

Fooi

We raden u ten zeerste aan om een HSM met apparaten te gebruiken om geheimen veilig op uw apparaten op te slaan.

Apparaatgeheimen kunnen ook worden opgeslagen in software (geheugen), maar het is een minder veilige vorm van opslag dan een HSM.

Id-bereik

Het id-bereik wordt toegewezen aan een Device Provisioning Service wanneer het wordt gemaakt door de gebruiker en wordt gebruikt om de specifieke inrichtingsservice te identificeren waarmee het apparaat wordt geregistreerd. Het id-bereik wordt gegenereerd door de service en is onveranderbaar, wat uniekheid garandeert.

Notitie

Uniekheid is belangrijk voor langdurige implementatiebewerkingen en fusie- en overnamescenario's.

Registratierecord

Een registratierecord is de record van een apparaat dat is geregistreerd/ingericht voor een IoT Hub via Device Provisioning Service. Registratierecords worden automatisch gemaakt; ze kunnen worden verwijderd, maar ze kunnen niet worden bijgewerkt.

Registratie-id

De registratie-id wordt gebruikt om een apparaatregistratie uniek te identificeren bij Device Provisioning Service. De registratie-id moet uniek zijn in het bereik van de inrichtingsservice-id. Elk apparaat moet een registratie-id hebben. De registratie-id is een niet-hoofdlettergevoelige tekenreeks van alfanumerieke tekens plus de speciale tekens: '-', '.', '_', . ':' Het laatste teken moet alfanumeriek of streepje ('-') zijn. DPS ondersteunt registratie-id's van maximaal 128 tekens.

  • In het geval van TPM wordt de registratie-id door de TPM zelf verstrekt.
  • In het geval van attestation op basis van X.509 wordt de registratie-id ingesteld op de algemene naam van het onderwerp (CN) van het apparaatcertificaat. Daarom moet de algemene naam voldoen aan de tekenreeksindeling van de registratie-id. De registratie-id is echter beperkt tot 64 tekens, omdat dit de maximale lengte is van de algemene naam van het onderwerp in een X.509-certificaat.

Apparaat-ID

De apparaat-id is de id zoals deze wordt weergegeven in IoT Hub. De gewenste apparaat-id kan worden ingesteld in de inschrijvingsvermelding, maar hoeft niet te worden ingesteld. Het instellen van de gewenste apparaat-id wordt alleen ondersteund in afzonderlijke inschrijvingen. Als er geen gewenste apparaat-id wordt opgegeven in de registratielijst, wordt de registratie-id gebruikt als de apparaat-id bij het registreren van het apparaat. Meer informatie over apparaat-id's in IoT Hub.

Operations

Bewerkingen zijn de factureringseenheid van Device Provisioning Service. Eén bewerking is de geslaagde voltooiing van één instructie voor de service. Dit omvat de registratie en herregistratie van apparaten en wijzigingen aan de serverkant, zoals het toevoegen en bijwerken van inschrijvingslijsten.