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 suivantes seront bloquées dans la prochaine version, si ces autorisations ne sont pas définies :
- Création de déploiement
- Annuler le déploiement
- Relancer le déploiement
- Obtenir un appareil
- Accédez au hub IoT que vous avez précédemment connecté à votre instance Device Update. Cliquez sur Contrôle d’accès (IAM).
- Cliquez sur + Ajouter ->Ajouter une attribution de rôle
- Sous l’onglet Rôle, sélectionnez Contributeur de données IoT Hub
- Cliquez sur Suivant. Pour Attribuer l’accès à, sélectionnez Utilisateur, groupe ou principal du service. Cliquez sur + Sélectionner des membres, recherchez « Azure Device Update »
- Cliquez sur Suivant ->Analyser + Attribuer
Pour vérifier que vous avez correctement défini les autorisations :
- Accédez au hub IoT que vous avez précédemment connecté à votre instance Device Update. Cliquez sur Contrôle d’accès (IAM).
- Cliquez sur Vérifier l’accès
- Sélectionnez Utilisateur, groupe ou principal de service, puis recherchez « Azure Device Update »
- Après avoir cliqué sur Azure Device Update, vérifiez que le rôle Contributeur de données IoT Hub est listé sous Attributions de rôles
S’authentifier auprès des API REST Device Update
Device Update utilise Azure Active Directory (AD) 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 Azure AD cliente
Pour intégrer une application ou un service à Azure AD, commencez par inscrire une application cliente auprès d’Azure AD. 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 :
- Accédez à la page Autorisations d’API de votre application, puis sélectionnez Ajouter une autorisation.
- Accédez aux API que mon organisation utilise et recherchez Azure Device Update.
- 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 managées fournissent aux services Azure une identité managée automatiquement dans Azure AD, 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 :
- Connectez-vous au portail Azure, puis accédez au compte Device Update pour IoT Hub souhaité.
- Accédez à Identité dans votre portail Device Update pour IoT Hub.
- Accédez à Identité sur votre portail IoT Hub.
- 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.