Rollbaserad åtkomstkontroll i Azure (RBAC) och enhetsuppdatering

Enhetsuppdatering använder Azure RBAC för att tillhandahålla autentisering och auktorisering för användare och tjänst-API:er. För att andra användare och program ska ha åtkomst till Enhetsuppdatering måste användare eller program beviljas åtkomst till den här resursen. Det är också nödvändigt att konfigurera åtkomst för tjänstens huvudnamn för Azure Device Update för att kunna distribuera uppdateringar och hantera dina enheter.

Konfigurera åtkomstkontrollroller

Det här är de roller som stöds av Enhetsuppdatering:

Rollnamn Description
Administratör för enhetsuppdatering Har åtkomst till alla enhetsuppdateringsresurser
Enhetsuppdateringsläsare Kan visa alla uppdateringar och distributioner
Innehållsadministratör för enhetsuppdatering Kan visa, importera och ta bort uppdateringar
Innehållsläsare för enhetsuppdatering Kan visa uppdateringar
Administratör för enhetsuppdateringsdistributioner Kan hantera distribution av uppdateringar till enheter
Läsare för enhetsuppdateringsdistributioner Kan visa distributioner av uppdateringar till enheter

En kombination av roller kan användas för att ge rätt åtkomstnivå. En utvecklare kan till exempel importera och hantera uppdateringar med hjälp av rollen Innehållsadministratör för enhetsuppdatering, men behöver rollen Läsarroll för enhetsuppdateringsdistributioner för att visa förloppet för en uppdatering. Omvänt kan en lösningsoperator med rollen Enhetsuppdateringsläsare visa alla uppdateringar, men måste använda rollen Administratör för enhetsuppdateringsdistributioner för att distribuera en specifik uppdatering till enheter.

Konfigurera åtkomst för tjänstens huvudnamn för Azure Device Update i IoT Hub

Enhetsuppdatering för IoT Hub kommunicerar med IoT Hub för distributioner och hanterar uppdateringar i stor skala. För att aktivera Enhetsuppdatering för att göra detta måste användarna ange åtkomst för IoT Hub-datadeltagare för Tjänstens huvudnamn för Azure Device Update i IoT Hub-behörigheterna.

Distribution, enhets- och uppdateringshantering och diagnostikåtgärder tillåts inte om dessa behörigheter inte har angetts. Åtgärder som kommer att blockeras omfattar:

  • Skapa distribution
  • Avbryt distributionen
  • Försök att distribuera igen
  • Hämta enhet

Behörigheten kan anges från IoT Hub Access Control (IAM). Se Konfigurera åtkomst för Tjänstens huvudnamn för Azure Device Update i länkad IoT-hubb

Autentisera till REST-API:er för enhetsuppdatering

Enhetsuppdatering använder Microsoft Entra-ID för autentisering till sina REST-API:er. För att komma igång måste du skapa och konfigurera ett klientprogram.

Skapa microsoft entra-klientapp

Om du vill integrera ett program eller en tjänst med Microsoft Entra-ID registrerar du först ett klientprogram med Microsoft Entra-ID. Konfigurationen av klientprogram varierar beroende på vilket auktoriseringsflöde du behöver (användare, program eller hanterade identiteter). Om du till exempel vill anropa Enhetsuppdatering från:

  • Mobil- eller skrivbordsprogram lägger du till plattform för mobil- och skrivbordsprogram med https://login.microsoftonline.com/common/oauth2/nativeclient för omdirigerings-URI:n.
  • Webbplats med implicit inloggning, lägg till webbplattform och välj Åtkomsttoken (används för implicita flöden).

Konfigurera behörigheter

Lägg sedan till behörigheter för att anropa Enhetsuppdatering i din app:

  1. Gå till sidan API-behörigheter i din app och välj Lägg till en behörighet.
  2. Gå till API:er som min organisation använder och sök efter Azure Device Update.
  3. Välj user_impersonation behörighet och välj Lägg till behörigheter.

Begära auktoriseringstoken

REST API för enhetsuppdatering kräver en OAuth 2.0-auktoriseringstoken i begärandehuvudet. I följande avsnitt visas några exempel på sätt att begära en auktoriseringstoken.

Använda Azure CLI

az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'

Använda PowerShell MSAL-bibliotek

MSAL.PS PowerShell-modulen är en omslutning över Microsoft Authentication Library för .NET (MSAL .NET). Den stöder olika autentiseringsmetoder.

Använda användarautentiseringsuppgifter:

$clientId = '<app_id>'
$tenantId = '<tenant_id>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'

Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope

Använda användarautentiseringsuppgifter med enhetskod:

$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'

Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -Interactive -DeviceCode

Använda appautentiseringsuppgifter:

$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$cert = '<client_certificate>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/.default'

Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -ClientCertificate $cert

Stöd för hanterade identiteter

Hanterade identiteter tillhandahåller Azure-tjänster med en automatiskt hanterad identitet i Microsoft Entra-ID på ett säkert sätt. Detta eliminerar behoven för utvecklare som behöver hantera autentiseringsuppgifter genom att ange en identitet. Enhetsuppdatering för IoT Hub stöder systemtilldelade hanterade identiteter.

Systemtilldelad hanterad identitet

Så här lägger du till och tar bort en systemtilldelad hanterad identitet i Azure-portalen:

  1. Logga in på Azure-portalen och gå till önskad enhetsuppdatering för IoT Hub-kontot.
  2. Navigera till Identitet i enhetsuppdateringen för IoT Hub-portalen
  3. Gå till Identitet i IoT Hub-portalen
  4. Under fliken Systemtilldelad väljer du På och klickar på Spara.

Om du vill ta bort systemtilldelad hanterad identitet från ett Enhetsuppdatering för IoT Hub-konto väljer du Av och klickar på Spara.

Nästa steg