Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Microsoft Entra ID můžete použít k ověřování požadavků na rozhraní API služby Azure IoT Hub, jako je vytvoření identity zařízení a vyvolání přímé metody. K autorizaci stejných rozhraní API služeb můžete použít také řízení přístupu na základě role v Azure (Azure RBAC). Pomocí těchto technologií můžete udělit oprávnění pro přístup k rozhraním API služby IoT Hub zabezpečovacímu objektu Microsoft Entra. Tento objekt zabezpečení může být uživatel, skupina nebo hlavní služba aplikace.
Ověřování přístupu pomocí Microsoft Entra ID a řízení oprávnění pomocí Azure RBAC poskytuje lepší zabezpečení a snadné použití tokenů zabezpečení. Pokud chcete minimalizovat potenciální problémy zabezpečení spojené s tokeny zabezpečení, doporučujeme vynutit ověřování Microsoft Entra, kdykoli je to možné.
Poznámka:
Ověřování pomocí Microsoft Entra ID není podporováno pro rozhraní API zařízení IoT Hub (například zprávy zařízení do cloudu a aktualizace vlastností). K ověření zařízení ve službě IoT Hub použijte symetrické klíče nebo X.509 .
Ověřování a autorizace
Ověřování je proces prokázání toho, že jste tím, kdo říkáte. Ověřování ověřuje identitu uživatele nebo zařízení ve službě IoT Hub. Ověřování se někdy zkracuje na AuthN.
Autorizace je proces potvrzení oprávnění pro ověřeného uživatele nebo zařízení ve službě IoT Hub. Autorizace určuje, k jakým prostředkům a příkazům máte povolený přístup, a co můžete s těmito prostředky a příkazy dělat. Autorizace se někdy zkracuje na AuthZ.
Když hlavní bezpečnostní objekt Microsoft Entra požádá o přístup k rozhraní API služby IoT Hub, identita hlavního objektu je nejprve ověřena. Pro ověření musí požadavek obsahovat přístupový token OAuth 2.0 za běhu. Název prostředku pro vyžádání tokenu je https://iothubs.azure.net. Pokud aplikace běží v prostředku Azure, jako je virtuální počítač Azure, aplikace Azure Functions nebo aplikace Azure App Service, může být reprezentována jako spravovaná identita.
Po ověření objektu zabezpečení Microsoft Entra je dalším krokem autorizace. V tomto kroku služba IoT Hub používá službu přiřazení role Microsoft Entra k určení, jaká oprávnění má subjekt. Pokud oprávnění subjektu odpovídají požadovanému prostředku nebo API rozhraní, IoT Hub žádost autorizuje. Tento krok proto vyžaduje přiřazení jedné nebo více rolí Azure k bezpečnostnímu principálu. IoT Hub poskytuje některé předdefinované role, které mají společné skupiny oprávnění.
Správa přístupu ke službě IoT Hub pomocí přiřazení role Azure RBAC
S Microsoft Entra ID a RBAC vyžaduje IoT Hub, aby účel, který požaduje API, měl odpovídající úroveň oprávnění. Pokud chcete objektu zabezpečení udělit oprávnění, dejte mu přiřazení role.
- Pokud je objekt zabezpečení uživatelem, skupinou nebo hlavním instančním objektem aplikace, postupujte podle pokynů v tématu Přiřazení rolí Azure pomocí prostředí Azure Portal.
- Pokud je hlavní objekt spravovanou identitou, postupujte podle pokynů v části Přiřazení přístupu spravované identity k prostředku Azure nebo jinému prostředku.
Abyste zajistili nejnižší úroveň oprávnění, vždy přiřaďte odpovídající roli s nejnižším možným oborem prostředků, což je pravděpodobně obor IoT Hubu.
IoT Hub poskytuje následující předdefinované role Azure pro autorizaci přístupu k rozhraním API služby IoT Hub pomocí Id Microsoft Entra a RBAC:
| Role | Popis |
|---|---|
| Přispěvatel dat centra IoT | Umožňuje úplný přístup k operacím datové roviny IoT Hub. |
| Čtečka dat centra IoT | Umožňuje plný přístup ke čtení parametrů datové vrstvy IoT Hub. |
| Přispěvatel registru centra IoT | Umožňuje úplný přístup k registru zařízení centra IoT. |
| Přispěvatel digitálních dvojčat IoT hubu | Umožňuje přístup pro čtení a zápis ke všem dvojčatům zařízení a modulů centra IoT. |
Vlastní role, které se mají používat se službou IoT Hub, můžete také definovat kombinací potřebných oprávnění . Další informace najdete v tématu Vlastní role Azure.
Rozsah prostředku
Před přiřazením role Azure RBAC k objektu zabezpečení určete rozsah přístupu, který má mít objekt zabezpečení. Vždy je nejlepší udělit pouze nejužší možný rozsah. Role Azure RBAC definované v širším rozsahu jsou zděděny prostředky, které jsou pod nimi.
Tento seznam popisuje úrovně, na kterých můžete omezit přístup ke službě IoT Hub, počínaje nejužším oborem:
- Centrum IoT. V tomto oboru se přiřazení role vztahuje na centrum IoT. Rozsah není menší než jednotlivé centrum IoT. Přiřazení role v menších oborech, jako je identita jednotlivých zařízení, se nepodporuje.
- Skupina prostředků. V tomto rozsahu se přiřazení role vztahuje na všechny IoT huby ve skupině prostředků.
- Předplatné. V tomto rozsahu se přiřazení rolí vztahuje na všechna IoT centra ve všech skupinách prostředků v předplatném.
- Skupina pro správu. V tomto rozsahu se přiřazení role vztahuje na všechny IoT huby ve všech skupinách prostředků ve všech předplatných ve skupině správy.
Oprávnění pro rozhraní API služby IoT Hub
Následující tabulka popisuje oprávnění dostupná pro operace rozhraní API služby IoT Hub. Pokud chcete klientovi povolit volání konkrétní operace, ujistěte se, že přiřazená role RBAC klienta nabízí dostatečná oprávnění pro danou operaci.
| Akce RBAC | Popis |
|---|---|
Microsoft.Devices/IotHubs/devices/read |
Přečtěte si jakoukoli identitu zařízení nebo modulu. |
Microsoft.Devices/IotHubs/devices/write |
Vytvořte nebo aktualizujte jakoukoli identitu zařízení nebo modulu. |
Microsoft.Devices/IotHubs/devices/delete |
Odstraňte všechny identity zařízení nebo modulu. |
Microsoft.Devices/IotHubs/twins/read |
Přečtěte si libovolné zařízení nebo dvojče modulu. |
Microsoft.Devices/IotHubs/twins/write |
Napište jakékoli zařízení nebo dvojče modulu. |
Microsoft.Devices/IotHubs/jobs/read |
Vrátí seznam úloh. |
Microsoft.Devices/IotHubs/jobs/write |
Vytvořte nebo aktualizujte jakoukoli úlohu. |
Microsoft.Devices/IotHubs/jobs/delete |
Odstraňte jakoukoli úlohu. |
Microsoft.Devices/IotHubs/cloudToDeviceMessages/send/action |
Odešlete zprávu z cloudu do libovolného zařízení. |
Microsoft.Devices/IotHubs/cloudToDeviceMessages/feedback/action |
Přijetí, dokončení nebo opuštění oznámení zpětné vazby k zprávě z cloudu k zařízení. |
Microsoft.Devices/IotHubs/cloudToDeviceMessages/queue/purge/action |
Odstraňte všechny čekající příkazy pro zařízení. |
Microsoft.Devices/IotHubs/directMethods/invoke/action |
Vyvolá přímou metodu na libovolném zařízení nebo modulu. |
Microsoft.Devices/IotHubs/fileUpload/notifications/action |
Příjem, dokončení nebo opuštění oznámení o nahrávání souborů |
Microsoft.Devices/IotHubs/statistics/read |
Přečtěte si statistiky zařízení a služeb |
Microsoft.Devices/IotHubs/configurations/read |
Čtení konfigurací správy zařízení |
Microsoft.Devices/IotHubs/configurations/write |
Vytvořte nebo aktualizujte konfigurace správy zařízení. |
Microsoft.Devices/IotHubs/configurations/delete |
Odstraňte všechny konfigurace správy zařízení. |
Microsoft.Devices/IotHubs/configurations/applyToEdgeDevice/action |
Aplikujte konfigurační obsah na zařízení na okraji sítě. |
Microsoft.Devices/IotHubs/configurations/testQueries/action |
Ověřte cílovou podmínku a vlastní dotazy na metriky pro konfiguraci. |
Tip
- Operace Aktualizovat registr vyžaduje obojí
Microsoft.Devices/IotHubs/devices/writeiMicrosoft.Devices/IotHubs/devices/delete. - Operace Get Twins vyžaduje
Microsoft.Devices/IotHubs/twins/read. -
Získat Digital Twin vyžaduje
Microsoft.Devices/IotHubs/twins/read. Aktualizace služby Digital Twin vyžadujeMicrosoft.Devices/IotHubs/twins/write. - Příkazy Vyvolat Komponentu i Vyvolat Kořenovou Úroveň vyžadují
Microsoft.Devices/IotHubs/directMethods/invoke/action.
Poznámka:
Pokud chcete získat data ze služby IoT Hub pomocí ID Microsoft Entra, nastavte směrování na vlastní koncový bod služby Event Hubs. Pokud chcete získat přístup k integrovanému koncovému bodu kompatibilnímu se službou Event Hubs, použijte metodu připojovací řetězec (sdílený přístupový klíč) jako předtím.
Zajištění ověřování Microsoft Entra
IoT Hub ve výchozím nastavení podporuje přístup k rozhraní API služby prostřednictvím ID Microsoft Entra i zásad sdíleného přístupu a tokenů zabezpečení. Pokud chcete minimalizovat potenciální ohrožení zabezpečení spojená s tokeny zabezpečení, můžete zakázat přístup pomocí zásad sdíleného přístupu.
Varování
Odepřením připojení pomocí zásad sdíleného přístupu ztratí přístup okamžitě všichni uživatelé a služby, které se připojují pomocí této metody. Vzhledem k tomu, že služba Device Provisioning Service (DPS) podporuje propojení center IoT pouze pomocí zásad sdíleného přístupu, všechny procesy zřizování zařízení selžou s chybou „Neautorizováno“. Pokračujte pečlivě a naplánujte nahrazení přístupu pomocí přístupu na základě role Microsoft Entra.
Nepokračujte, pokud používáte službu Device Provisioning Service.
Ujistěte se, že vaši klienti a uživatelé služeb mají dostatečný přístup k vašemu centru IoT. Dodržujte zásadu nejnižších oprávnění.
Přihlaste se k webu Azure Portal a přejděte do centra IoT.
V části Nastavení zabezpečení v navigační nabídce vyberte Zásady sdíleného přístupu.
V části Připojit pomocí zásad sdíleného přístupu vyberte Odepřít a zkontrolujte upozornění.
Zvolte Uložit.
K vašim rozhraním API služby IoT Hub je teď možné přistupovat pouze prostřednictvím ID Microsoft Entra a RBAC.
Přístup k ID Microsoft Entra z webu Azure Portal
Přístup ke službě IoT Hub můžete poskytnout z webu Azure Portal pomocí zásad sdíleného přístupu nebo oprávnění Microsoft Entra.
Když se pokusíte získat přístup ke službě IoT Hub z webu Azure Portal, azure Portal nejprve zkontroluje, jestli máte přiřazenou roli Azure.Microsoft.Devices/iotHubs/listkeys/action Pokud ano, Azure Portal pro přístup k centru IoT používá klíče ze zásad sdíleného přístupu. Pokud ne, Azure Portal se pokusí získat přístup k datům pomocí vašeho účtu Microsoft Entra.
Pokud chcete získat přístup ke službě IoT Hub z webu Azure Portal pomocí účtu Microsoft Entra, potřebujete oprávnění pro přístup k datovým prostředkům služby IoT Hub (jako jsou zařízení a dvojčata). Potřebujete také oprávnění k přechodu na prostředek IoT Hubu na webu Azure Portal. Předdefinované role poskytované IoT Hubem udělují přístup k prostředkům, jako jsou zařízení a dvojče, ale neudělují přístup k prostředku IoT Hub. Přístup k portálu proto také vyžaduje přiřazení role Azure Resource Manageru, jako je čtenář. Role čtenáře je dobrou volbou, protože je to nejvíce omezená role, která umožňuje navigaci na portálu. Nezahrnuje Microsoft.Devices/iotHubs/listkeys/action oprávnění (která poskytuje přístup ke všem datovým prostředkům služby IoT Hub prostřednictvím zásad sdíleného přístupu).
Pokud chcete zajistit, aby účet neměl přístup mimo přiřazená oprávnění, nezahrnujte Microsoft.Devices/iotHubs/listkeys/action oprávnění při vytváření vlastní role. Pokud chcete například vytvořit vlastní roli, která může číst identity zařízení, ale nemůže vytvářet nebo odstraňovat zařízení, vytvořte vlastní roli, která:
- Má datovou akci
Microsoft.Devices/IotHubs/devices/read. - Nemá datovou akci
Microsoft.Devices/IotHubs/devices/write. - Nemá datovou akci
Microsoft.Devices/IotHubs/devices/delete. - Nemá tuto akci
Microsoft.Devices/iotHubs/listkeys/action.
Pak se ujistěte, že účet nemá žádné další role, které mají Microsoft.Devices/iotHubs/listkeys/action oprávnění, jako je vlastník nebo přispěvatel. Pokud chcete umožnit účtu přístup k prostředkům a orientovat se v portálu, přiřaďte Reader.
Přístup k ID Microsoft Entra z Azure CLI
Většina příkazů souvisejících s IoT Hubem podporuje ověřování pomocí Microsoft Entra. Typ ověřování, který se používá ke spouštění příkazů, můžete řídit pomocí parametru --auth-type , který přijímá key nebo login hodnoty. Hodnota key je výchozí.
Pokud
--auth-typemákeyjako předtím hodnotu, rozhraní příkazového řádku automaticky zjistí vhodnou zásadu při interakci se službou IoT Hub.Pokud
--auth-typemáloginhodnotu, použije se pro operaci přístupový token z Azure CLI přihlášeného v objektu zabezpečení.
Další informace najdete na stránce s vydáním rozšíření Azure IoT pro Azure CLI.
Ukázky SDK
Další kroky
- Další informace o výhodách používání Microsoft Entra ID ve vaší aplikaci naleznete v tématu Integrace s platformou Microsoft Identity Platform.
- Informace o použití přístupových tokenů, obnovovacích tokenů a tokenů ID při autorizaci a ověřování najdete v přehledu tokenů a deklarací identity.