Dela via


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änsterepresentanten för Azure Device Update för att framgångsrikt 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 applikationshuvudnamnet för Azure Device Update i IoT Huben

Enhetsuppdatering för IoT Hub kommunicerar med IoT Hub för distributioner och hanterar uppdateringar i stor skala. För att ge Enhetsuppdatering möjlighet att göra detta måste användarna tilldela IoT Hub Data Contributor åtkomstnivå för Azure Device Update Service Principal i IoT Hub-behörigheterna.

Åtgärderna nedan kommer att blockeras med kommande version, om dessa behörigheter inte har angetts:

  • Skapa distribution
  • Avbryt distributionen
  • Försök att distribuera igen
  • Hämta enhet
  1. Gå till den IoT Hub som är ansluten till enhetens uppdateringsinstans. Klicka på Åtkomstkontroll(IAM)
  2. Klicka på + Lägg till ->Lägg till rolltilldelning
  3. Under fliken Roll väljer du IoT Hub-datadeltagare
  4. Klicka på Nästa. För Tilldela åtkomst till väljer du Användare, grupp eller tjänstens huvudnamn. Klicka på + Välj medlemmar, sök efter "Azure Device Update"
  5. Klicka på Nästa –>Granska och tilldela

Så här verifierar du att du har angett behörigheter korrekt:

  1. Gå till den IoT Hub som är ansluten till enhetens uppdateringsinstans. Klicka på Åtkomstkontroll(IAM)
  2. Klicka på Kontrollera åtkomst
  3. Välj Användare, grupp eller tjänstens huvudnamn och sök efter "Azure Device Update"
  4. När du har klickat på "Azure Device Update" kontrollerar du att rollen IoT Hub-datadeltagare visas under Rolltilldelningar

Autentisera till REST-API:er för enhetsuppdatering

Device Update använder Azure Active Directory (AD) för autentisering till sina REST-API:er. För att komma igång måste du skapa och konfigurera ett klientprogram.

Skapa azure AD-klientapp

Om du vill integrera ett program eller en tjänst med Azure AD registrerar du först ett klientprogram med Azure AD. 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ägg till plattformen 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 for .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 Azure AD 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:

  1. Logga in på Azure Portal 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 en systemtilldelad hanteringsidentitet från ett enhetsuppdateringskonto för IoT Hub väljer du av och klickar på spara.

Nästa steg