Dela via


Azure RBAC och Azure Device Update för IoT Hub

För att användare och program ska få åtkomst till Azure Device Update för IoT Hub måste de beviljas åtkomst till enhetsuppdateringsresursen. Tjänstens huvudnamn för enhetsuppdatering måste också få åtkomst till dess associerade IoT-hubb för att distribuera uppdateringar och hantera enheter.

Den här artikeln beskriver hur Enhetsuppdatering och Azure IoT Hub använder rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att tillhandahålla autentisering och auktorisering för användare och tjänst-API:er. Artikeln beskriver även Microsoft Entra ID-autentisering för REST API:er för enhetsuppdatering och stöd för hanterade identiteter i Enhetsuppdatering och Azure IoT Hub.

Åtkomstkontrollroller för enhetsuppdatering

Enhetsuppdatering stöder följande RBAC-roller. Mer information finns i Konfigurera åtkomstkontroll till enhetsuppdateringskontot.

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 distributioner av uppdateringar till enheter
Läsare för enhetsuppdateringsdistributioner Kan visa distributioner av uppdateringar till enheter

Du kan tilldela en kombination av roller för att ge rätt åtkomstnivå. Du kan till exempel använda rollen Innehållsadministratör för enhetsuppdatering för att importera och hantera uppdateringar, men du behöver rollen Läsare för enhetsuppdateringsdistributioner för att visa förloppet för en uppdatering. Med rollen Enhetsuppdateringsläsare kan du visa alla uppdateringar, men du behöver rollen Administratör för enhetsuppdateringsdistributioner för att distribuera en uppdatering till enheter.

Enhetsuppdateringstjänstens huvudnamnsåtkomst till IoT Hub

Enhetsuppdatering kommunicerar med sin associerade IoT-hubb för att distribuera och hantera uppdateringar i stor skala. För att aktivera den här kommunikationen måste du ge tjänstens huvudnamn för enhetsuppdatering åtkomst till IoT-hubben med rollen IoT Hub-datadeltagare.

Om du beviljar den här behörigheten kan du utföra följande distributions-, enhets- och uppdateringshantering samt diagnostikåtgärder:

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

Du kan ange den här behörigheten från IoT Hub Access Control-sidan (IAM). Mer information finns i Konfigurera IoT Hub-åtkomst för enhetsuppdateringstjänstens huvudnamn.

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 en 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. Till exempel:

  • Om du vill anropa Enhetsuppdatering från ett mobil- eller skrivbordsprogram väljer du Offentlig klient/intern (mobil och stationär dator) i Välj en plattform och anger https://login.microsoftonline.com/common/oauth2/nativeclient för omdirigerings-URI:n.

  • Om du vill anropa Enhetsuppdatering från en webbplats med implicit inloggning använder du webbplattform . Under Implicit beviljande och hybridflöden väljer du Åtkomsttoken (används för implicita flöden).

    Kommentar

    Använd det säkraste tillgängliga autentiseringsflödet. Implicit flödesautentisering kräver en 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

Bevilja sedan behörigheter till din app för att anropa Enhetsuppdatering.

  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 exempel på några sätt att begära en auktoriseringstoken.

Azure CLI

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

PowerShell MSAL-bibliotek

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

  • 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ä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
    
  • 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 säkra, automatiskt hanterade Microsoft Entra-ID-identiteter. Hanterade identiteter eliminerar behovet av att utvecklare hanterar autentiseringsuppgifter genom att ange identiteter. Enhetsuppdatering stöder systemtilldelade hanterade identiteter.

Så här lägger du till en systemtilldelad hanterad identitet för enhetsuppdatering:

  1. I Azure Portal går du till ditt enhetsuppdateringskonto.
  2. I det vänstra navigeringsfältet väljer du Inställningar>Identitet.
  3. Under System som tilldelats på identitetssidan anger du Status till .
  4. Välj Spara och välj sedan Ja.

Så här lägger du till en systemtilldelad hanterad identitet för IoT Hub:

  1. I Azure Portal går du till din IoT-hubb.
  2. I det vänstra navigeringsfältet väljer du Säkerhetsinställningar>Identitet.
  3. Under Systemtilldeladsidan Identitet väljer du under Status.
  4. Välj Spara och välj sedan Ja.

Om du vill ta bort systemtilldelad hanterad identitet från ett enhetsuppdateringskonto eller IoT-hubb anger eller väljer du Avidentitetssidan och väljer sedan Spara.