Dela via


Kontrollera åtkomsten till Azure IoT Hub Device Provisioning Service (DPS) med hjälp av Microsoft Entra ID (förhandsversion)

Du kan använda Microsoft Entra-ID för att autentisera begäranden till API:er för Azure IoT Hub Device Provisioning Service (DPS), till exempel skapa enhetsidentitet och anropa direktmetod. Du kan också använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att auktorisera samma tjänst-API:er. Genom att använda dessa tekniker tillsammans kan du bevilja behörigheter för åtkomst till API:er för Azure IoT Hub Device Provisioning Service (DPS) till ett Microsoft Entra-säkerhetsobjekt. Det här säkerhetsobjektet kan vara en användare, en grupp eller ett huvudnamn för programtjänsten.

Att autentisera åtkomst med hjälp av Microsoft Entra-ID och kontrollera behörigheter med hjälp av Azure RBAC ger bättre säkerhet och användarvänlighet över säkerhetstoken. För att minimera potentiella säkerhetsproblem i säkerhetstoken rekommenderar vi att du använder Microsoft Entra-ID med din Azure IoT Hub Device Provisioning Service (DPS) när det är möjligt.

Kommentar

Autentisering med Microsoft Entra-ID stöds inte för ENHETS-API:er för Azure IoT Hub Device Provisioning Service (DPS) (t.ex. registrering av enhet eller statussökning för enhetsregistrering). Använd symmetriska nycklar, X.509 eller TPM för att autentisera enheter till Azure IoT Hub Device Provisioning Service (DPS).

Autentisering och auktorisering

När ett Microsoft Entra-säkerhetsobjekt begär åtkomst till ett API för Azure IoT Hub Device Provisioning Service (DPS) autentiseras huvudkontots identitet först. För autentisering måste begäran innehålla en OAuth 2.0-åtkomsttoken vid körning. Resursnamnet för att begära token är https://azure-devices-provisioning.net. Om programmet körs i en Azure-resurs som en virtuell Azure-dator, Azure Functions-app eller Azure App Service-app kan det representeras som en hanterad identitet.

När Microsoft Entra-huvudkontot har autentiserats är nästa steg auktorisering. I det här steget använder Azure IoT Hub Device Provisioning Service (DPS) rolltilldelningstjänsten Microsoft Entra för att avgöra vilka behörigheter huvudnamnet har. Om huvudkontots behörigheter matchar den begärda resursen eller API:et godkänner Azure IoT Hub Device Provisioning Service (DPS) begäran. Det här steget kräver därför att en eller flera Azure-roller tilldelas till säkerhetsobjektet. Azure IoT Hub Device Provisioning Service (DPS) innehåller några inbyggda roller som har vanliga behörighetsgrupper.

Hantera åtkomst till Azure IoT Hub Device Provisioning Service (DPS) med hjälp av Rolltilldelning i Azure RBAC

Med Microsoft Entra ID och RBAC kräver Azure IoT Hub Device Provisioning Service (DPS) att huvudnamnet begär att API:et ska ha rätt behörighetsnivå för auktorisering. Ge huvudkontot behörighet genom att ge det en rolltilldelning.

För att säkerställa minsta möjliga behörighet tilldelar du alltid lämplig roll till lägsta möjliga resursomfång, vilket förmodligen är DPS-omfånget (Azure IoT Hub Device Provisioning Service).

Azure IoT Hub Device Provisioning Service (DPS) tillhandahåller följande inbyggda Azure-roller för att auktorisera åtkomst till DPS-API:er med hjälp av Microsoft Entra ID och RBAC:

Roll beskrivning
Datadeltagare för enhetsetableringstjänsten Ger fullständig åtkomst till dataplansåtgärder för Device Provisioning Service.
Dataläsare för enhetsetableringstjänst Tillåter fullständig läsåtkomst till dataplansegenskaper för Device Provisioning Service.

Du kan också definiera anpassade roller som ska användas med Azure IoT Hub Device Provisioning Service (DPS) genom att kombinera de behörigheter du behöver. Mer information finns i Skapa anpassade roller för rollbaserad åtkomstkontroll i Azure.

Resursomfång

Innan du tilldelar en Azure RBAC-roll till ett säkerhetsobjekt ska du bestämma vilken omfattning av åtkomst som säkerhetsobjektet ska ha. Det är alltid bäst att endast bevilja minsta möjliga omfång. Azure RBAC-roller som definierats i ett bredare omfång ärvs av resurserna under dem.

I den här listan beskrivs de nivåer där du kan begränsa åtkomsten till IoT Hub, med början med det smalaste omfånget:

  • Azure IoT Hub Device Provisioning Service (DPS). I det här omfånget gäller en rolltilldelning för Azure IoT Hub Device Provisioning Service (DPS). Rolltilldelning i mindre omfång, till exempel registreringsgrupp eller enskild registrering, stöds inte.
  • Resursgruppen. I det här omfånget gäller en rolltilldelning för alla IoT-hubbar i resursgruppen.
  • Prenumerationen. I det här omfånget gäller en rolltilldelning för alla IoT-hubbar i alla resursgrupper i prenumerationen.
  • En hanteringsgrupp. I det här omfånget gäller en rolltilldelning för alla IoT-hubbar i alla resursgrupper i alla prenumerationer i hanteringsgruppen.

Behörigheter för API:er för Azure IoT Hub Device Provisioning Service (DPS)

I följande tabell beskrivs de behörigheter som är tillgängliga för API-åtgärder för Azure IoT Hub Device Provisioning Service (DPS). Om du vill göra det möjligt för en klient att anropa en viss åtgärd kontrollerar du att klientens tilldelade RBAC-roll ger tillräcklig behörighet för åtgärden.

RBAC-åtgärd beskrivning
Microsoft.Devices/provisioningServices/attestationmechanism/details/action Hämta information om attesteringsmekanismen
Microsoft.Devices/provisioningServices/enrollmentGroups/read Läsa registreringsgrupper
Microsoft.Devices/provisioningServices/enrollmentGroups/write Skriva registreringsgrupper
Microsoft.Devices/provisioningServices/enrollmentGroups/delete Ta bort registreringsgrupper
Microsoft.Devices/provisioningServices/enrollments/read Läsa registreringar
Microsoft.Devices/provisioningServices/enrollments/write Skriva registreringar
Microsoft.Devices/provisioningServices/enrollments/delete Ta bort registreringar
Microsoft.Devices/provisioningServices/registrationStates/read Läs registreringstillstånd
Microsoft.Devices/provisioningServices/registrationStates/delete Ta bort registreringstillstånd

Azure IoT-tillägg för Azure CLI

De flesta kommandon mot Azure IoT Hub Device Provisioning Service (DPS) stöder Microsoft Entra-autentisering. Du kan styra vilken typ av autentisering som används för att köra kommandon med hjälp av parametern --auth-type som accepterar key eller login värden. Värdet key är standardvärdet.

  • När --auth-type har key värdet identifierar CLI automatiskt en lämplig princip när den interagerar med Azure IoT Hub Device Provisioning Service (DPS).

  • När --auth-type har värdet login används en åtkomsttoken från Azure CLI som loggats i huvudkontot för åtgärden.

  • Följande kommandon stöder --auth-typeför närvarande :

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

Mer information finns på versionssidan för Azure IoT-tillägget för Azure CLI.

SDK:er och exempel

Microsoft Entra ID-åtkomst från Azure Portal

Kommentar

Microsoft Entra ID-åtkomst från Azure Portal är för närvarande inte tillgänglig under förhandsversionen.

Nästa steg