Sdílet prostřednictvím


Vysvětlení registru identit ve službě IoT Hub

Každé centrum IoT má registr identit, který ukládá informace o zařízeních a modulech povolených pro připojení k sadě IoT Hub. Než se zařízení nebo modul může připojit k centru IoT, musí existovat položka pro toto zařízení nebo modul v registru identit služby IoT Hub. Zařízení nebo modul se ověřuje ve službě IoT Hub na základě přihlašovacích údajů uložených v registru identit.

ID zařízení nebo ID modulu uložené v registru identit je rozlišováno podle velikosti písmen.

Registr identit je kolekce prostředků identit podporující REST. Když přidáte položku do registru identit, IoT Hub vytvoří sadu prostředků pro jednotlivá zařízení, jako je fronta, která obsahuje zprávy typu cloud-zařízení v testovacím prostředí.

Použijte registr identit k:

  • Zřiďte zařízení nebo moduly, které se připojují k centru IoT.
  • Řízení přístupu jednotlivých zařízení nebo modulů ke koncovým bodům centra

Operace registru identit

Registr identit služby IoT Hub zveřejňuje následující operace:

  • Vytvoření identity
  • Aktualizace identity
  • Načtěte identitu podle ID
  • Smazat identitu
  • Výpis až 1 000 identit
  • Export identit do úložiště objektů blob v Azure
  • Import identit ze služby Azure Blob Storage

Všechny tyto operace můžou používat optimistickou souběžnost, jak je uvedeno v dokumentu RFC 7232.

Registr identit služby IoT Hub neobsahuje žádná metadata aplikace.

Důležité

Registr identit používejte jenom pro operace správy a zřizování zařízení. Operace s vysokou propustností v době běhu by neměly záviset na provádění operací v registru identit. Například kontrola stavu připojení zařízení před odesláním příkazu není podporovaným vzorem. Nezapomeňte zkontrolovat míru omezování registru identit.

Poznámka:

Může trvat několik sekund, než bude identita zařízení nebo modulu dostupná pro načtení po vytvoření. Pokud dojde k selhání, můžete zkusit get operaci identit zařízení nebo modulů zopakovat.

Zakázání zařízení

Zařízení můžete zakázat aktualizací vlastnosti stavu identity v registru identit. Tuto vlastnost obvykle používáte ve dvou scénářích:

  • Během procesu orchestrace zřizování. Další informace najdete v tématu Device Provisioning.

  • Pokud se domníváte, že zařízení je z nějakého důvodu ohrožené nebo neautorizované.

    Důležité

    IoT Hub nekontroluje seznamy odvolaných certifikátů při ověřování zařízení pomocí ověřování založeného na certifikátech. Pokud máte zařízení, které je potřeba zablokovat v připojení ke službě IoT Hub z důvodu potenciálně ohroženého certifikátu, měli byste zařízení v registru identit zakázat.

Tato funkce není k dispozici pro moduly.

Další informace najdete v části Zakázání nebo odstranění zařízení v části Vytvoření a správa identit zařízení.

Import a export identit zařízení

Jediným způsobem, jak načíst všechny identity v registru identit služby IoT Hub, je použít funkci exportu.

Pomocí asynchronních operací v koncovém bodu zprostředkovatele prostředků IoT Hubu můžete importovat nebo exportovat identity zařízení hromadně z registru identit služby IoT Hub. Importy a exporty jsou dlouhotrvající úlohy, které používají blob kontejner poskytnutý zákazníkem.

Další informace o rozhraních API pro import a export najdete v tématu Prostředek služby IoT Hub. Další informace o spouštění úloh importu a exportu najdete v tématu Hromadný import a export identit zařízení služby IoT Hub.

Identity zařízení je také možné exportovat a importovat z centra IoT pomocí rozhraní API služby prostřednictvím rozhraní REST API nebo jedné ze sad SDK služby IoT Hub.

Zřizování zařízení

Data zařízení, která dané řešení IoT ukládá, závisí na konkrétních požadavcích tohoto řešení. Řešení ale musí jako minimum ukládat identity zařízení a ověřovací klíče. Registr identit služby IoT Hub může ukládat hodnoty pro každé zařízení, jako jsou ID, ověřovací klíče a stavové kódy. Řešení může k ukládání dalších dat zařízení použít jiné služby Azure, jako je Table Storage, Blob Storage nebo Azure Cosmos DB.

