Wat is Azure IoT Hub Device Provisioning Service?

Microsoft Azure biedt een uitgebreide set geïntegreerde openbare cloudservices om tegemoet te komen aan al uw IoT-vragen. IoT Hub Device Provisioning Service (DPS) is een helper-service die zero-touch mogelijk maakt, het Just-In-Time inrichten naar de juiste IoT Hub zonder tussenkomst van de gebruiker. Met DPS kunnen miljoenen apparaten op een veilige en schaalbare manier worden ingericht.

Veel van de handmatige stappen die gebruikelijk zijn bij het inrichten van apparaten zijn geautomatiseerd met DPS om zo het implementeren van IoT-apparaten te versnellen en de kans op handmatige fouten te verkleinen. In het volgende diagram wordt beschreven wat er achter de schermen gebeurt om een apparaat in te richten. De eerste stap is handmatig, alle overige gebeuren automatisch.

Diagram dat laat zien hoe het apparaat, Device Provisioning Service en IoT Hub samenwerken.

Voordat de apparaatinrichtingsstroom begint, moet u twee handmatige stappen voorbereiden. Aan de apparaatzijde bereidt de apparaatfabrikant het apparaat voor op inrichting door het vooraf te configureren met de bijbehorende verificatiereferenties en toegewezen Device Provisioning Service-id en -eindpunt. Aan de cloudzijde bereidt u of de fabrikant van het apparaat het Device Provisioning Service-exemplaar voor met afzonderlijke inschrijvingen en registratiegroepen die geldige apparaten identificeren en definiëren hoe ze moeten worden ingericht.

Zodra het apparaat en de cloud zijn ingesteld voor inrichting, worden de volgende stappen automatisch gestart zodra het apparaat voor de eerste keer wordt ingeschakeld:

  1. Wanneer het apparaat voor het eerst wordt ingeschakeld, maakt het verbinding met het DPS-eindpunt en worden verificatiereferenties weergegeven.
  2. Het DPS-exemplaar controleert de identiteit van het apparaat op basis van de inschrijvingslijst. Zodra de apparaat-id is geverifieerd, wijst DPS het apparaat toe aan een IoT-hub en registreert het in de hub.
  3. Het DPS-exemplaar ontvangt de apparaat-id en registratiegegevens van de toegewezen hub en geeft die informatie door aan het apparaat.
  4. Het apparaat gebruikt de registratiegegevens om rechtstreeks verbinding te maken met de toegewezen IoT-hub en te verifiëren.
  5. Zodra de verificatie is uitgevoerd, beginnen het apparaat en de IoT-hub rechtstreeks te communiceren. Het DPS-exemplaar heeft verder geen rol als intermediair, tenzij het apparaat opnieuw moet worden ingericht.

Wanneer Device Provisioning Service gebruiken

Er zijn veel scenario's waarin DPS een uitstekende keuze is voor het verbinden en configureren van apparaten met IoT Hub, zoals:

  • Apparaat zonder tussenkomst van gebruiker inrichten voor een afzonderlijke IoT-oplossing zonder dat hiervoor in de fabriek (eerste installatie) hardcoding van verbindingsgegevens voor IoT-Hub nodig is
  • Taakverdeling van apparaten over meerdere hubs
  • Apparaten verbinden met de IoT-oplossing van de eigenaar op basis van verkooptransactiegegevens (multitenancy)
  • Apparaten verbinden met een bepaalde IoT-oplossing, afhankelijk van het gebruiksscenario (isolatie van oplossing)
  • Apparaat met de laagst mogelijke latentie (geo-sharding) verbinden met de IoT-hub
  • Herinrichten op basis van een wijziging op het apparaat
  • Aanpassen van de sleutels die door het apparaat worden gebruikt om verbinding te maken met IoT Hub (als er geen verbinding wordt gemaakt met behulp van X.509-certificaten)

Het inrichten van geneste IoT Edge apparaten (bovenliggende/onderliggende hiërarchieën) wordt momenteel niet ondersteund door DPS.

Inrichtingsproces

Er zijn twee verschillende stappen in het implementatieproces van een apparaat waarbij DPS een rol speelt en die onafhankelijk kunnen worden uitgevoerd:

  • De productiestap waarin het apparaat wordt gemaakt en voorbereid in de fabriek, en
  • De configuratiestap voor de cloud waarin Device Provisioning Service wordt geconfigureerd voor automatisch inrichten.

Beide stappen sluiten naadloos aan op bestaande productie- en implementatieprocessen. DPS vereenvoudigt zelfs enkele implementatieprocessen die handmatig werk vereisen om verbindingsgegevens op het apparaat te krijgen.

Productiestap

