Co to jest usługa Azure IoT Hub Device Provisioning Service?

Usługa IoT Hub Device Provisioning Service (DPS) to usługa pomocnika usługi IoT Hub, która umożliwia aprowizację typu just in time w odpowiednim centrum IoT bez konieczności interwencji człowieka. Usługa DPS umożliwia aprowizację milionów urządzeń w bezpieczny i skalowalny sposób. Wiele ręcznych kroków tradycyjnie związanych z aprowizowaniem jest zautomatyzowanych z usługą DPS, aby skrócić czas wdrażania urządzeń IoT i zmniejszyć ryzyko błędu ręcznego.

Jak działa usługa Device Provisioning Service

Na poniższym diagramie opisano, co dzieje się w tle, aby aprowizować urządzenie za pomocą usługi DPS.

Diagram that shows how the device, Device Provisioning Service, and IoT Hub work together.

Przed rozpoczęciem przepływu aprowizacji urządzeń należy wykonać dwa kroki ręczne:

  • Po stronie urządzenia producent urządzenia przygotowuje urządzenie do aprowizacji, wstępnie konfigurując je przy użyciu poświadczeń uwierzytelniania i przypisanego identyfikatora usługi Device Provisioning Oraz punktu końcowego.
  • Po stronie chmury ty lub producent urządzenia przygotowuje wystąpienie usługi Device Provisioning Service z poszczególnymi rejestracjami i grupami rejestracji, które identyfikują prawidłowe urządzenia i definiują sposób ich aprowizacji.

Po skonfigurowaniu urządzenia i chmury na potrzeby aprowizacji następujące kroki są uruchamiane automatycznie po pierwszym uruchomieniu urządzenia:

  1. Urządzenie włącza się po raz pierwszy, a następnie łączy się z punktem końcowym usługi DPS i prezentuje poświadczenia uwierzytelniania.
  2. Wystąpienie usługi DPS sprawdza tożsamość urządzenia na liście rejestracji. Po zweryfikowaniu tożsamości urządzenia usługa DPS przypisuje urządzenie do centrum IoT i rejestruje je w centrum.
  3. Wystąpienie usługi DPS odbiera identyfikator urządzenia i informacje o rejestracji z przypisanego centrum i przekazuje te informacje z powrotem do urządzenia.
  4. Urządzenie używa swoich informacji rejestracyjnych do nawiązywania bezpośredniego połączenia z przypisanym centrum IoT i uwierzytelniania.
  5. Urządzenie i centrum IoT zaczynają komunikować się bezpośrednio. Wystąpienie usługi DPS nie pełni dodatkowej roli jako pośrednika, chyba że urządzenie musi ponownie aprowizacji.

Kiedy stosować usługę Device Provisioning Service

Istnieje wiele scenariuszy aprowizacji, w których usługa DPS jest doskonałym wyborem w przypadku nawiązywania połączenia urządzeń z usługą IoT Hub, takich jak:

  • Bezobsługowe aprowizowanie w jednym rozwiązaniu IoT bez trwałego kodowania informacji o połączeniu z usługą IoT Hub w fabryce (konfiguracja początkowa)
  • Równoważenie obciążenia urządzeń w wielu centrach
  • Połączenie urządzeń do rozwiązania IoT właściciela na podstawie danych transakcji sprzedaży (wielodostępności)
  • Łączenie urządzeń z określonym rozwiązaniem IoT w zależności od przypadku użycia (izolacja rozwiązania)
  • Łączenie urządzenia z centrum IoT o najmniejszym opóźnieniu (geograficzne dzielenie na fragmenty)
  • Ponowne aprowizowanie na podstawie zmiany w urządzeniu
  • Przerzucanie kluczy używanych przez urządzenie do nawiązywania połączenia z usługą IoT Hub (gdy na potrzeby połączenia nie są używane certyfikaty X.509)

