Contrôle d’accès en fonction du rôle (RBAC) Azure et Device Update

Device Update utilise RBAC Azure pour fournir l’authentification et l’autorisation des utilisateurs et API de service. Pour permettre à d’autres utilisateurs et applications d’accéder à Device Update, ceux-ci doivent avoir accès à cette ressource. Il est également nécessaire de configurer l’accès pour le principal du service Azure Device Update pour le déploiement des mises à jour et la gestion de vos appareils.

Configurer les rôles de contrôle d’accès

Voici les rôles pris en charge par Device Update :

Nom du rôle Description
Administrateur Device Update Peut accéder à toutes les ressources Device Update
Lecteur Device Update Peut afficher toutes les mises à jour et tous les déploiements
Administrateur de contenu Device Update Peut afficher, importer et supprimer des mises à jour
Lecteur du contenu Device Update Peut afficher les mises à jour
Administrateur des déploiements Device Update Peut gérer le déploiement des mises à jour sur les appareils
Lecteur des déploiements Device Update Peut afficher les déploiements des mises à jour sur les appareils

Une combinaison de rôles peut être utilisée pour fournir le niveau d’accès approprié. Par exemple, un développeur peut importer et gérer des mises à jour à l’aide du rôle Administrateur de contenu Device Update, mais il a besoin du rôle Lecteur des déploiements Device Update pour voir la progression d’une mise à jour. À l’inverse, un opérateur de solutions doté du rôle Lecteur Device Update peut afficher toutes les mises à jour, mais il doit utiliser le rôle Administrateur des déploiements Device Update pour déployer une mise à jour spécifique sur des appareils.

Configuration de l’accès pour le principal du service Azure Device Update dans le IoT Hub

Device Update for IoT Hub communique avec le IoT Hub pour les déploiements et gère les mises à jour à grande échelle. Pour permettre à Device Update de faire cela, les utilisateurs doivent définir l’accès Contributeur de données IoT Hub pour le principal du service Azure Device Update dans les autorisations IoT Hub.

Les actions de diagnostic et de déploiement, de gestion des appareils et des mises à jour ne sont pas autorisées si ces autorisations ne sont pas définies. Les opérations qui seront bloquées incluent :

  • Création de déploiement
  • Annuler le déploiement
  • Relancer le déploiement
  • Obtenir un appareil

L’autorisation peut être définie à partir de IoT Hub Access Control (IAM). Reportez-vous à Configurer l’accès pour le principal de service Azure Device Update dans le hub IoT lié.

S’authentifier auprès des API REST Device Update

Device Update utilise Microsoft Entra ID pour l'authentification auprès de ses API REST. Pour bien démarrer, vous avez besoin de créer et de configurer une application cliente.

Créer l'application client Microsoft Entra

Pour intégrer une application ou un service avec Microsoft Entra ID, enregistrez d'abord une application client avec Microsoft Entra ID. La configuration de l’application cliente varie selon le workflow d’autorisation dont vous avez besoin (utilisateurs, applications ou identités managées). Par exemple, pour appeler Device Update :

  • À partir d’une application mobile ou de bureau, ajoutez la Plate-forme d'applications mobiles et de bureau avec https://login.microsoftonline.com/common/oauth2/nativeclient comme URI de redirection.
  • À partir d’un site web avec authentification implicite, ajoutez une plateforme web et sélectionnez jetons d’accès (utilisés pour les flux implicites).

Configurer les autorisations

Ensuite, ajoutez des autorisations pour appeler Device Update dans votre application :

  1. Accédez à la page Autorisations d’API de votre application, puis sélectionnez Ajouter une autorisation.
  2. Accédez aux API que mon organisation utilise et recherchez Azure Device Update.
  3. Sélectionnez l’autorisation user_impersonation, puis Ajouter des autorisations.

Requête de jeton d’autorisation

L’API REST Device Update exige un jeton d’autorisation OAuth 2.0 dans l’en-tête de demande. Les sections suivantes montrent quelques exemples de façons de demander un jeton d’autorisation.

Utilisation de l’interface de ligne de commande Azure

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

Utilisation de la bibliothèque PowerShell MSAL

Le module PowerShell MSAL.PS est un wrapper sur la bibliothèque d’authentification pour .NET (MSAL .NET). Il prend en charge diverses méthodes d’authentification.

Utilisation des informations d’identification de l’utilisateur :

$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

Utilisation des informations d’identification de l’utilisateur avec le code de l’appareil :

$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

Utilisation des informations d’identification de l’application :

$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

Prise en charge des identités managées

Les identités gérées fournissent aux services Azure une identité gérée automatiquement dans Microsoft Entra ID de manière sécurisée. Ainsi, les développeurs n’ont plus à gérer les informations d’identification en fournissant une identité. Device Update pour IoT Hub prend en charge les identités managées affectées par le système.

Identité managée affectée par le système

Pour ajouter et supprimer une identité managée affectée par le système dans le portail Azure :

  1. Connectez-vous au portail Azure, puis accédez au compte Device Update pour IoT Hub souhaité.
  2. Accédez à Identité dans votre portail Device Update pour IoT Hub.
  3. Accédez à Identité sur votre portail IoT Hub.
  4. Sous l’onglet Affectée par le système, sélectionnez Activé, puis cliquez sur Enregistrer.

Pour supprimer l’identité managée affectée par le système d’un compte Device Update pour IoT Hub, sélectionnez Désactivé, puis cliquez sur Enregistrer.

Étapes suivantes