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 | beskrivning |
---|---|
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).
Kommentar
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Implicit flödesautentisering kräver en mycket hög grad av förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga.
Konfigurera behörigheter
Lägg sedan till behörigheter för att anropa Enhetsuppdatering i din app:
- Gå till sidan API-behörigheter i din app och välj Lägg till en behörighet.
- Gå till API:er som min organisation använder och sök efter Azure Device Update.
- 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.
Med hjälp av 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 ger Azure-tjänster 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 Portal:
- Logga in på Azure Portal och gå till önskad enhetsuppdatering för IoT Hub-kontot.
- Navigera till Identitet i enhetsuppdateringen för IoT Hub-portalen
- Gå till Identitet i IoT Hub-portalen
- 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.