Az IoT Hubhoz való hozzáférés szabályozása a Microsoft Entra-azonosító használatával
A Microsoft Entra ID használatával hitelesítheti az Azure IoT Hub szolgáltatás API-kkal kapcsolatos kéréseket, például eszközidentitást hozhat létre és közvetlen metódust hívhat meg. Az Azure szerepköralapú hozzáférés-vezérlést (Azure RBAC) is használhatja ugyanezen szolgáltatás API-k engedélyezéséhez. E technológiák együttes használatával engedélyeket adhat az IoT Hub szolgáltatás API-jaihoz való hozzáféréshez egy Microsoft Entra biztonsági tag számára. Ez a biztonsági tag lehet felhasználó, csoport vagy alkalmazásszolgáltatásnév.
A Hozzáférés hitelesítése a Microsoft Entra ID használatával és az engedélyek Azure RBAC-vel történő vezérlése jobb biztonságot és egyszerű használatot biztosít a biztonsági jogkivonatok felett. A biztonsági jogkivonatokban rejlő esetleges biztonsági problémák minimalizálása érdekében javasoljuk, hogy amikor csak lehetséges, kényszerítse ki a Microsoft Entra-hitelesítést .
Feljegyzés
A Microsoft Entra-azonosítóval való hitelesítés nem támogatott az IoT Hub eszköz API-jaihoz (például az eszközről a felhőbe irányuló üzenetekhez és a jelentett tulajdonságok frissítéséhez). Szimmetrikus kulcsokkal vagy X.509-sel hitelesítheti az eszközöket az IoT Hubon.
Hitelesítés és engedélyezés
A hitelesítés annak bizonyítása, hogy Ön az, akinek mondja magát. A hitelesítés ellenőrzi egy felhasználó vagy eszköz identitását az IoT Hubon. Néha rövidítve van AuthN-ra.
Az engedélyezés egy hitelesített felhasználó vagy eszköz engedélyeinek megerősítésének folyamata az IoT Hubon. Meghatározza, hogy milyen erőforrásokhoz és parancsokhoz férhet hozzá, és mit tehet ezekkel az erőforrásokkal és parancsokkal. Az engedélyezés néha rövidítve van az AuthZ-hez.
Amikor egy Microsoft Entra biztonsági tag hozzáférést kér egy IoT Hub szolgáltatás API-hoz, a rendszer először hitelesíti az ügyfél identitását. A hitelesítéshez a kérésnek tartalmaznia kell egy OAuth 2.0 hozzáférési jogkivonatot futásidőben. A jogkivonat igénylésének erőforrásneve a következő https://iothubs.azure.net
: . Ha az alkalmazás azure-erőforrásban, például Azure-beli virtuális gépen, Azure Functions-alkalmazásban vagy Azure-alkalmazás Service-alkalmazásban fut, akkor felügyelt identitásként is megjeleníthető.
A Microsoft Entra-tag hitelesítése után a következő lépés az engedélyezés. Ebben a lépésben az IoT Hub a Microsoft Entra szerepkör-hozzárendelési szolgáltatással határozza meg, hogy az egyszerű felhasználó milyen engedélyekkel rendelkezik. Ha az egyszerű felhasználó engedélyei megfelelnek a kért erőforrásnak vagy API-nak, az IoT Hub engedélyezi a kérést. Ezért ehhez a lépéshez egy vagy több Azure-szerepkört kell hozzárendelni a biztonsági taghoz. Az IoT Hub néhány beépített szerepkört biztosít, amelyek közös engedélycsoportokkal rendelkeznek.
Az IoT Hubhoz való hozzáférés kezelése azure RBAC-szerepkör-hozzárendeléssel
A Microsoft Entra ID és az RBAC esetén az IoT Hub megköveteli, hogy az API-t kérő egyszerű felhasználó rendelkezik a megfelelő engedélyszinttel az engedélyezéshez. Ha engedélyt szeretne adni az igazgatónak, adjon neki egy szerepkör-hozzárendelést.
- Ha az egyszerű felhasználó, csoport vagy alkalmazás-szolgáltatásnév, kövesse az Azure-szerepkörök hozzárendelése című útmutatót az Azure Portal használatával.
- Ha az egyszerű identitás felügyelt identitás, kövesse a felügyelt identitáshoz való hozzáférés hozzárendelése erőforráshoz című témakörben található útmutatást.
A minimális jogosultság biztosítása érdekében mindig a lehető legalacsonyabb erőforrás-hatókörhöz rendelje hozzá a megfelelő szerepkört, amely valószínűleg az IoT Hub hatóköre.
Az IoT Hub az alábbi beépített Azure-szerepköröket biztosítja az IoT Hub szolgáltatás API-khoz való hozzáférés engedélyezéséhez a Microsoft Entra ID és az RBAC használatával:
Szerepkör | Leírás |
---|---|
IoT Hub-adatszolgáltató | Teljes hozzáférést biztosít az IoT Hub adatsík-műveleteihez. |
IoT Hub-adatolvasó | Teljes olvasási hozzáférést biztosít az IoT Hub adatsík tulajdonságaihoz. |
IoT Hub beállításjegyzék-közreműködő | Teljes hozzáférést biztosít az IoT Hub eszközregisztrációs adatbázisához. |
IoT Hub iker közreműködője | Olvasási és írási hozzáférést biztosít az összes IoT Hub-eszközhöz és modulhoz. |
Az IoT Hubhoz használandó egyéni szerepköröket a szükséges engedélyek kombinálásával is definiálhatja. További információ: Egyéni szerepkörök létrehozása azure-beli szerepköralapú hozzáférés-vezérléshez.
Erőforrás hatóköre
Mielőtt Azure RBAC-szerepkört rendel egy biztonsági taghoz, határozza meg, hogy milyen hozzáférési hatókörrel kell rendelkeznie a biztonsági tagnak. Mindig a lehető legszűkebb hatókört érdemes megadni. A szélesebb hatókörben definiált Azure RBAC-szerepköröket az alattuk lévő erőforrások öröklik.
Ez a lista azokat a szinteket ismerteti, amelyeken hatókörbe helyezheti az IoT Hubhoz való hozzáférést, kezdve a legszűkebb hatókörrel:
- Az IoT Hub. Ebben a hatókörben a szerepkör-hozzárendelés az IoT Hubra vonatkozik. Nincs kisebb hatókör, mint egy egyéni IoT Hub. A szerepkör-hozzárendelés kisebb hatókörökben, például az egyes eszközidentitásokban nem támogatott.
- Az erőforráscsoport. Ebben a hatókörben a szerepkör-hozzárendelés az erőforráscsoport összes IoT Hubjére vonatkozik.
- Az előfizetés. Ebben a hatókörben a szerepkör-hozzárendelés az előfizetés összes erőforráscsoportjában lévő összes IoT Hubra vonatkozik.
- Egy felügyeleti csoport. Ebben a hatókörben a szerepkör-hozzárendelés a felügyeleti csoport összes előfizetésének összes erőforráscsoportjában lévő összes IoT Hubra vonatkozik.
IoT Hub szolgáltatás API-khoz tartozó engedélyek
Az alábbi táblázat az IoT Hub szolgáltatás API-műveleteihez elérhető engedélyeket ismerteti. Annak érdekében, hogy egy ügyfél meghívhasson egy adott műveletet, győződjön meg arról, hogy az ügyfél hozzárendelt RBAC-szerepköre megfelelő engedélyeket biztosít a művelethez.
RBAC-művelet | Leírás |
---|---|
Microsoft.Devices/IotHubs/devices/read |
Bármilyen eszköz- vagy modulidentitás olvasása. |
Microsoft.Devices/IotHubs/devices/write |
Hozzon létre vagy frissítsen bármilyen eszköz- vagy modulidentitást. |
Microsoft.Devices/IotHubs/devices/delete |
Törölje az eszköz- vagy moduldentitást. |
Microsoft.Devices/IotHubs/twins/read |
Bármely eszköz vagy modul ikereszközének olvasása. |
Microsoft.Devices/IotHubs/twins/write |
Írjon bármilyen eszközt vagy modul ikereszközt. |
Microsoft.Devices/IotHubs/jobs/read |
Feladatlista visszaadása. |
Microsoft.Devices/IotHubs/jobs/write |
Bármely feladat létrehozása vagy frissítése. |
Microsoft.Devices/IotHubs/jobs/delete |
Bármely feladat törlése. |
Microsoft.Devices/IotHubs/cloudToDeviceMessages/send/action |
Küldjön egy felhőből eszközre irányuló üzenetet bármely eszközre. |
Microsoft.Devices/IotHubs/cloudToDeviceMessages/feedback/action |
Felhőről eszközre irányuló üzenetértesítés fogadása, befejezése vagy elhagyása. |
Microsoft.Devices/IotHubs/cloudToDeviceMessages/queue/purge/action |
Törölje az eszköz összes függőben lévő parancsát. |
Microsoft.Devices/IotHubs/directMethods/invoke/action |
Közvetlen metódus meghívása bármely eszközön vagy modulon. |
Microsoft.Devices/IotHubs/fileUpload/notifications/action |
Fájlfeltöltési értesítések fogadása, befejezése vagy elhagyása. |
Microsoft.Devices/IotHubs/statistics/read |
Eszköz- és szolgáltatásstatisztikák olvasása. |
Microsoft.Devices/IotHubs/configurations/read |
Eszközfelügyeleti konfigurációk olvasása. |
Microsoft.Devices/IotHubs/configurations/write |
Eszközfelügyeleti konfigurációk létrehozása vagy frissítése. |
Microsoft.Devices/IotHubs/configurations/delete |
Törölje az eszközfelügyeleti konfigurációt. |
Microsoft.Devices/IotHubs/configurations/applyToEdgeDevice/action |
Alkalmazza a konfigurációs tartalmat egy peremeszközre. |
Microsoft.Devices/IotHubs/configurations/testQueries/action |
A konfiguráció célfeltételének és egyéni metrika-lekérdezéseinek ellenőrzése. |
Tipp.
- A tömeges beállításjegyzék-frissítési művelethez mindkettő
Microsoft.Devices/IotHubs/devices/write
ésMicrosoft.Devices/IotHubs/devices/delete
. - Az iker lekérdezési művelethez szükséges
Microsoft.Devices/IotHubs/twins/read
. - Get Digital Twin szükséges
Microsoft.Devices/IotHubs/twins/read
. A Digital Twin frissítéséhez szükségesMicrosoft.Devices/IotHubs/twins/write
. - Az Összetevő parancs meghívása és a Gyökérszintű parancs meghívása is kötelező
Microsoft.Devices/IotHubs/directMethods/invoke/action
.
Feljegyzés
Ha a Microsoft Entra ID használatával szeretne adatokat lekérni az IoT Hubról, állítsa be az útválasztást egy egyéni Event Hubs-végpontra. A beépített Event Hubs-kompatibilis végpont eléréséhez használja a kapcsolati sztring (megosztott hozzáférési kulcs) metódust a korábbiakhoz hasonlóan.
Microsoft Entra-hitelesítés kényszerítése
Az IoT Hub alapértelmezés szerint támogatja a szolgáltatás API-elérését a Microsoft Entra-azonosítón, valamint a megosztott hozzáférési szabályzatokon és biztonsági jogkivonatokon keresztül. A biztonsági jogkivonatokban rejlő biztonsági rések minimalizálása érdekében letilthatja a hozzáférést a megosztott hozzáférési szabályzatokkal.
Figyelmeztetés
Ha megtagadja a kapcsolatokat a megosztott hozzáférési szabályzatokkal, az ezzel a módszerrel csatlakozó felhasználók és szolgáltatások azonnal elveszítik a hozzáférést. Mivel a Device Provisioning Service (DPS) csak az IoT Hubok megosztott hozzáférési szabályzatokkal való összekapcsolását támogatja, az összes eszközkiépítési folyamat "jogosulatlan" hibával meghiúsul. Körültekintően járjon el, és tervezze meg, hogy lecseréli a hozzáférést a Microsoft Entra szerepköralapú hozzáférésre.
Ne folytassa a műveletet a Device Provisioning Service használata esetén.
Győződjön meg arról, hogy a szolgáltatás ügyfelei és felhasználói megfelelő hozzáféréssel rendelkeznek az IoT Hubhoz. Kövesse a minimális jogosultság elvét.
Az Azure Portalon nyissa meg az IoT Hubot.
A bal oldali panelen válassza a Megosztott hozzáférési szabályzatok lehetőséget.
A Csatlakozás megosztott hozzáférési szabályzatokkal csoportban válassza a Megtagadás lehetőséget, és tekintse át a figyelmeztetést.
Válassza a Mentés lehetőséget.
Az IoT Hub szolgáltatás API-jai mostantól csak a Microsoft Entra-azonosítón és az RBAC-en keresztül érhetők el.
Microsoft Entra ID-hozzáférés az Azure Portalról
Az IoT Hubhoz való hozzáférést az Azure Portalon közös hozzáférési szabályzatokkal vagy Microsoft Entra-engedélyekkel biztosíthatja.
Amikor megpróbál hozzáférni az IoT Hubhoz az Azure Portalról, az Azure Portal először ellenőrzi, hogy hozzárendelték-e Önhöz azure-szerepkört Microsoft.Devices/iotHubs/listkeys/action
. Ha igen, az Azure Portal a megosztott hozzáférési szabályzatok kulcsait használja az IoT Hub eléréséhez. Ha nem, az Azure Portal a Microsoft Entra-fiókjával próbál hozzáférni az adatokhoz.
Ahhoz, hogy az IoT Hub az Azure Portalról a Microsoft Entra-fiókjával elérhető legyen, engedélyekre van szüksége az IoT Hub-adaterőforrások (például eszközök és ikerpéldányok) eléréséhez. Engedélyekre is szüksége van az IoT Hub-erőforrás azure portalon való eléréséhez. Az IoT Hub által biztosított beépített szerepkörök hozzáférést biztosítanak az olyan erőforrásokhoz, mint az eszközök és az ikerpéldányok, de nem biztosítanak hozzáférést az IoT Hub-erőforráshoz. A portálhoz való hozzáféréshez tehát egy Azure Resource Manager-szerepkör, például a Reader hozzárendelése is szükséges. Az olvasói szerepkör azért jó választás, mert ez a leginkább korlátozott szerepkör, amely lehetővé teszi a portálon való navigálást. Nem tartalmazza az Microsoft.Devices/iotHubs/listkeys/action
engedélyt (amely hozzáférést biztosít az összes IoT Hub-adaterőforráshoz megosztott hozzáférési szabályzatokkal).
Ha azt szeretné, hogy egy fiók ne rendelkezzen hozzáféréssel a hozzárendelt engedélyeken kívül, ne adja meg az Microsoft.Devices/iotHubs/listkeys/action
engedélyt egyéni szerepkör létrehozásakor. Ha például olyan egyéni szerepkört szeretne létrehozni, amely képes olvasni az eszközidentitásokat, de nem tud eszközöket létrehozni vagy törölni, hozzon létre egy egyéni szerepkört, amely:
- Rendelkezik az
Microsoft.Devices/IotHubs/devices/read
adatműveletével. - Nincs
Microsoft.Devices/IotHubs/devices/write
adatművelete. - Nincs
Microsoft.Devices/IotHubs/devices/delete
adatművelete. - Nincs meg a
Microsoft.Devices/iotHubs/listkeys/action
művelet.
Ezután győződjön meg arról, hogy a fiók nem rendelkezik Microsoft.Devices/iotHubs/listkeys/action
más engedéllyel rendelkező szerepkörökhöz, például tulajdonoshoz vagy közreműködőhöz. Ha engedélyezni szeretné a fiók számára az erőforrás-hozzáférést és a portálon való navigálást, rendelje hozzá az Olvasót.
Microsoft Entra ID-hozzáférés az Azure CLI-ből
Az IoT Hub elleni legtöbb parancs támogatja a Microsoft Entra-hitelesítést. A parancsok futtatásához használt hitelesítés típusát a --auth-type
paraméterrel szabályozhatja, amely elfogadja vagy login
értékeket key
ad meg. Az key
érték az alapértelmezett érték.
Amikor
--auth-type
az érték akey
korábbiakhoz hasonlóan, a cli automatikusan felfedez egy megfelelő szabályzatot, amikor az IoT Hubot használja.Ha
--auth-type
rendelkezik az értékkel, alogin
rendszer a művelethez az Azure CLI-ben bejelentkezett hozzáférési jogkivonatot használja.
További információkért tekintse meg az Azure CLI-hez készült Azure IoT-bővítmény kiadási oldalát.
SDK-minták
Következő lépések
- A Microsoft Entra ID alkalmazásbeli használatának előnyeiről további információt az Integráció a Microsoft Identitásplatform című témakörben talál.
- A hozzáférési jogkivonatok, a frissítési jogkivonatok és az azonosító jogkivonatok hitelesítésben és hitelesítésben való használatáról a Biztonsági jogkivonatok című témakörben olvashat.