Aprowizowanie zagnieżdżonych urządzeń usługi IoT Edge (hierarchie nadrzędne/podrzędne) nie jest obecnie obsługiwane przez usługę DPS.

Proces aprowizacji

Przed aprowizowaniem urządzenia za pomocą usługi DPS należy wykonać dwa kroki:

  • Krok produkcji, w ramach którego urządzenie jest tworzone i przygotowywane w fabryce.
  • Krok konfiguracji chmury, w ramach którego usługa Device Provisioning Service jest konfigurowana na potrzeby automatycznego aprowizowania.

Oba te kroki można włączyć do istniejących procesów produkcji i wdrażania. Usługa DPS upraszcza nawet niektóre procesy wdrażania, które wymagają ręcznej pracy w celu uzyskania informacji o połączeniu na urządzeniu.

Krok produkcji

Ten krok obejmuje wszystko to, co dzieje się na linii produkcyjnej. Role biorące udział w tym kroku to projektant układów scalonych, producent układów scalonych, integrator i/lub końcowy producent urządzenia. Ten krok dotyczy tworzenia samego sprzętu.

Usługa DPS nie wprowadza nowego kroku w procesie produkcyjnym; zamiast tego wiąże się z istniejącym krokiem, który instaluje początkowe oprogramowanie i (najlepiej) sprzętowy moduł zabezpieczeń (HSM) na urządzeniu. Zamiast tworzyć identyfikator urządzenia w tym kroku, urządzenie jest zaprogramowane przy użyciu informacji o usłudze aprowizacji, umożliwiając wywołanie usługi aprowizacji w celu uzyskania informacji o połączeniu/przypisania rozwiązania IoT po włączeniu.

Ponadto w tym kroku producent dostarcza osobie wdrażającej urządzenia/operatorowi urządzeń informacje o kluczu identyfikacyjnym. Dostarczenie tych informacji może być proste (np. potwierdzenie, że wszystkie urządzenia mają certyfikat X.509 wygenerowany na podstawie certyfikatu podpisywania udostępnionego przez osobę wdrażającą urządzenia/operatora urządzeń) lub skomplikowane (np. wyodrębnienie publicznej części klucza poręczenia modułu TPM z każdego urządzenia TPM). Wielu producentów krzemowych oferuje te usługi.

Krok konfiguracji chmury

Ten krok dotyczy konfigurowania chmury na potrzeby odpowiedniego aprowizowania automatycznego. Zasadniczo w krok konfiguracji chmury są zaangażowane dwa typy użytkowników: ktoś, kto wie, jak urządzenia mają być wstępnie skonfigurowane (operator urządzeń) oraz ktoś inny, kto wie, jak urządzenia mają być podzielone między centrami IoT (operator rozwiązania).

Istnieje jednorazowa konfiguracja usługi aprowizacji, którą zwykle obsługuje operator rozwiązania. Po skonfigurowaniu usługi aprowizacji nie trzeba jej modyfikować, chyba że przypadek użycia ulegnie zmianie.

Po skonfigurowaniu usługi na potrzeby automatycznej aprowizacji należy ją przygotować do rejestrowania urządzeń. Ten krok jest wykonywany przez operatora urządzenia, który zna żądaną konfigurację urządzeń i upewnia się, że usługa aprowizacji może prawidłowo potwierdzić tożsamość urządzenia. Operator urządzeń dodaje informacje o kluczu identyfikacyjnym, uzyskane od producenta, do listy rejestracji. Lista rejestracji może być później aktualizowana przez dodawanie nowych wpisów lub aktualizowanie istniejących przy użyciu najnowszych informacji o urządzeniach.

Rejestracja i aprowizowanie

Aprowizowanie w zależności od branży, w której ten termin jest używany, może oznaczać coś innego. W kontekście aprowizowania urządzeń IoT w ich rozwiązaniu w chmurze aprowizowanie to proces składający się z dwóch części:

  • Pierwsza część to ustanowienie połączenia początkowego między urządzeniem a rozwiązaniem IoT przez rejestrację urządzenia.
  • Druga część to zastosowanie odpowiedniej konfiguracji do urządzenia na podstawie określonych wymagań rozwiązania, w którym zostało ono zarejestrowane.