Deze stap omvat alles wat te maken heeft met de productielijn. Voorbeelden van rollen die zijn betrokken bij deze stap zijn siliciumontwerper, siliciumfabrikant, integrator en/of de eindfabrikant van het apparaat. Deze stap gaat om het maken van de hardware zelf.

DPS introduceert geen nieuwe stap in het productieproces. De service wordt geïntegreerd in de bestaande stap waarmee de eerste versie van de software en (in het ideale geval) de HSM op het apparaat worden geïnstalleerd. In plaats van een apparaat-id te maken in deze stap, wordt het apparaat geprogrammeerd met de gegevens van de inrichtingsservice, waardoor het apparaat bij inschakeling de service kan aanroepen om de verbindingsgegevens/toewijzing van de IoT-oplossing op te vragen.

In deze stap verstrekt de fabrikant ook belangrijke identificatiegegevens aan de persoon die het apparaat implementeert/gebruikt (operator). Het verstrekken van die gegevens kan zo eenvoudig zijn als het bevestigen dat alle apparaten beschikken over een X.509-certificaat dat is gegenereerd op basis van een ondertekend certificaat dat is geleverd door de persoon die het apparaat implementeert/gebruikt, of zo ingewikkeld als het extraheren van het openbare deel van een TPM-goedkeuringssleutel van elk TPM-apparaat. Deze services worden vandaag de dag aangeboden door verschillende fabrikanten van silicium.

Configuratiestap voor de cloud

Deze stap betreft het configureren van de cloud voor een juiste automatische inrichting. In het algemeen er zijn twee typen gebruikers betrokken bij deze stap: iemand die weet hoe apparaten in eerste instantie moeten worden geconfigureerd (een operator van apparaten) en iemand anders die weet hoe apparaten moeten worden verdeeld tussen de IoT-hubs (een operator van oplossingen).

De inrichting moet in eerste instantie eenmalig worden geconfigureerd, wat meestal wordt afgehandeld door de operator van de oplossing. Zodra de inrichtingsservice is geconfigureerd, hoeft deze niet meer te worden gewijzigd, tenzij het gebruiksscenario verandert.

Nadat de service is geconfigureerd voor automatische inrichting, moet de service worden voorbereid voor de registratie van apparaten. Deze stap wordt uitgevoerd door de apparaatoperator, die de gewenste configuratie van het apparaat(en) kent en verantwoordelijk is voor het controleren of de inrichtingsservice de identiteit van het apparaat correct kan bevestigen wanneer het zoekt naar de IoT-hub. De operator van het apparaat neemt de belangrijkste identificatiegegevens van de fabrikant en voegt deze toe aan de lijst met registraties. De lijst met registraties kan nog worden gewijzigd als er nieuwe items worden toegevoegd of bestaande vermeldingen worden bijgewerkt met de meest recente informatie over de apparaten.

Registratie en inrichting

Inrichting kan verschillende dingen betekenen, afhankelijk van de branche waarin de term wordt gebruikt. In de context van het inrichten van IoT-apparaten bij hun cloudoplossing bestaat het proces uit twee delen:

  1. Het eerste deel omvat het tot stand brengen van de eerste verbinding tussen het apparaat en de IoT-oplossing door het apparaat te registreren.
  2. Het tweede gedeelte bestaat uit het toepassen van de juiste configuratie op het apparaat op basis van de specifieke vereisten van de oplossing waarbij het apparaat is geregistreerd.

Als beide stappen zijn voltooid, kunnen we zeggen dat het apparaat volledig is ingericht. Sommige cloudservices bieden alleen de eerste stap van het inrichtingsproces, het registreren van apparaten bij het eindpunt van de IoT-oplossing, maar niet de eerste configuratie. DPS automatiseert beide stappen en biedt zo een naadloze ervaring voor de inrichting van het apparaat.

Functies van Device Provisioning Service

