IoT Hub DPS-terminologi (Device Provisioning Service)
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 tillämpar 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 fullständigt. 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 slutpunkt 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 återsnedstrecka enheter med ny anslutningsinformation i leveranskedjescenarier. ID-omfånget säkerställer klientisolering.
Länkade IoT-hubbar
Enhetsetableringstjänsten kan bara etablera enheter till IoT-hubbar som har länkats till den. Genom att länka en IoT-hubb till en instans av Device Provisioning Service 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.
Allokeringsprincip
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 har lika stor sannolikhet att ha enheter etablerade till sig. 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 önskad IoT-hubb 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 görs 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 tillhandahåller all relevant information om enheten och registreringen till din kod. Funktionskoden körs och returnerar den IoT-hubbinformation 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
- valfri inledande önskad konfiguration
- ö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 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 . Ä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:t begränsade till 64 tecken, eftersom den maximala längden på ämnesnamnet 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 för IoT Hub.
Tips
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 enda 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ägesokänslig sträng med alfanumeriska tecken plus specialtecken: '-'
, '.'
, '_'
, ':'
. Det sista tecknet måste vara alfanumeriskt eller streck ('-'
). DPS stöder registrerings-ID:t 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. Ämnesnamnet 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 för IoT Hub.
Du kan tillfälligt eller permanent tillåta eller blockera en specifik enhet från att etableras via enhetsetableringstjänsten genom att kontrollera etableringsstatusen för en registrering
Tips
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 för en registreringspost och talar om för etableringstjänsten vilken metod som ska användas när en enhets identitet verifieras under registreringen.
Anteckning
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å standardflödet för X.509-certifikatautentisering. Mer information finns i X.509-attestering.
- Betrodd plattformsmodul (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 ingen fysisk TPM på enheten, men tjänsten förväntar sig attestera med hjälp av bekräftelsenyckeln enligt TPM-specifikationen. Mer information finns i TPM-attestering.
- Symmetrisk nyckel baserat på 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.
Maskinvarusäkerhetsmodul
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.
Tips
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 registrerar sig via. ID-omfånget genereras av tjänsten och är oföränderligt, vilket garanterar unikhet.
Anteckning
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 Enhetsetableringstjänsten. 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ägesokänslig sträng med alfanumeriska tecken plus specialtecken: '-'
, '.'
, '_'
, . ':'
Det sista tecknet måste vara alfanumeriskt eller streck ('-'
). DPS stöder registrerings-ID:t på upp till 128 tecken.
- När det gäller TPM tillhandahålls registrerings-ID:t av själva TPM.
- När det gäller X.509-baserad attestering anges registrerings-ID:t till enhetscertifikatets eget ä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. Önskat enhets-ID kan anges i registreringsposten, men det behöver inte 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 omfattar enhetsregistreringar och omregistreringar. åtgärder omfattar även ändringar på tjänstsidan, till exempel att lägga till registreringslistposter och uppdatera registreringslistposter.