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ó rendelkezzen 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 egy erőforráshoz az Azure Portal használatával című útmutatót.

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ője 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ások vagy ikerszakaszok esetén 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.

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. A DPS használata esetén ne folytassa a műveletet.

  1. 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.
  2. Az Azure Portalon nyissa meg az IoT Hubot.
  3. A bal oldali panelen válassza a Megosztott hozzáférési szabályzatok lehetőséget.
  4. A Csatlakozás megosztott hozzáférési szabályzatok használata alatt válassza a Megtagadás lehetőséget, és tekintse át a figyelmeztetést. Screenshot that shows how to turn off IoT Hub shared access policies.

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 a key 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, a login 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 a Microsoft Entra ID-val való integráció című témakörben talál.
  • További információ a Hozzáférési jogkivonatok Microsoft Entra-azonosítóból való lekéréséről a felhasználók és a szolgáltatásnevek számára: A Microsoft Entra ID hitelesítési forgatókönyvei.

A Device Provisioning Service használatával több X.509-eszközt építhet ki regisztrációs csoportok használatával.