DPS bevat allerlei functies, waardoor de service ideaal is voor het inrichten van apparaten.

  • Ondersteuning voor beveiligde attestation voor identiteiten op basis van zowel X.509 als TPM.
  • Lijst van registraties met een volledig overzicht van de apparaten/groepen apparaten die op enige moment kunnen worden geregistreerd. De registratielijst bevat informatie over de gewenste configuratie van het apparaat als dit wordt geregistreerd en de lijst kan op elk gewenst moment worden bijgewerkt.
  • Meerdere toewijzingsbeleidsregels om te bepalen hoe DPS apparaten toewijst aan IoT-hubs ter ondersteuning van uw scenario's: Laagste latentie, gelijkmatig gewogen distributie (standaard) en statische configuratie. De latentie wordt bepaald met dezelfde methode als voor Traffic Manager. Aangepaste toewijzing, waarmee u uw eigen toewijzingsbeleid kunt implementeren via webhooks die worden gehost in Azure Functions, wordt ook ondersteund.
  • Controle en logboekregistratie van diagnostische gegevens om ervoor te zorgen dat alles goed werkt.
  • Ondersteuning voor meerdere hubs zorgt ervoor dat DPS apparaten kan toewijzen aan meer dan één IoT-hub. DPS kan communiceren met hubs binnen verschillende Azure-abonnementen.
  • Ondersteuning voor meerdere regio's zorgt ervoor dat DPS apparaten kan toewijzen aan IoT-hubs in andere regio's.
  • Versleuteling voor data-at-rest zorgt ervoor dat gegevens in DPS worden versleuteld en ontsleuteld met 256-bits AES-versleuteling, een zeer krachtige blokversleuteling die voldoet aan FIPS 140-2.

U vindt meer informatie over de concepten en functies die betrokken zijn bij het inrichten van apparaten door het artikel DPS-terminologie te bekijken, samen met de andere conceptuele artikelen in dezelfde sectie.

Ondersteuning voor meerdere platformen

Net als alle Azure IoT-services werkt DPS platformoverschrijdend met verschillende besturingssystemen. Azure biedt opensource-SDK's in verschillende talen om het verbinden van apparaten en het beheren van de service te vergemakkelijken. DPS ondersteunt de volgende protocollen voor het verbinden van apparaten:

  • HTTPS
  • AMQP
  • AMQP via WebSockets
  • MQTT
  • MQTT via WebSockets

DPS ondersteunt alleen HTTPS-verbindingen voor servicebewerkingen.

Regio's

DPS is in diverse regio's beschikbaar. De lijst met ondersteunde regio's voor alle services is beschikbaar op Azure-regio's. U kunt de beschikbaarheid van Device Provisioning Service controleren op de pagina Status van Azure.

Voor tolerantie en betrouwbaarheid raden we u aan te implementeren in een van de regio's die ondersteuning bieden voor Beschikbaarheidszones.

Overweging voor gegevenslocatie

Device Provisioning Service slaat geen klantgegevens op of verwerkt deze buiten het geografische gebied waar u het service-exemplaar implementeert. Zie Replicatie tussen regio's in Azure voor meer informatie.

DPS maakt echter standaard gebruik van hetzelfde eindpunt voor apparaatinrichting voor alle exemplaren van de inrichtingsservice en voert taakverdeling van verkeer uit naar het dichtstbijzijnde beschikbare service-eindpunt. Als gevolg hiervan kunnen verificatiegeheimen tijdelijk worden overgedragen buiten de regio waar het DPS-exemplaar in eerste instantie is gemaakt. Zodra het apparaat is verbonden, stromen de apparaatgegevens echter rechtstreeks naar de oorspronkelijke regio van het DPS-exemplaar.

Gebruik een privé-eindpunt om ervoor te zorgen dat uw gegevens niet de regio verlaten waarin uw DPS-exemplaar is gemaakt. Zie Azure IoT Device Provisioning Service (DPS) support for virtual networks (Azure IoT Device Provisioning Service) voor meer informatie over het instellen van privé-eindpunten.

Quota en limieten

Voor elk Azure-abonnement gelden standaardquotalimieten. Deze limieten kunnen invloed hebben op het bereik van uw IoT-oplossing. De huidige limiet voor een abonnementsvariant is 10 Device Provisioning Services per abonnement.

Zie Servicelimieten voor Azure-abonnementen voor meer informatie over quotumlimieten.

Notitie

Sommige gebieden van deze service hebben aanpasbare limieten. Dit wordt weergegeven in de onderstaande tabellen met de kolom Aanpasbaar? . Wanneer de limiet kan worden aangepast, is de waarde Aanpasbaar?Ja.

De werkelijke waarde waaraan een limiet kan worden aangepast, kan variëren op basis van de implementatie van elke klant. Er kunnen meerdere exemplaren van DPS nodig zijn voor zeer grote implementaties.

Als uw bedrijf een aanpasbare limiet of quotum boven de standaardlimiet moet verhogen, kunt u een aanvraag indienen voor aanvullende resources door een ondersteuningsticket te openen. Het aanvragen van een verhoging garandeert niet dat deze zal worden toegekend, aangezien het per geval moet worden beoordeeld. Neem zo vroeg mogelijk tijdens de implementatie contact op met Microsoft Ondersteuning om te bepalen of uw aanvraag kan worden goedgekeurd en plan dienovereenkomstig.

In de volgende tabel staan de limieten die van toepassing zijn op Azure IoT Hub Device Provisioning Service-resources.

