Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
IoT Hub Device Provisioning Service (DPS) är en hjälptjänst för IoT Hub som möjliggör zero-touch- och just-in-time-etablering till rätt IoT-hubb utan mänsklig inblandning. I en molnbaserad lösning möjliggör DPS etablering av miljontals enheter på ett säkert och skalbart sätt. Många av de manuella steg som traditionellt ingår i etableringen automatiseras med DPS för att minska tiden för att distribuera IoT-enheter och minska risken för manuella fel.
Så här fungerar enhetsetableringstjänsten
Följande diagram beskriver vad som händer i bakgrunden för att etablera en enhet med DPS.
Innan enhetsetableringsflödet börjar finns det två manuella steg att förbereda:
- På enhetssidan förbereder enhetstillverkaren enheten för etablering genom att förkonfigurera den med sina autentiseringsuppgifter och tilldelad enhetsetableringstjänst-ID och slutpunkt.
- På molnsidan förbereder du eller enhetstillverkaren instansen av enhetsetableringstjänsten med registreringar som identifierar giltiga enheter och definierar hur de ska etableras.
När enheten och molnet har konfigurerats för etablering börjar följande steg automatiskt när enheten aktiveras för första gången:
- Enheten aktiveras för första gången och ansluter sedan till DPS-slutpunkten och visar autentiseringsuppgifterna.
- DPS-instansen kontrollerar enhetens identitet mot registreringslistan. När enhetsidentiteten har verifierats tilldelar DPS enheten till en IoT-hubb och registrerar den i hubben.
- DPS-instansen tar emot enhets-ID och registreringsinformation från den tilldelade hubben och skickar tillbaka informationen till enheten.
- Enheten använder sin registreringsinformation för att ansluta direkt till sin tilldelade IoT-hubb och autentisera.
- Enheten och IoT-hubben börjar kommunicera direkt. DPS-instansen har ingen ytterligare roll som mellanhand om inte enheten behöver återprovisioneras.
När du ska använda Device Provisioning Service
Det finns många etableringsscenarier där DPS är ett utmärkt val för att ansluta och konfigurera enheter till IoT Hub, till exempel:
- Zero-touch-etablering till en enda IoT-lösning utan hårdkodning av IoT Hub-anslutningsinformation i fabriken (inledande installation)
- Belastningsutjämningsenheter över flera hubbar
- Ansluta enheter till ägarens IoT-lösning baserat på försäljningstransaktionsdata (flera klientorganisationer)
- Ansluta enheter till en viss IoT-lösning beroende på användningsfall (lösningsisolering)
- Ansluta en enhet till IoT-hubben med den lägsta latensen (geo-sharding)
- Omkonfigurering på grund av en förändring i enheten
- Rulla nycklarna som används av enheten för att ansluta till IoT Hub (när du inte använder X.509-certifikat för att ansluta)
DPS stöder inte etablering av kapslade IoT Edge-enheter (överordnade/underordnade hierarkier).
Tilldelningsprocess
Det finns två steg som utförs före en enhetsetablering med DPS:
- Tillverkningssteget där enheten skapas och förbereds i fabriken, och
- Steget för molnkonfiguration där enhetsetableringstjänsten har konfigurerats för automatisk etablering.
Båda dessa steg kan införlivas i befintliga tillverkning- och distributionsprocesser. DPS förenklar till och med vissa distributionsprocesser som omfattar manuellt arbete för att få anslutningsinformation till enheten.
Tillverkningssteg
Det här steget handlar om vad som händer på tillverkningslinjen. De roller som ingår i det här steget är kiseldesigner, kiseltillverkare, integratör och/eller enhetens sluttillverkare. Det här steget handlar om att skapa själva maskinvaran.
DPS introducerar inte något nytt steg i tillverkningsprocessen. I stället är det knutet till det befintliga steget som installerar den ursprungliga programvaran och (helst) maskinvarusäkerhetsmodulen (HSM) på enheten. I stället för att skapa ett enhets-ID i det här steget programmeras enheten med etableringstjänstens information, vilket gör att den kan anropa etableringstjänsten för att hämta sin anslutningsinformation/IoT-lösningstilldelning när den aktiveras.
I det här steget förser tillverkaren även den som distribuerar eller hanterar enheten med identifierande nyckelinformation. Att ange den informationen kan vara så enkelt som att bekräfta att alla enheter har ett X.509-certifikat som genererats från ett signeringscertifikat som tillhandahålls av enhetsdistribueratorn/operatören, eller så komplicerat som att extrahera den offentliga delen av en TPM-bekräftelsenyckel från varje TPM-enhet. Många kiseltillverkare erbjuder dessa tjänster.
Molnkonfigurationssteg
Det här steget handlar om att konfigurera molnet för korrekt automatisk etablering. I allmänhet finns det två typer av användare som ingår i molnkonfigurationssteget: någon som vet hur enheter måste konfigureras från början (en enhetsoperatör) och någon annan som vet hur enheterna ska delas upp mellan IoT-hubbarna (en lösningsoperator).
Det finns en engångskonfiguration av etableringstjänsten, som lösningsoperatorn vanligtvis hanterar. När etableringstjänsten har konfigurerats behöver den inte ändras om inte användningsfallet ändras.
När tjänsten har konfigurerats för automatisk etablering måste den vara beredd att registrera enheter. Det här steget utförs av enhetsoperatören, som känner till den önskade konfigurationen av enheterna och ser till att etableringstjänsten kan intyga en enhets identitet korrekt. Enhetsoperatören tar den identifierande nyckelinformationen från tillverkaren och lägger till den i registreringslistan. Det kan finnas efterföljande uppdateringar av registreringslistan när nya poster läggs till eller befintliga poster uppdateras med den senaste informationen om enheterna.
Registrering och tilldelning
Tillhandahållande innebär olika saker beroende på vilken bransch termen används i. När det gäller etablering av IoT-enheter till deras molnlösning är etablering en tvådelande process:
- Den första delen är att upprätta den första anslutningen mellan enheten och IoT-lösningen genom att registrera enheten.
- Den andra delen tillämpar rätt konfiguration på enheten baserat på de specifika kraven för den lösning som den registrerades för.
När båda dessa steg har slutförts kan vi säga att enheten är fullt konfigurerad.
Funktioner för enhetsförsörjningstjänsten
DPS har många funktioner, vilket gör det idealiskt för konfigurering av enheter.
- Säkert attesteringsstöd för både X.509- och TPM-baserade identiteter.
- Registreringslista som innehåller det fullständiga registret över enheter/grupper av enheter som kan komma att registreras. Registreringslistan innehåller information om önskad konfiguration av en enhet när den har registrerats och kan uppdateras när som helst.
- Flera allokeringsprinciper för att styra hur DPS tilldelar enheter till IoT-hubbar till stöd för dina scenarier: Lägsta svarstid, jämnt viktad distribution (standard) och statisk konfiguration. Med anpassad allokering kan du implementera egna allokeringsprinciper via webhooks som finns i Azure Functions i stället för att använda något av standardinställningarna.
- Övervakning och diagnostikloggning för att se till att allt fungerar korrekt.
- Stöd för flera hubbar gör att DPS kan tilldela enheter till mer än en IoT-hubb. DPS kan prata med hubbar i flera Azure-prenumerationer.
- Stöd mellan regioner gör att DPS kan tilldela enheter till IoT-hubbar i andra regioner.
- Kryptering för vilande data gör att data i DPS kan krypteras och dekrypteras transparent med hjälp av 256-bitars AES-kryptering, en av de starkaste block chiffer som är tillgängliga och är FIPS 140-2-kompatibel.
Du kan lära dig mer om de begrepp och funktioner som ingår i enhetsetablering genom att läsa artikeln DPS-terminologi tillsammans med andra konceptuella artiklar i samma avsnitt.
Plattformsoberoende stöd
Precis som alla Azure IoT-tjänster fungerar DPS plattformsoberoende med olika operativsystem. Azure erbjuder SDK:er med öppen källkod på olika språk för att underlätta anslutning av enheter och hantering av tjänsten.
DPS stöder följande protokoll för att ansluta enheter:
- HTTPS*
- AMQP (Advanced Message Queuing Protocol)
- AMQP över webbsocketer
- MQTT
- MQTT över webbsocketar
*DPS stöder endast HTTPS-anslutningar för tjänståtgärder.
Regioner
DPS är tillgängligt i många regioner. En lista över regioner som stöds för alla tjänster finns i Azure-regioner. Du kan kontrollera tillgängligheten för enhetsetableringstjänsten på azure-statussidan .
För återhämtning och tillförlitlighet rekommenderar vi att du distribuerar till en av de regioner som stöder tillgänglighetszoner.
Överväganden kring datahemvist
Device Provisioning Service lagrar kunddata. Som standard replikeras kunddata till en sekundär region för att stödja haveriberedskapsscenarier. För distributioner i Sydostasien och södra Brasilien kan kunderna välja att endast behålla sina data inom den regionen genom att inaktivera haveriberedskap. Mer information finns i Replikering mellan regioner i Azure.
DPS använder samma slutpunkt för enhetsetablering för alla etableringstjänstinstanser och utför belastningsutjämning för trafik till närmaste tillgängliga tjänstslutpunkt. Därför kan autentiseringshemligheter tillfälligt överföras utanför den region där DPS-instansen ursprungligen skapades. När enheten är ansluten flödar dock enhetsdata direkt till den ursprungliga regionen för DPS-instansen. Använd en privat slutpunkt för att se till att dina data inte lämnar den ursprungliga eller sekundära regionen. Information om hur du konfigurerar privata slutpunkter finns i DPS-stöd för virtuella nätverk.
Kvoter och begränsningar
Varje Azure-prenumeration har standardkvotgränser som kan påverka omfånget för din IoT-lösning. Den aktuella gränsen är 10 instanser av tjänsten Enhetshantering per prenumeration.
Mer information om kvotgränser finns i Begränsningar för Azure-prenumerationstjänsten.
I följande tabell visas de gränser som gäller för Azure IoT Hub Device Provisioning Service-resurser.
Resurs | Begränsning |
---|---|
Maximalt antal enhetsetableringstjänster per Azure-prenumeration | 10 |
Maximalt antal registreringar | 1 000 000 |
Maximalt antal enskilda registreringar | 1 000 000 |
Maximalt antal registreringsgrupper (X.509-certifikat) | 100 |
Maximalt antal registreringsgrupper (symmetrisk nyckel) | 100 |
Maximalt antal certifikatutfärdare | 25 |
Maximalt antal länkade IoT-hubbar | 50 |
Maximal storlek på meddelandet | 96 KB |
Tips/Råd
Om den hårda gränsen för grupper för symmetrisk nyckelanmälan är ett hinder, använd individuella anmälningar som en lösning.
Enhetsetableringstjänsten har följande hastighetsbegränsningar.
Hastighet | Värde per enhet |
---|---|
Operativa åtgärder | 1 000/min/tjänst |
Enhetsregistreringar | 1 000/min/tjänst |
Enhetsavsökningsprocess | 5/10 sek/enhet |
Fakturerbara tjänståtgärder och priser
Varje API-anrop på DPS, oavsett om det kommer från tjänst-API:erna eller api:et för enhetsregistrering, kan faktureras som en åtgärd.
Följande tabeller visar aktuell fakturerbar status för varje DPS API-åtgärd. Om du vill veta mer om priser för DPS väljer du Pristabell högst upp på prissidan för Azure IoT Hub . Välj sedan fliken IoT Hub Device Provisioning Service och valuta och region för din tjänst.
API (gränssnitt för programmering av applikationer) | Verksamhet | Fakturerbar? |
---|---|---|
DPS-enhets-API – körningsregistrering | Sökning efter enhetsregistreringsstatus | Nej |
Sökning efter åtgärdsstatus | Nej | |
Registrera enhet | Ja | |
DPS-tjänst-API – enhetsregistreringstillstånd | Allt | Ja |
DPS-tjänst-API – registreringsgrupp | Allt | Ja |
DPS-tjänst-API – individuell registrering | Allt | Ja |
DPS-certifikat-API | Allt | Nej |
IoT DPS-resurs-API | Allt | Nej |
Relaterade Azure-komponenter
DPS automatiserar enhetsetablering med Azure IoT Hub. Läs mer om IoT Hub.
IoT Central-program använder en intern DPS-instans för att hantera enhetsanslutningar. Mer information finns i Hur enheter ansluter till IoT Central.
Nästa steg
Konfigurera IoT Hub Device Provisioning Service med Azure-portalen