IoT Hub Device Provisioning Service -terminologi (DPS)

IoT Hub Device Provisioning Service är en hjälptjänst för IoT Hub som du använder för att konfigurera zero-touch-enhetsetablering till en angiven IoT-hubb. Med Device Provisioning Service kan du etablera miljontals enheter på ett säkert och skalbart sätt.

Enhetsetablering är en process i två delar. 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 är att tillämpa rätt konfiguration på enheten baserat på de specifika kraven för lösningen. När båda stegen har slutförts har enheten etablerats helt. Enhetsetableringstjänsten automatiserar båda stegen och ger sömlös etablering av enheten.

Den här artikeln ger en översikt över de etableringsbegrepp som är mest tillämpliga för att hantera tjänsten. Den här artikeln är mest relevant för personer som ingår i molnkonfigurationssteget för att förbereda en enhet för distribution.

Slutpunkt för tjänståtgärder

Slutpunkten för tjänståtgärder är slutpunkten för att hantera tjänstinställningarna och underhålla registreringslistan. Den här slutpunkten används endast av tjänstadministratören. den används inte av enheter.

Slutpunkt för enhetsetablering

Slutpunkten för enhetsetablering är den enda slutpunkten som alla enheter använder för automatisk etablering. URL:en är densamma för alla etableringstjänstinstanser för att eliminera behovet av att omvänt snedstrecka enheter med ny anslutningsinformation i leveranskedjescenarier. ID-omfånget säkerställer klientisolering.

Länkade IoT-hubbar

Device Provisioning Service kan bara etablera enheter till IoT-hubbar som har länkats till den. Om du länkar en IoT-hubb till en instans av device provisioning-tjänsten får tjänsten läs-/skrivbehörighet till IoT-hubbens enhetsregister. med länken kan en enhetsetableringstjänst registrera ett enhets-ID och ange den första konfigurationen i enhetstvillingen. Länkade IoT-hubbar kan finnas i valfri Azure-region. Du kan länka hubbar i andra prenumerationer till din etableringstjänst.

Fördelningspolicy

Inställningen på tjänstnivå som avgör hur Enhetsetableringstjänsten tilldelar enheter till en IoT-hubb. Det finns fyra allokeringsprinciper som stöds:

  • Jämnt viktad distribution: länkade IoT-hubbar är lika benägna att etablera enheter till dem. Standardinställningen. Om du endast etablerar enheter till en IoT-hubb kan du behålla den här inställningen.

  • Lägsta svarstid: Enheter etableras till en IoT-hubb med den lägsta svarstiden till enheten. Om flera länkade IoT-hubbar skulle ge samma lägsta svarstid, hashar etableringstjänsten enheter över dessa hubbar

  • Statisk konfiguration via registreringslistan: specifikationen av den önskade IoT-hubben i registreringslistan prioriteras framför allokeringsprincipen på tjänstnivå.

  • Anpassad (Använd Azure-funktion): En anpassad allokeringsprincip ger dig mer kontroll över hur enheter tilldelas till en IoT-hubb. Detta uppnås med hjälp av anpassad kod i en Azure-funktion för att tilldela enheter till en IoT-hubb. Enhetsetableringstjänsten anropar din Azure-funktionskod som ger all relevant information om enheten och registreringen till din kod. Funktionskoden körs och returnerar den IoT Hub-information som används för att etablera enheten.

Registrering

En registrering är en post för enheter eller grupper av enheter som kan registreras via automatisk etablering. Registreringsposten innehåller information om enheten eller gruppen med enheter, inklusive:

  • attesteringsmekanismen som används av enheten
  • den valfria inledande önskade konfigurationen
  • önskad IoT-hubb
  • önskat enhets-ID

Det finns två typer av registreringar som stöds av Device Provisioning Service:

Registreringsgrupp

En registreringsgrupp är en grupp med enheter som delar en specifik attesteringsmekanism. Registreringsgrupper stöder X.509-certifikat eller symmetrisk nyckelattestering. Enheter i en X.509-registreringsgrupp presenterar X.509-certifikat som har signerats av samma rotcertifikatutfärdare eller mellanliggande certifikatutfärdare (CA). Ämnesnamnet (CN) för varje enhets slutentitetscertifikat (löv) blir registrerings-ID för den enheten. Enheter i en symmetrisk nyckelregistreringsgrupp presenterar SAS-token som härletts från gruppens symmetriska nyckel.

Namnet på registreringsgruppen samt registrerings-ID:n som presenteras av enheter måste vara skiftlägesokänsliga strängar med alfanumeriska tecken plus specialtecken: '-', '.', '_', ':'. Det sista tecknet måste vara alfanumeriskt eller streck ('-'). Namnet på registreringsgruppen kan vara upp till 128 tecken långt. I symmetriska nyckelregistreringsgrupper kan registrerings-ID:t som presenteras av enheter vara upp till 128 tecken långa. Men i X.509-registreringsgrupper är registrerings-ID:na begränsade till 64 tecken, eftersom den maximala längden på det gemensamma namnet i ett X.509-certifikat är 64 tecken.

För enheter i en registreringsgrupp används även registrerings-ID:t som det enhets-ID som är registrerat på IoT Hub.

Dricks

Vi rekommenderar att du använder en registreringsgrupp för ett stort antal enheter som delar en önskad inledande konfiguration, eller för enheter som alla går till samma klientorganisation.

Individuell registrering

