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.
- 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 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:
- I Azure Portal går du till ditt enhetsuppdateringskonto.
- I det vänstra navigeringsfältet väljer du Inställningar>Identitet.
- Under System som tilldelats på identitetssidan anger du Status till På.
- Välj Spara och välj sedan Ja.
Så här lägger du till en systemtilldelad hanterad identitet för IoT Hub:
- I Azure Portal går du till din IoT-hubb.
- I det vänstra navigeringsfältet väljer du Säkerhetsinställningar>Identitet.
- Under Systemtilldelad på sidan Identitet väljer du På under Status.
- 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 Av på identitetssidan och väljer sedan Spara.