Po wykonaniu tych dwóch kroków można powiedzieć, że urządzenie zostało w pełni aprowizowane. Niektóre usługi w chmurze udostępniają tylko pierwszy krok procesu aprowizacji, rejestrując urządzenia w punkcie końcowym rozwiązania IoT, ale nie udostępniaj początkowej konfiguracji. Usługa DPS automatyzuje oba kroki, aby zapewnić bezproblemowe środowisko aprowizacji dla urządzenia.

Funkcje usługi Device Provisioning Service

Usługa DPS ma wiele funkcji, dzięki czemu idealnie nadaje się do aprowizowania urządzeń.

  • Obsługa bezpiecznego zaświadczania dla tożsamości opartych zarówno na standardzie X.509, jak i module TPM.
  • Lista rejestracji zawierająca pełny rejestr urządzeń/grup urządzeń, które w pewnym momencie mogą zostać zarejestrowane. Lista rejestracji zawiera informacje dotyczące żądanej konfiguracji urządzenia po jego zarejestrowaniu i może być aktualizowana w dowolnym momencie.
  • Wiele zasad alokacji w celu kontrolowania, jak usługa DPS przypisuje urządzenia do centrów IoT w obsłudze scenariuszy: najmniejsze opóźnienie, równomiernie ważona dystrybucja (domyślna) i konfiguracja statyczna. Opóźnienie jest określane przy użyciu tej samej metody co usługa Traffic Manager. Alokacja niestandardowa, która umożliwia implementowanie własnych zasad alokacji za pośrednictwem elementów webhook hostowanych w usłudze Azure Functions, jest również obsługiwana.
  • Monitorowanie i rejestrowanie diagnostyczne w celu zapewnienia poprawnego działania.
  • Obsługa wielu centrów umożliwia usłudze DPS przypisywanie urządzeń do więcej niż jednego centrum IoT. Usługa DPS może komunikować się z koncentratorami w wielu subskrypcjach platformy Azure.
  • Obsługa między regionami umożliwia usłudze DPS przypisywanie urządzeń do centrów IoT w innych regionach.
  • Szyfrowanie danych magazynowanych umożliwia szyfrowanie i odszyfrowywanie danych w usłudze DPS w sposób niewidoczny przy użyciu 256-bitowego szyfrowania AES, jednego z najsilniejszych dostępnych szyfrów blokowych i jest zgodne ze standardem FIPS 140-2.

Aby dowiedzieć się więcej na temat pojęć i funkcji związanych z aprowizowaniem urządzeń, zapoznaj się z artykułem terminologii usługi DPS wraz z innymi artykułami koncepcyjnymi w tej samej sekcji.

Obsługa wielu platform

Podobnie jak wszystkie usługi Azure IoT, usługa DPS działa międzyplatformowo z różnymi systemami operacyjnymi. Platforma Azure oferuje zestawy SDK typu open source w różnych językach, aby ułatwić łączenie urządzeń i zarządzanie usługą. Usługa DPS obsługuje następujące protokoły do łączenia urządzeń:

  • HTTPS
  • AMQP
  • AMQP za pośrednictwem obiektów Web Socket
  • MQTT
  • MQTT za pośrednictwem obiektów Web Socket

Usługa DPS obsługuje tylko połączenia HTTPS dla operacji usługi.

Regiony

Usługa DPS jest dostępna w wielu regionach. Lista obsługiwanych regionów dla wszystkich usług jest dostępna w regionach świadczenia usługi Azure. Dostępność usługi Device Provisioning Service można sprawdzić na stronie Stan platformy Azure.

W celu zapewnienia odporności i niezawodności zalecamy wdrożenie w jednym z regionów obsługujących Strefy dostępności.