Resource Limiet Verstelbare?
Maximaal aantal services voor apparaatinrichting per Azure-abonnement 10 Yes
Maximaal aantal registraties 1.000.000 Yes
Maximum aantal afzonderlijke inschrijvingen 1.000.000 Yes
Maximum aantal inschrijvingsgroepen (X.509-certificaat) 100 Yes
Maximum aantal inschrijvingsgroepen (symmetrische sleutel) 100 No
Maximaal aantal CA's 25 Yes
Maximaal aantal gekoppelde IoT-hubs 50 No
Maximale berichtgrootte 96 kB No

Tip

Als de harde limiet voor symmetrische sleutelinschrijvingsgroepen een blokkerend probleem is, is het raadzaam om afzonderlijke inschrijvingen als tijdelijke oplossing te gebruiken.

Device Provisioning Service heeft de volgende frequentielimieten.

Tarief Waarde per eenheid Verstelbare?
Operations 1000/min/service Yes
Apparaatregistraties 1000/min/service Yes
Bewerking voor apparaatpolling 5/10 sec/apparaat No

Factureerbare servicebewerkingen en prijzen

Elke API-aanroep op DPS kan als één bewerking worden gefactureerd. Dit omvat alle service-API's en de API voor apparaatregistratie.

In de onderstaande tabellen ziet u de huidige factureerbare status voor elke DPS-service-API-bewerking. Voor meer informatie over prijzen voor DPS selecteert u Prijstabel boven aan de pagina met Azure IoT Hub prijzen. Selecteer vervolgens het tabblad IoT Hub Device Provisioning Service en de valuta en regio voor uw service.

API Bewerking Factureerbare?
Apparaat-API Apparaatregistratiestatus opzoeken No
Apparaat-API Bewerkingsstatus opzoeken No
Apparaat-API Apparaat registreren Yes
DPS-service-API (registratiestatus) Verwijderen Yes
DPS-service-API (registratiestatus) Ophalen Yes
DPS-service-API (registratiestatus) Query Yes
DPS-service-API (inschrijvingsgroep) Maken of bijwerken Yes
DPS-service-API (inschrijvingsgroep) Verwijderen Yes
DPS-service-API (inschrijvingsgroep) Ophalen Yes
DPS-service-API (inschrijvingsgroep) Attestation-mechanisme ophalen Yes
DPS-service-API (inschrijvingsgroep) Query Yes
DPS-service-API (inschrijvingsgroep) Bulkbewerking uitvoeren Yes
DPS Service-API (afzonderlijke inschrijving) Maken of bijwerken Yes
DPS Service-API (afzonderlijke inschrijving) Verwijderen Yes
DPS Service-API (afzonderlijke inschrijving) Ophalen Yes
DPS Service-API (afzonderlijke inschrijving) Attestation-mechanisme ophalen Yes
DPS Service-API (afzonderlijke inschrijving) Query Yes
DPS Service-API (afzonderlijke inschrijving) Bulkbewerking uitvoeren Yes
DPS-certificaat-API Maken of bijwerken No
DPS-certificaat-API Verwijderen No
DPS-certificaat-API Verificatiecode genereren No
DPS-certificaat-API Ophalen No
DPS-certificaat-API List No
DPS-certificaat-API Certificaat verifiëren No
IoT DPS-resource-API Beschikbaarheid van naam van inrichtingsservice controleren No
IoT DPS-resource-API Maken of bijwerken No
IoT DPS-resource-API Verwijderen No
IoT DPS-resource-API Ophalen No
IoT DPS-resource-API Bewerkingsresultaat ophalen No
IoT DPS-resource-API Lijst op resourcegroep No
IoT DPS-resource-API Lijst per abonnement No
IoT DPS-resource-API Lijst op sleutels No
IoT DPS-resource-API Sleutels voor sleutelnaam weergeven No
IoT DPS-resource-API Geldige SKU's weergeven No
IoT DPS-resource-API Bijwerken No

Met DPS kunnen apparaten met behulp van Azure IoT Hub automatisch worden ingericht. Lees hier meer informatie over IoT Hub.

Notitie

Het inrichten van geneste edge-apparaten (bovenliggende/onderliggende hiërarchieën) wordt momenteel niet ondersteund door DPS.

IoT Central-toepassingen gebruiken een intern DPS-exemplaar om apparaatverbindingen te beheren. Raadpleeg voor meer informatie:

Volgende stappen

U hebt nu een algemeen beeld van het inrichten van IoT-apparaten in Azure. De volgende stap is het uitproberen van een compleet IoT-scenario.

IoT Hub Device Provisioning Service instellen met Azure Portal

Een gesimuleerd apparaat maken en inrichten