Rollenbasierte Zugriffssteuerung in Azure (Role-Based Access Control, RBAC) und Device Update
Device Update verwendet Azure RBAC, um Authentifizierung und Autorisierung für Benutzer und Dienst-APIs bereitzustellen. Damit andere Benutzer und Anwendungen auf Device Update zugreifen können, muss den Benutzern oder Anwendungen Zugriff auf diese Ressource gewährt werden. Außerdem muss derZugriff auf den Azure Device Update Service Principal konfiguriert werden, um Updates erfolgreich zu verteilen und Ihre Geräte zu verwalten.
Konfigurieren von Zugriffssteuerungsrollen
Dies sind die Rollen, die von Device Update unterstützt werden:
Rollenname | BESCHREIBUNG |
---|---|
Device Update-Administrator | Besitzt Zugriff auf alle Geräteaktualisierungsressourcen. |
Device Update-Leser | Kann alle Updates und Bereitstellungen anzeigen. |
Device Update-Inhaltsadministrator | Kann Updates anzeigen, importieren und löschen. |
Device Update-Inhaltsleser | Kann Updates anzeigen. |
Device Update-Bereitstellungsadministrator | Kann die Bereitstellung von Updates für Geräte verwalten. |
Device Update-Bereitstellungsleser | Kann Bereitstellungen von Updates für Geräte anzeigen. |
Eine Kombination von Rollen kann verwendet werden, um die richtige Zugriffsebene bereitzustellen. Beispielsweise kann ein Entwickler mit der Rolle „Device UpdateInhaltsadministrator“ Updates importieren und verwalten, er benötigt aber die Rolle „Device Update-Bereitstellungsleser“, um den Fortschritt eines Updates anzuzeigen. Umgekehrt kann ein Lösungsoperator mit der Rolle „Device Update-Leser“ alle Updates anzeigen, muss aber die Rolle „Device Update-Bereitstellungsadministrator“ verwenden, um ein bestimmtes Update auf Geräten bereitzustellen.
Konfigurieren des Zugriffs für den Azure Device Update Service Principal im IoT Hub
Device Update for IoT Hub kommuniziert mit dem IoT Hub für die Bereitstellung und Verwaltung von Updates in großem Umfang. Damit Device Update diese Aufgabe übernehmen kann, müssen Benutzer in den IoT Hub-Berechtigungen Zugriff vom Typ „Mitwirkender an IoT Hub-Daten“ für den Azure Device Update-Dienstprinzipal festlegen.
Bereitstellungs-, Geräte- und Updateverwaltungs- und Diagnoseaktionen sind nicht zulässig, wenn diese Berechtigungen nicht festgelegt sind. Es folgen Vorgänge, die blockiert werden:
- Bereitstellung erstellen
- Bereitstellung abbrechen
- Wiederholung der Bereitstellung
- Get Device
Die Berechtigung kann über IoT Hub Access Control (IAM) festgelegt werden. Weitere Informationen finden Sie unter Konfigurieren des Zugriffs für den Azure Device Update-Dienstprinzipal im verknüpften IoT-Hub.
Authentifizieren bei Device Update-REST-APIs
Device Update verwendet Microsoft Entra ID für die Authentifizierung bei REST-APIs. Zunächst müssen Sie eine Clientanwendung erstellen und konfigurieren.
Erstellen einer Microsoft Entra-Client-App
Um eine Anwendung oder einen Dienst in Microsoft Entra ID zu integrieren, registrieren Sie zunächst eine Clientanwendung bei Microsoft Entra ID. Die Einrichtung der Clientanwendung variiert je nach erforderlicher Autorisierung (Benutzer*innen, Anwendungen oder verwaltete Identitäten). Folgendes gilt für Aufrufe von Device Update:
- Bei einem Aufruf aus mobilen Anwendungen oder Desktopanwendungen fügen Sie die Plattform Mobile und Desktop-Anwendungen mit
https://login.microsoftonline.com/common/oauth2/nativeclient
für den Umleitungs-URI hinzu. - Website mit impliziter Anmeldung, fügen Sie die Webplattform hinzu und wählen Sie Zugriffstoken (verwendet für implizite Flüsse) aus.
Hinweis
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Die implizite Flow-Authentifizierung erfordert ein sehr hohes Maß an Vertrauen in die Anwendung und birgt Risiken, die in anderen Flows nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind.
Konfigurieren von Berechtigungen
Fügen Sie als Nächstes Ihrer App Berechtigungen zum Aufrufen von Device Update hinzu:
- Wechseln Sie zur API-Berechtigungsseite Ihrer App, und wählen Sie Berechtigung hinzufügen aus.
- Wechseln Sie zu APIs, die meine Organisation verwendet, und suchen Sie nach Azure Device Update.
- Wählen Sie die Berechtigung user_impersonation aus, und wählen Sie Berechtigungen hinzufügen aus.
Anfordern eines Autorisierungstokens
Die Device Update-REST-API erfordert ein OAuth 2.0-Autorisierungstoken im Anforderungsheader. In den folgenden Abschnitten finden Sie einige Beispiele für Methoden zum Anfordern eines Autorisierungstokens.
Verwenden der Azure-Befehlszeilenschnittstelle
az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'
Verwenden der PowerShell-MSAL-Bibliothek
MSAL.PS: Dieses PowerShell-Modul ist ein Wrapper für die Microsoft-Authentifizierungsbibliothek für .NET (MSAL .NET). Es unterstützt verschiedene Authentifizierungsmethoden.
Verwenden von Benutzeranmeldeinformationen:
$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
Verwenden von Benutzeranmeldeinformationen mit Gerätecode:
$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
Verwenden von App-Anmeldeinformationen:
$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
Unterstützung für verwaltete Identitäten
Verwaltete Identitäten stellen für Azure-Dienste eine automatisch verwaltete Identität in Microsoft Entra ID auf sichere Weise bereit. Dadurch entfällt die Notwendigkeit, dass Entwickler Anmeldeinformationen durch Bereitstellung einer Identität verwalten müssen. „Device Update for IoT Hub“ unterstützt vom System zugewiesene verwaltete Identitäten.
Systemseitig zugewiesene verwaltete Identität
Um eine systemseitig zugewiesene verwaltete Identität im Azure-Portal hinzuzufügen und zu entfernen:
- Melden Sie sich beim Azure-Portal an und Navigieren Sie zu Ihrem gewünschten „Device Update for IoT Hub“-Konto.
- Navigieren Sie zu Identität in Ihrem „Device Update for IoT Hub“-Portal
- Navigieren Sie im IoT Hub-Portal zu Identität.
- Wählen Sie auf der Registerkarte Systemseitig zugewiesen die Option Ein aus, und klicken Sie auf Speichern.
Zum Entfernen einer systemseitig zugewiesenen verwalteten Identität aus einem Geräteupdate für ein IoT-Hub-Konto wählen Sie „Aus“ aus und klicken auf „Speichern“.