Zagadnienia dotyczące rezydencji danych

Usługa Device Provisioning Przechowuje dane klientów. Domyślnie dane klientów są replikowane do regionu pomocniczego w celu obsługi scenariuszy odzyskiwania po awarii. W przypadku wdrożeń w Azji Południowo-Wschodniej i Brazylii Południowej klienci mogą zachować swoje dane tylko w tym regionie, wyłączając odzyskiwanie po awarii. Aby uzyskać więcej informacji, zobacz Replikacja między regionami na platformie Azure.

Usługa DPS używa tego samego punktu końcowego aprowizacji urządzeń dla wszystkich wystąpień usługi aprowizacji i wykonuje równoważenie obciążenia ruchu do najbliższego dostępnego punktu końcowego usługi. W związku z tym wpisy tajne uwierzytelniania mogą być tymczasowo przenoszone poza regionem, w którym początkowo utworzono wystąpienie usługi DPS. Jednak po nawiązaniu połączenia urządzenie dane urządzenia przepływa bezpośrednio do oryginalnego regionu wystąpienia usługi DPS. Aby upewnić się, że dane nie opuszczają oryginalnego lub pomocniczego regionu, użyj prywatnego punktu końcowego. Aby dowiedzieć się, jak skonfigurować prywatne punkty końcowe, zobacz Obsługa usługi DPS dla sieci wirtualnych.

Limity przydziału i ograniczenia

W każdej subskrypcji platformy Azure obowiązują domyślne limity przydziału, które mogą mieć wpływ na zakres rozwiązania IoT. Bieżący limit to 10 wystąpień usługi Device Provisioning Service na subskrypcję.

Aby uzyskać więcej informacji na temat limitów przydziału, zobacz Limity usługi subskrypcji platformy Azure.

W poniższej tabeli wymieniono limity dotyczące zasobów usługi Azure IoT Hub Device Provisioning Service.

Zasób Limit Czy można dostosować?
Maksymalna liczba usług aprowizacji urządzeń na subskrypcję platformy Azure 10 Nie.
Maksymalna liczba rejestracji 1 000 000 Nie.
Maksymalna liczba rejestracji indywidualnych 1 000 000 Nie.
Maksymalna liczba grup rejestracji (certyfikat X.509) 100 Nie.
Maksymalna liczba grup rejestracji (klucz symetryczny) 100 Nie.
Maksymalna liczba urzędów certyfikacji 25 Nie.
Maksymalna liczba połączonych centrów IoT 50 Nie.
Maksymalny rozmiar wiadomości 96 KB Nie.

Napiwek

Jeśli sztywny limit grup rejestracji kluczy symetrycznych jest problemem blokującym, zaleca się użycie rejestracji indywidualnych jako obejścia.

Usługa Device Provisioning Service ma następujące limity szybkości.

Stawka Wartość na jednostkę Czy można dostosować?
Operacje 1000/min/usługa Nie.
Rejestracje urządzeń 1000/min/usługa Nie.
Operacja sondowania urządzenia 5/10 s/urządzenie Nie.

Rozliczane operacje i ceny usług

Każde wywołanie interfejsu API w usłudze DPS jest rozliczane jako jedna operacja. Obejmuje to wszystkie interfejsy API usługi i interfejs API rejestracji urządzeń.

W poniższych tabelach przedstawiono bieżący stan rozliczany dla każdej operacji interfejsu API usługi DPS. Aby dowiedzieć się więcej na temat cen usługi DPS, wybierz pozycję Tabela cenowa w górnej części strony cennika usługi Azure IoT Hub. Następnie wybierz kartę IoT Hub Device Provisioning Service oraz walutę i region usługi.

