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.
Wenn diese Berechtigungen nicht festgelegt wurden, werden die folgenden Aktionen beim nächsten Release blockiert:
- Bereitstellung erstellen
- Bereitstellung abbrechen
- Wiederholung der Bereitstellung
- Get Device
- Gehen Sie zum IoT Hub, der mit Ihrer Device Update Instance verbunden ist. Klicken Sie auf Zugriffssteuerung (IAM)
- Klicken Sie auf +Hinzufügen -> Rollenzuweisung hinzufügen
- Wählen Sie auf der Registerkarte „Rolle“ die Option Mitwirkender an IoT Hub-Daten aus.
- Klicken Sie auf Weiter. Wählen Sie für Zugriff zuweisen zu die Option Benutzer, Gruppe oder Dienstprinzipal aus. Klicken Sie auf +Mitglieder auswählen, suchen Sie nach 'Azure Device Update'
- Klicken Sie auf Weiter ->Überprüfen + Zuweisen
So überprüfen Sie, ob Sie Berechtigungen richtig festgelegt haben:
- Gehen Sie zum IoT Hub, der mit Ihrer Device Update Instance verbunden ist. Klicken Sie auf Zugriffssteuerung (IAM)
- Klicken Sie auf Zugriff überprüfen.
- Wählen Sie Benutzer, Gruppe oder Dienstprinzipal aus, und suchen Sie nach Azure Device Update.
- Nachdem Sie auf Azure Device Update geklickt haben, überprüfen Sie unter Rollenzuweisungen, ob dort die Rolle Mitwirkender an IoT Hub-Daten aufgeführt ist.
Authentifizieren bei Device Update-REST-APIs
Device Update verwendet Azure Active Directory (AD) für die Authentifizierung bei REST-APIs. Zunächst müssen Sie eine Clientanwendung erstellen und konfigurieren.
Erstellen einer Azure AD-Client-App
Um eine Anwendung oder einen Dienst in Azure AD zu integrieren, registrieren Sie zunächst eine Clientanwendung bei Azure AD. 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.
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 Azure-Dienste mit einer automatisch verwalteten Identität in Azure AD 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 IoT-Hub wählen Sie Aus aus und klicken Sie auf Speichern.