Az Azure IoT Hub Device Provisioning Service (DPS) hozzáférésének szabályozása a Microsoft Entra ID (előzetes verzió) használatával

A Microsoft Entra ID használatával hitelesítheti az Azure IoT Hub Device Provisioning Service (DPS) 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. Ezen technológiák együttes használatával engedélyeket adhat az Azure IoT Hub Device Provisioning Service (DPS) API-khoz való hozzáféréshez egy Microsoft Entra biztonsági tagnak. Ez a biztonsági entitás lehet felhasználó, csoport vagy alkalmazás szolgáltatásneve.

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 tokenekben rejlő lehetséges biztonsági problémák minimalizálása érdekében azt javasoljuk, hogy ahol csak lehetséges, a Microsoft Entra ID-t használja az Azure IoT Hub Device Provisioning Service-ével (DPS).

Megjegyzés

A Microsoft Entra-azonosítóval való hitelesítés nem támogatott az Azure IoT Hub Device Provisioning Service (DPS) eszköz API-k esetében (például eszköz- vagy eszközregisztrációs állapotkeresés regisztrálása). Szimmetrikus kulcsok, X.509 vagy TPM használatával hitelesítheti az eszközöket az Azure IoT Hub Device Provisioning Service-ben (DPS).

Hitelesítés és engedélyezés

Amikor egy Microsoft Entra biztonsági tag hozzáférést kér egy Azure IoT Hub Device Provisioning Service (DPS) 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 token lekéréséhez használt erőforrás neve: https://azure-devices-provisioning.net. Ha az alkalmazás egy Azure-erőforrásban, például egy Azure-beli virtuális gépben, Azure Functions-alkalmazásban vagy Azure App 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 Azure IoT Hub Device Provisioning Service (DPS) a Microsoft Entra szerepkör-hozzárendelési szolgáltatás használatával határozza meg, hogy az egyszerű felhasználó milyen engedélyekkel rendelkezik. Ha az ügyfél engedélyei megfelelnek a kért erőforrásnak vagy API-nak, az Azure IoT Hub Device Provisioning Service (DPS) 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 Azure IoT Hub Device Provisioning Service (DPS) olyan beépített szerepköröket biztosít, amelyek közös engedélycsoportokkal rendelkeznek.

Az Azure IoT Hub Device Provisioning Service (DPS) hozzáférésének kezelése az Azure RBAC-szerepkör-hozzárendelés használatával

A Microsoft Entra ID és az RBAC esetén az Azure IoT Hub Device Provisioning Service (DPS) 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.

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 Azure IoT Hub Device Provisioning Service (DPS) hatóköre.

Az Azure IoT Hub Device Provisioning Service (DPS) a következő beépített Azure-szerepköröket biztosítja a DPS 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
Eszközkiépítési szolgáltatás adatközreműködő Teljes hozzáférést biztosít a Device Provisioning Service adatsík-műveleteihez.
Eszközkiépítési szolgáltatás adatolvasója Teljes olvasási hozzáférést biztosít a Device Provisioning Service adatsík tulajdonságaihoz.

Az Azure IoT Hub Device Provisioning Service (DPS) szolgáltatással használható egyéni szerepköröket is meghatározhat a szükséges engedélyek kombinálásával. További információ: Egyéni szerepkörök létrehozása azure-beli szerepköralapú hozzáférés-vezérléshez.

Vezérlősíkbeli írási és megosztott hozzáférési szabályzatkulcsok

Az akció Microsoft.Devices/provisioningServices/write lehetővé teszi, hogy a fő létrehozza vagy frissítse a DPS erőforrás bármely tulajdonságát, beleértve a gyűjteményt authorizationPolicies is. Mivel az Azure Resource Manager (ARM) CreateOrUpdate műveletre vonatkozó szerződése minden házirendben elfogadja a hívó által megadott primaryKey és secondaryKey értékeket, a DPS-erőforráson write jogosultsággal rendelkező biztonsági tag a következőkre képes:

  • Állítsd be bármely megosztott hozzáférési politika elsődleges vagy másodlagos kulcsát (beleértve a gyökérpolitikát provisioningserviceowner is) egy általuk választott értékre, majd hitelesítsd ezt a szabályzatot.
  • Cserélje le bármely megosztott hozzáférési szabályzat kulcsait, ami érvényteleníti a meglévő ügyfeleket.
  • Hozzáadj egy új nevű megosztott hozzáférési szabályzatot egy kiválasztott kulcsértékkel.