interfejs API Operacja Rozliczanych?
Interfejs API urządzenia Wyszukiwanie stanu rejestracji urządzenia Nie.
Interfejs API urządzenia Wyszukiwanie stanu operacji Nie.
Interfejs API urządzenia Rejestrowanie urządzenia Tak
Interfejs API usługi DPS (stan rejestracji) Usuń Tak
Interfejs API usługi DPS (stan rejestracji) Pobierz Tak
Interfejs API usługi DPS (stan rejestracji) Zapytanie Tak
Interfejs API usługi DPS (grupa rejestracji) Tworzenie lub aktualizowanie Tak
Interfejs API usługi DPS (grupa rejestracji) Usuń Tak
Interfejs API usługi DPS (grupa rejestracji) Pobierz Tak
Interfejs API usługi DPS (grupa rejestracji) Uzyskiwanie mechanizmu zaświadczania Tak
Interfejs API usługi DPS (grupa rejestracji) Zapytanie Tak
Interfejs API usługi DPS (grupa rejestracji) Uruchamianie operacji zbiorczej Tak
Interfejs API usługi DPS (rejestracja indywidualna) Tworzenie lub aktualizowanie Tak
Interfejs API usługi DPS (rejestracja indywidualna) Usuń Tak
Interfejs API usługi DPS (rejestracja indywidualna) Pobierz Tak
Interfejs API usługi DPS (rejestracja indywidualna) Uzyskiwanie mechanizmu zaświadczania Tak
Interfejs API usługi DPS (rejestracja indywidualna) Zapytanie Tak
Interfejs API usługi DPS (rejestracja indywidualna) Uruchamianie operacji zbiorczej Tak
Interfejs API certyfikatów usługi DPS Tworzenie lub aktualizowanie Nie.
Interfejs API certyfikatów usługi DPS Usuń Nie.
Interfejs API certyfikatów usługi DPS Generowanie kodu weryfikacyjnego Nie.
Interfejs API certyfikatów usługi DPS Pobierz Nie.
Interfejs API certyfikatów usługi DPS Lista Nie.
Interfejs API certyfikatów usługi DPS Weryfikowanie certyfikatu Nie.
Interfejs API zasobów usługi IoT DPS Sprawdzanie dostępności nazwy usługi aprowizacji Nie.
Interfejs API zasobów usługi IoT DPS Tworzenie lub aktualizowanie Nie.
Interfejs API zasobów usługi IoT DPS Usuń Nie.
Interfejs API zasobów usługi IoT DPS Pobierz Nie.
Interfejs API zasobów usługi IoT DPS Uzyskiwanie wyniku operacji Nie.
Interfejs API zasobów usługi IoT DPS Lista według grupy zasobów Nie.
Interfejs API zasobów usługi IoT DPS Lista według subskrypcji Nie.
Interfejs API zasobów usługi IoT DPS Lista według kluczy Nie.
Interfejs API zasobów usługi IoT DPS Klucze listy dla nazwy klucza Nie.
Interfejs API zasobów usługi IoT DPS Wyświetlanie listy prawidłowych jednostek SKU Nie.
Interfejs API zasobów usługi IoT DPS Update Nie.

Usługa DPS automatyzuje aprowizowanie urządzeń za pomocą usługi Azure IoT Hub. Dowiedz się więcej na temat usługi IoT Hub.

Uwaga

Aprowizowanie zagnieżdżonych urządzeń brzegowych (hierarchii nadrzędnych/podrzędnych) nie jest obecnie obsługiwane przez usługę DPS.

Aplikacje usługi IoT Central używają wewnętrznego wystąpienia usługi DPS do zarządzania połączeniami urządzeń. Aby dowiedzieć się więcej, zobacz How devices connect to IoT Central (Jak urządzenia łączą się z usługą IoT Central).

Następne kroki

Teraz ogólnie wiesz, na czym polega aprowizowanie urządzeń IoT na platformie Azure. Następnym krokiem jest wypróbowanie kompletnego scenariusza IoT.

Konfigurowanie usługi IoT Hub Device Provisioning Przy użyciu witryny Azure Portal

Tworzenie i aprowizuj symulowane urządzenie