Zřizování zařízení je proces přidání počátečních dat zařízení do úložišť ve vašem řešení. Pokud chcete povolit, aby se nové zařízení připojilo k vašemu centru, přidejte ID zařízení a klíče do registru identit služby IoT Hub. V rámci procesu zřizování možná budete muset inicializovat data specifická pro zařízení v jiných úložištích řešení. Službu Azure IoT Hub Device Provisioning můžete také použít k povolení bezdotykového zřizování za běhu pro jedno nebo více center IoT. Další informace najdete v dokumentaci ke službě Azure IoT Hub Device Provisioning.

Oznámení o životním cyklu zařízení a modulů

IoT Hub může vaše řešení IoT upozornit, když se identita zařízení vytvoří nebo odstraní odesláním oznámení o životním cyklu. K tomu je potřeba, aby vaše řešení IoT vytvořilo trasu a nastavil zdroj dat na hodnotu DeviceLifecycleEvents. Ve výchozím nastavení se neodesílají žádná oznámení o životním cyklu, to znamená, že žádné takové trasy neexistují. Když vytvoříte trasu se zdrojem dat rovnajícím se DeviceLifecycleEvents, události životního cyklu se odesílají pro identity zařízení i identity modulů. Obsah zprávy se liší v závislosti na tom, jestli se události generují pro identity modulů nebo identity zařízení. Další informace o vlastnostech a textu vrácených ve zprávě oznámení najdete v tématu Schémata událostí mimo telemetrii služby Azure IoT Hub.

Oznámení pro vytváření identit modulů se liší pro moduly IoT Edge než pro jiné moduly. U modulů IoT Edge se oznámení o vytvoření odešle jenom v případě, že je spuštěné odpovídající zařízení IoT Edge. U všech ostatních modulů se oznámení o životním cyklu odesílají při každé aktualizaci identity modulu na straně ioT Hubu.

Vlastnosti identity zařízení

Identity zařízení jsou reprezentovány jako dokumenty JSON s následujícími vlastnostmi:

Vlastnost Možnosti Popis
identifikátor zařízení požadováno, pouze ke čtení při aktualizacích Řetězec rozlišující velká a malá písmena (až 128 znaků dlouhý) tvořený 7bitovými alfanumerickými znaky ASCII a některými speciálními znaky: - . % _ * ? ! ( ) , : = @ $ '. Speciální znaky + # nejsou podporované.
Identifikátor generace povinné, jen pro čtení Vygenerovaný řetězec rozlišující velká a malá písmena ve službě IoT Hub o délce až 128 znaků. Tato hodnota se používá k odlišení zařízení se stejným ID zařízení při jejich odstranění a opětovném vytvoření.
etag povinné, jen pro čtení Řetězec představující slabou značku ETag pro identitu zařízení podle dokumentu RFC 7232.
ověřování volitelný Složený objekt obsahující ověřovací informace a bezpečnostní materiály. Další informace najdete v tématu AuthenticationMechanism v dokumentaci k rozhraní REST API.
možnosti volitelný Sada funkcí zařízení. Například jestli je zařízení edge zařízením či nikoliv. Další informace najdete v tématu DeviceCapabilities v dokumentaci k rozhraní REST API.
rozsah zařízení volitelný Rozsah zařízení. Na zařízeních na okraji sítě jsou automaticky generované a neměnné. Zastaralé v zařízeních, která nejsou edge. V podřízených zařízeních (listových) však nastavte tuto vlastnost na stejnou hodnotu jako vlastnost parentScopes (nadřazené zařízení deviceScope) pro zpětnou kompatibilitu s předchozími verzemi rozhraní API. Další informace najdete v části Vztahy nadřazenosti a podřízenosti v tématu Způsob použití zařízení IoT Edge jako brány.
parentScopes volitelný Rozsah přímého rodičovského zařízení dítěte (hodnota vlastnosti deviceScope rodičovského zařízení). U koncových zařízení je hodnota prázdná, pokud zařízení nemá nadřazeného. Pokud zařízení nemá nadřazené zařízení, vlastnost není k dispozici. Další informace najdete v části Vztahy nadřazenosti a podřízenosti v tématu Způsob použití zařízení IoT Edge jako brány.
stav povinné Indikátor přístupu. Může být Enabled nebo Disabled. Pokud Enabled, je zařízení povoleno se připojit. Pokud Disabled, zařízení nemá přístup k žádnému koncovému bodu orientovanému směrem k zařízení.
důvod stavu volitelný Řetězec s délkou 128 znaků, který ukládá důvod stavu identity zařízení. Jsou povoleny všechny znaky UTF-8.
časAktualizaceStavu jen pro čtení Dočasný indikátor zobrazující datum a čas poslední aktualizace stavu.
stav připojení jen pro čtení Pole označující stav připojení: nebo ConnectedDisconnected. Toto pole představuje zobrazení ioT Hubu o stavu připojení zařízení. Důležité: Toto pole by se mělo používat jenom pro účely vývoje a ladění. Stav připojení se aktualizuje jenom pro zařízení používající MQTT nebo AMQP. Je také založená na příkazech ping na úrovni protokolu (příkazy ping MQTT nebo příkazy ping AMQP) a může mít maximální zpoždění pouze 5 minut. Z těchto důvodů mohou být falešně pozitivní výsledky, například odpojená zařízení hlášená jako připojená.
čas aktualizace stavu připojení jen pro čtení Dočasný indikátor zobrazující datum a čas poslední aktualizace stavu připojení.
čas poslední aktivity jen pro čtení Dočasný indikátor zobrazující datum a čas posledního připojení zařízení, přijetí nebo odeslání zprávy. Tato vlastnost je nakonec konzistentní, ale může být zpožděna až o 5 až 10 minut. Z tohoto důvodu by se nemělo používat v produkčních scénářích.