En enskild registrering är en post för en enskild enhet som kan registreras. Enskilda registreringar kan använda antingen X.509-lövcertifikat eller SAS-token (från en fysisk eller virtuell TPM) som attesteringsmekanismer. Registrerings-ID:t i en enskild registrering är en skiftlägeskänslig sträng med alfanumeriska tecken plus specialtecken: '-', '.', '_', ':'. Det sista tecknet måste vara alfanumeriskt eller streck ('-'). DPS har stöd för registrerings-ID:er på upp till 128 tecken.

För enskilda X.509-registreringar blir certifikatets ämnesnamn (CN) registrerings-ID, så det gemensamma namnet måste följa registrerings-ID-strängformatet. Ämnets gemensamma namn har en maximal längd på 64 tecken, så registrerings-ID:t är begränsat till 64 tecken för X.509-registreringar.

Enskilda registreringar kan ha önskat IoT Hub-enhets-ID som anges i registreringsposten. Om det inte anges blir registrerings-ID:t det enhets-ID som är registrerat på IoT Hub.

Du kan tillfälligt eller permanent tillåta eller blockera en specifik enhet från att etableras via device provisioning-tjänsten genom att kontrollera etableringsstatusen för en registrering

Dricks

Vi rekommenderar att du använder enskilda registreringar för enheter som kräver unika inledande konfigurationer eller för enheter som bara kan autentisera med SAS-token via TPM-attestering.

Attesteringsmekanism

En attesteringsmekanism är den metod som används för att bekräfta en enhets identitet. Attesteringsmekanismen konfigureras på en registreringspost och anger för etableringstjänsten vilken metod som ska användas när identiteten för en enhet verifieras under registreringen.

Kommentar

IoT Hub använder "autentiseringsschema" för ett liknande begrepp i den tjänsten.

Device Provisioning Service stöder följande former av attestering:

  • X.509-certifikat baserat på X.509-standardcertifikatautentiseringsflödet . Mer information finns i X.509-attestering.
  • Trusted Platform Module (TPM) baserat på en nonce-utmaning, med hjälp av TPM-standarden för nycklar för att presentera en signerad SAS-token (Signatur för delad åtkomst). Detta kräver inte en fysisk TPM på enheten, men tjänsten förväntar sig att intyga med hjälp av bekräftelsenyckeln enligt TPM-specifikationen. Mer information finns i TPM-attestering.
  • Symmetrisk nyckel baserad på SAS-sas-token (signatur för delad åtkomst), som innehåller en hash-signatur och en inbäddad förfallotid. Mer information finns i Symmetrisk nyckelattestering.

Modul för maskinvarusäkerhet

Maskinvarusäkerhetsmodulen, eller HSM, används för säker, maskinvarubaserad lagring av enhetshemligheter och är den säkraste formen av hemlig lagring. Både X.509-certifikat och SAS-token kan lagras i HSM. HSM:er kan användas med båda attesteringsmekanismerna som etableringstjänsten stöder.

Dricks

Vi rekommenderar starkt att du använder en HSM med enheter för att lagra hemligheter på dina enheter på ett säkert sätt.

Enhetshemligheter kan också lagras i programvara (minne), men det är en mindre säker form av lagring än en HSM.

ID-omfång

ID-omfånget tilldelas till en enhetsetableringstjänst när den skapas av användaren och används för att unikt identifiera den specifika etableringstjänst som enheten registreras via. ID-omfånget genereras av tjänsten och är oföränderligt, vilket garanterar unikhet.

Kommentar

Unikhet är viktigt för långvariga distributionsåtgärder och fusions- och förvärvsscenarier.

Registreringspost

En registreringspost är posten för en enhet som registrerar/etablerar till en IoT Hub via device provisioning-tjänsten. Registreringsposter skapas automatiskt. de kan tas bort, men de kan inte uppdateras.

Registrerings-ID

Registrerings-ID:t används för att unikt identifiera en enhetsregistrering med Device Provisioning Service. Registrerings-ID:t måste vara unikt i etableringstjänstens ID-omfång. Varje enhet måste ha ett registrerings-ID. Registrerings-ID:t är en skiftlägeskänslig sträng med alfanumeriska tecken plus specialtecken: '-', '.', '_', ':'. Det sista tecknet måste vara alfanumeriskt eller streck ('-'). DPS har stöd för registrerings-ID:er på upp till 128 tecken.

  • När det gäller TPM tillhandahålls registrerings-ID:t av själva TPM:n.
  • När det gäller X.509-baserad attestering anges registrerings-ID:t till enhetscertifikatets ämnesnamn (CN). Därför måste det gemensamma namnet följa registrerings-ID-strängformatet. Registrerings-ID:t är dock begränsat till 64 tecken eftersom det är den maximala längden på ämnets gemensamma namn i ett X.509-certifikat.

Enhets-ID

Enhets-ID:t är det ID som visas i IoT Hub. Det önskade enhets-ID:t kan anges i registreringsposten, men det krävs inte att det anges. Det går bara att ange önskat enhets-ID i enskilda registreringar. Om inget önskat enhets-ID anges i registreringslistan används registrerings-ID:t som enhets-ID när enheten registreras. Läs mer om enhets-ID:n i IoT Hub.

Operations

Åtgärder är faktureringsenheten för enhetsetableringstjänsten. En åtgärd är att slutföra en instruktion till tjänsten. Åtgärder är bland annat registreringar och omregistreringar av enheter. Åtgärder är även ändringar på tjänstsidan, till exempel tillägg och uppdatering av poster i registreringslistan.