Ezért a Microsoft.Devices/provisioningServices/write funkcionálisan egyenértékű az erőforrás megosztott hozzáférési szabályzata hitelesítő adatainak teljes körű kezelésével, függetlenül attól, hogy a rendszerbiztonsági tag rendelkezik-e a Microsoft.Devices/provisioningServices/listkeys/action vagy a Microsoft.Devices/provisioningServices/listkey/action jogosultsággal is.

Important

Az a(z) egyéni szerepkör, amely egy DPS-erőforráson Microsoft.Devices/provisioningServices/write jogosultságot biztosít listkeys/action jogosultság biztosítása nélkül, nem különíti el a hitelesítő adatok felügyeletét az erőforrás konfigurálásától. A felhasználó továbbra is teljes mértékben ellenőrzi a megosztott hozzáférési szabályzat kulcsadatait az írási útvonalon. Ne támaszkodj erre a mintára a legkevésbé jogosultságú konfigurációban.

Ha el kell választani az erőforrás-konfigurációt a megosztott hozzáférési szabályzat hitelesítési adminisztrációjától, használj inkább az alábbi mintákat:

  • Az adatsíkhoz a Microsoft Entra ID hitelesítést részesíti előnyben. Rendelje be a beépített Device Provisioning Service Data Contributor vagy Device Provisioning Service Data Reader szerepeket a regisztrációs menedzsmenthez, és ha lehetséges, tiltsa le a megosztott hozzáférés-aláírás hozzáférést az erőforráson.
  • Korlátozd write az erőforrás hatókörét. Mivel write kulcsvezérlést jelent, add meg csak azoknak a főfeleknek, akikben megbízol a megosztott hozzáférési szabályzat igazolványokkal.
  • Naplózza a vezérlősík tevékenységét. A(z) authorizationPolicies elemen a vezérlősíkon keresztül végrehajtott PUT-tal végzett módosításokat az Azure Activity Log a(z) Microsoft.Devices/provisioningServices/write művelet alatt rögzíti. Tekintse át ezeket az eseményeket az listkeys/action események mellett az engedélyezési ellenőrzés során.

Ugyanezek a szempontok az Azure IoT Hub-ra is érvényesek. A részletekért lásd a következőt: Az IoT Hubhoz való hozzáférés szabályozása a Microsoft Entra ID használatával.

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 Azure IoT Hub Device Provisioning Service (DPS). Ebben a hatókörben a szerepkör-hozzárendelés az Azure IoT Hub Device Provisioning Service(DPS) szolgáltatásra vonatkozik. A szerepkör-hozzárendelés kisebb hatókörökben, például regisztrációs csoportokban vagy egyéni regisztrációkban 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.

Engedélyek az Azure IoT Hub Device Provisioning Service (DPS) API-khoz

Az alábbi táblázat az Azure IoT Hub Device Provisioning Service (DPS) API-műveletekhez 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/provisioningServices/attestationmechanism/details/action Igazolási mechanizmus részleteinek lekérése
Microsoft.Devices/provisioningServices/enrollmentGroups/read Regisztrációs csoportok lekérdezése
Microsoft.Devices/provisioningServices/enrollmentGroups/write Regisztrációs csoportok szerkesztése
Microsoft.Devices/provisioningServices/enrollmentGroups/delete Regisztrációs csoportok törlése
Microsoft.Devices/provisioningServices/enrollments/read Regisztrációk megtekintése
Microsoft.Devices/provisioningServices/enrollments/write Beiratkozások létrehozása
Microsoft.Devices/provisioningServices/enrollments/delete Regisztrációk törlése
Microsoft.Devices/provisioningServices/registrationStates/read Regisztrációs állapotok olvasása
Microsoft.Devices/provisioningServices/registrationStates/delete Regisztrációs állapotok törlése

Azure IoT-bővítmény az Azure CLI-hez

Az Azure IoT Hub Device Provisioning Service (DPS) 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 adhatja meg, amelynek értéke key vagy login lehet. Az key érték az alapértelmezett érték.

  • Ha --auth-type rendelkezik ezzel az key értékkel, a parancssori felület automatikusan felfedez egy megfelelő szabályzatot, amikor az az Azure IoT Hub Device Provisioning Service -vel (DPS) kommunikál.

  • Ha a(z) --auth-type értéke login, a művelethez a principál Azure CLI-be történt bejelentkezéséből származó hozzáférési jogkivonatot használja a rendszer.

  • A következő parancsok jelenleg támogatják --auth-type:

    • az iot dps enrollment
    • az iot dps enrollment-group
    • az iot dps registration

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 és minták

Microsoft Entra ID-hozzáférés az Azure Portalról

Megjegyzés

A Microsoft Entra ID hozzáférése az Azure Portalról jelenleg nem érhető el az előzetes verzióban.

Következő lépések