Azure RBAC und Azure Device Update for IoT Hub
Damit Benutzende und Anwendungen auf Azure Device Update for IoT Hub zugreifen können, muss ihnen Zugriff auf die Device Update-Ressource gewährt werden. Der Device Update-Dienstprinzipal muss auch Zugriff auf den zugehörigen IoT-Hub erhalten, um Updates bereitzustellen und Geräte zu verwalten.
In diesem Artikel erfahren Sie, wie Device Update und Azure IoT Hub rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC) verwendet, um Authentifizierung und Autorisierung für Benutzende und Dienst-APIs bereitzustellen. Der Artikel beschreibt auch die Microsoft Entra ID-Authentifizierung für Device Update-REST-APIs und die Unterstützung für verwaltete Identitäten in Device Update und Azure IoT Hub.
Device Update-Zugriffssteuerungsrollen
Device Update unterstützt die folgenden RBAC-Rollen. Weitere Informationen finden Sie unter Konfigurieren von Zugriffssteuerung für das Device Update-Konto.
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 Bereitstellungen von Updates für Geräte verwalten. |
Device Update-Bereitstellungsleser | Kann Bereitstellungen von Updates für Geräte anzeigen. |
Sie können eine Kombination von Rollen zuweisen, um die richtige Zugriffsebene bereitzustellen. Beispielsweise können Sie mit der Rolle für die Device Update-Inhaltsadministration Updates importieren und verwalten, Sie benötigen jedoch die Leserrolle für Device Update-Bereitstellungen, um den Fortschritt eines Updates anzuzeigen. Umgekehrt können Sie mit der Device Update-Leserrolle alle Updates anzeigen, benötigen aber die Rolle für die Device Update-Bereitstellungsadministration, um ein Update auf Geräten bereitzustellen.
Zugriff des Device Update-Dienstprinzipals auf IoT Hub
Device Update kommuniziert mit dem zugehörigen IoT-Hub, um Updates im großen Stil bereitzustellen und zu verwalten. Um diese Kommunikation zu ermöglichen, müssen Sie dem Device Update-Dienstprinzipal mit der Rolle für Mitwirkende an IoT Hub-Daten Zugriff auf den IoT-Hub gewähren.
Das Erteilen dieser Berechtigung ermöglicht die folgenden Aktionen für Bereitstellung, Geräte- und Updateverwaltung sowie Diagnose:
- Bereitstellung erstellen
- Abbrechen der Bereitstellung
- Wiederholen der Bereitstellung
- Gerät abrufen
Sie können diese Berechtigung auf der Seite Zugriffssteuerung (IAM) des IoT-Hubs festlegen. Weitere Informationen finden Sie unter Konfigurieren des IoT-Hubzugriffs für den Device Update-Dienstprinzipal.
REST-APIs für Device Update
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. Das Setup der Clientanwendung variiert je nach erforderlicher Autorisierung: Benutzende, Anwendungen oder verwaltete Identitäten. Zum Beispiel:
Um Device Update von einer mobilen Anwendung oder einer Desktopanwendung aufzurufen, wählen Sie unter Plattform auswählen die Option Öffentlicher Client/nativ (mobil und Desktop) aus, und geben Sie
https://login.microsoftonline.com/common/oauth2/nativeclient
für den Umleitungs-URI ein.Um Device update von einer Website mit impliziter Anmeldung aufzurufen, verwenden Sie die Plattform Web. Wählen Sie unter Implizite Genehmigung und Hybridflows die Option Zugriffstoken (werden für implizite Flows verwendet) aus.
Hinweis
Verwenden Sie den sichersten verfügbaren Authentifizierungsflow. Die implizite Flow-Authentifizierung erfordert ein 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 praktikabel sind.
Konfigurieren von Berechtigungen
Erteilen Sie als Nächstes Berechtigungen für Ihre App, um Device Update aufzurufen.
- 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 Beispiele für einige Methoden zum Anfordern eines Autorisierungstokens.
Azure-Befehlszeilenschnittstelle
az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'
PowerShell-MSAL-Bibliothek
Das PowerShell-Modul MSAL.PS
ist ein Wrapper für die Microsoft-Authentifizierungsbibliothek für .NET (MSAL .NET), die verschiedene Authentifizierungsmethoden unterstützt.
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
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
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 Azure-Diensten sichere, automatisch verwaltete Microsoft Entra ID-Identitäten bereit. Dank verwalteter Identitäten müssen Entwickelnde keine Anmeldeinformationen mehr verwalten, indem sie Identitäten bereitstellen. Device Update unterstützt systemseitig zugewiesene verwaltete Identitäten.
So fügen Sie eine systemseitig zugewiesene verwaltete Identität für Device Update hinzu
- Navigieren Sie im Azure-Portal zu Ihrem Device Update-Konto.
- Wählen Sie im linken Navigationsbereich die Optionen Einstellungen>Identität aus.
- Legen Sie auf der Seite Identität unter Systemseitig zugewiesen die Option Status auf Ein fest.
- Wählen Sie Speichern und dann Ja aus.
So fügen Sie eine systemseitig zugewiesene verwaltete Identität für IoT Hub hinzu
- Navigieren Sie im Azure-Portal zu Ihrem IoT Hub.
- Wählen Sie im linken Navigationsbereich die Optionen Sicherheitseinstellungen>Identität aus.
- Wählen Sie auf der Seite Identität unter Systemseitig zugewiesen für Status die Option Ein aus.
- Wählen Sie Speichern und dann Ja aus.
Um die systemseitig zugewiesene verwaltete Identität aus einem Device Update-Konto oder IoT-Hub zu entfernen, müssen Sie auf der Seite Identität die Option Aus festlegen oder auswählen. Wählen Sie anschließend Speichern aus.