Poznámka:

Stav připojení může představovat jenom zobrazení služby IoT Hub o stavu připojení. Aktualizace tohoto stavu můžou být zpožděné v závislosti na podmínkách sítě a konfiguracích.

Vlastnosti identity modulu

Identity modulů jsou reprezentovány jako dokumenty JSON s následujícími vlastnostmi:

Vlastnost Možnosti Popis
identifikátor zařízení požadováno, pouze ke čtení při aktualizacích Řetězec rozlišující velká a malá písmena (až 128 znaků dlouhý) tvořený 7bitovými alfanumerickými znaky ASCII a některými speciálními znaky: - . % _ * ? ! ( ) , : = @ $ '.
moduleId požadováno, pouze ke čtení při aktualizacích Řetězec rozlišující velká a malá písmena (až 128 znaků dlouhý) tvořený 7bitovými alfanumerickými znaky ASCII a některými speciálními znaky: - . % _ * ? ! ( ) , : = @ $ '. Speciální znaky + # nejsou podporované.
Identifikátor generace povinné, jen pro čtení Řetězec vygenerovaný IoT Hubem, který rozlišuje velká a malá písmena a má délku až 128 znaků. Tato hodnota se používá k odlišení zařízení se stejným ID zařízení při jejich odstranění a opětovném vytvoření.
etag povinné, jen pro čtení Řetězec představující slabou značku ETag pro identitu zařízení podle dokumentu RFC 7232.
ověřování volitelný Složený objekt obsahující ověřovací informace a bezpečnostní materiály. Další informace najdete v tématu AuthenticationMechanism v dokumentaci k rozhraní REST API.
spravováno kým volitelný Identifikuje, kdo tento modul spravuje. Tato hodnota je IoT Edge například v případě, že modul runtime Edge vlastní tento modul.
početZprávDoZařízeníZCloudu jen pro čtení Počet zpráv cloud-to-module, které jsou momentálně zařazené ve frontě k odeslání do modulu.
stav připojení jen pro čtení Pole označující stav připojení: nebo ConnectedDisconnected. Toto pole představuje zobrazení ioT Hubu o stavu připojení zařízení. Důležité: Toto pole by se mělo používat jenom pro účely vývoje a ladění. Stav připojení se aktualizuje jenom pro zařízení používající MQTT nebo AMQP. Je také založená na příkazech ping na úrovni protokolu (příkazy ping MQTT nebo příkazy ping AMQP) a může mít maximální zpoždění pouze 5 minut. Z těchto důvodů můžou být falešně pozitivní výsledky, například odpojená zařízení hlášená jako připojená.
connectionStateUpdatedTime jen pro čtení Dočasný indikátor zobrazující datum a čas poslední aktualizace stavu připojení.
Čas poslední aktivity jen pro čtení Dočasný indikátor zobrazující datum a čas posledního připojení zařízení, přijetí nebo odeslání zprávy.

Pokud chcete prozkoumat použití služby IoT Hub Device Provisioning Service k povolení bezdotykového, just-in-time zřizování, přečtěte si téma: