Partager via


RBAC Azure et Azure Device Update pour IoT Hub

Pour que les utilisateurs et les applications puissent accéder à Azure Device Update pour IoT Hub, l’accès à la ressource Device Update doit leur être octroyé. Le principal de service Device Update doit également avoir accès à son hub IoT associé pour déployer des mises à jour et gérer des appareils.

Cet article explique comment Device Update et Azure IoT Hub utilisent le contrôle d’accès en fonction du rôle Azure (RBAC Azure) pour fournir l’authentification et l’autorisation aux utilisateurs et API de service. L’article décrit également l’authentification Microsoft Entra ID pour les API REST Device Update et la prise en charge des identités managées dans Device Update et Azure IoT Hub.

Rôles de contrôle d’accès Device Update

Device Update prend en charge les rôles RBAC suivants. Pour plus d’informations, consultez Configurer le contrôle d’accès au compte 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 les déploiements de mises à jour sur les appareils
Lecteur des déploiements Device Update Peut afficher les déploiements des mises à jour sur les appareils

Vous pouvez attribuer une combinaison de rôles pour fournir le niveau d’accès approprié. Par exemple, vous pouvez utiliser le rôle Administrateur de contenu Device Update pour importer et gérer des mises à jour, mais vous avez besoin du rôle Lecteur des déploiements Device Update pour afficher la progression d’une mise à jour. À l’inverse, avec le rôle Lecteur Device Update, vous pouvez afficher toutes les mises à jour, mais vous avez besoin du rôle Administrateur des déploiements Device Update pour déployer une mise à jour sur des appareils.

Accès du principal de service Device Update à IoT Hub

Device Update communique avec son hub IoT associé pour déployer et gérer les mises à jour à grande échelle. Pour activer cette communication, vous devez accorder au principal de service Device Update l’accès au hub IoT avec le rôle Contributeur de données IoT Hub.

L’octroi de cette autorisation permet d’effectuer les actions de déploiement, de gestion des appareils et des mises à jour, et de diagnostic suivantes :

  • Créer un déploiement
  • Annuler le déploiement
  • Réessayer le déploiement
  • Obtenir un appareil

Vous pouvez définir cette autorisation à partir de la page Contrôle d’accès (IAM) du hub IoT. Pour plus d’informations, consultez Configurer l’accès au hub IoT pour le principal de service Device Update.

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 une application Microsoft Entra cliente

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 flux 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 bureautique, sélectionnez Client public/natif (mobile et bureau) dans Sélectionner une plateforme, puis entrez https://login.microsoftonline.com/common/oauth2/nativeclient comme URI de redirection.

  • Pour appeler Device Update à partir d’un site web avec authentification implicite, utilisez la plateforme Web. Sous Octroi implicite et flux hybrides, sélectionnez Jetons d’accès (utilisés pour les flux implicites).

    Remarque

    Utilisez le flux d’authentification le plus sécurisé disponible. L’authentification par flux implicite nécessite un degré de confiance élevé dans l’application et comporte des risques qui ne sont pas présents dans d’autres flux. Vous devez utiliser ce flux seulement si d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.

Configurer les autorisations

Ensuite, accordez des autorisations à votre application pour appeler Device Update.

  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 exemples dans les sections suivantes illustrent différentes façons de demander un jeton d’autorisation.

Azure CLI

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

Bibliothèque MSAL PowerShell

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

  • 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
    
  • Informations d’identification de l’utilisateur avec 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
    
  • 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 managées fournissent aux services Azure des identités Microsoft Entra ID sécurisées et automatiquement managées. Grâce aux identités managées, les développeurs n’ont plus besoin de gérer les informations d’identification en fournissant des identités. Device Update prend en charge les identités managées affectées par le système.

Pour ajouter une identité managée affectée par le système pour Device Update :

  1. Dans le Portail Azure, accédez à votre compte Device Update.
  2. Dans le volet de navigation de gauche, sélectionnez Paramètres>Identité.
  3. Sous Affectée par le système dans la page Identité, définissez État sur Activé.
  4. Sélectionnez Enregistrer, puis Oui.

Pour ajouter une identité managée affectée par le système pour IoT Hub :

  1. Accédez à votre IoT Hub dans le Portail Azure.
  2. Dans le volet de navigation de gauche, sélectionnez Paramètres de sécurité>Identité.
  3. Sous Affectée par le système dans la page Identité, sélectionnez Activé sous État.
  4. Sélectionnez Enregistrer, puis Oui.

Pour supprimer l’identité managée affectée par le système d’un compte Device Update ou d’un hub IoT, définissez ou sélectionnez Désactivé dans la page Identité, puis sélectionnez Enregistrer.