Contrôler l’accès au service Azure IoT Hub Device Provisioning (DPS) à l’aide de Microsoft Entra ID (préversion)
Vous pouvez utiliser l’ID Microsoft Entra pour authentifier les demandes auprès des API DPS (Device Provisioning Service) Azure IoT Hub, telles que créer une identité d’appareil et appeler une méthode directe. Vous pouvez également utiliser le contrôle d’accès en fonction du rôle (RBAC) Azure pour autoriser ces mêmes API de service. En utilisant ces technologies ensemble, vous pouvez accorder des autorisations pour accéder aux API DPS (Device Provisioning Service) Azure IoT Hub à un principal de sécurité Microsoft Entra. Le principal de sécurité peut être un utilisateur, un groupe ou un principal du service d’application.
L’authentification de l’accès à l’aide de l’ID Microsoft Entra et le contrôle des autorisations à l’aide d’Azure RBAC offre une sécurité et une facilité d’utilisation améliorées sur les jetons de sécurité. Pour réduire les problèmes de sécurité potentiels inhérents aux jetons de sécurité, nous vous recommandons d’utiliser Microsoft Entra ID avec votre service Azure IoT Hub Device Provisioning (DPS) dans la mesure du possible.
Remarque
L’authentification avec l’ID Microsoft Entra n’est pas prise en charge pour les API d’appareil Azure IoT Hub Device Provisioning Service (DPS) (telles que l’inscription d’un appareil ou la recherche d’état d’inscription d’appareil). Utilisez des clés symétriques, X.509 ou TPM pour authentifier les appareils auprès du Service Azure IoT Hub Device Provisioning (DPS).
Authentification et autorisation
Lorsqu’un principal de sécurité Microsoft Entra demande l’accès à une API DPS (Device Provisioning Service) Azure IoT Hub, l’identité du principal est d’abord authentifiée. Pour l’authentification, la demande doit contenir un jeton d’accès OAuth 2.0 au moment de l’exécution. Le nom de ressource pour la demande du jeton est https://azure-devices-provisioning.net
. Si l’application s’exécute dans une ressource Azure comme une machine virtuelle Azure, une application Azure Functions ou une application Azure App Service, elle peut être représentée en tant qu’identité managée.
Une fois le principal Microsoft Entra authentifié, l’étape suivante est l’autorisation. Dans cette étape, azure IoT Hub Device Provisioning Service (DPS) utilise le service d’attribution de rôle Microsoft Entra pour déterminer les autorisations dont dispose le principal. Si les autorisations du principal correspondent à la ressource ou à l’API demandée, le Service Azure IoT Hub Device Provisioning (DPS) autorise la demande. Ainsi, cette étape exige qu’un ou plusieurs rôles Azure soient attribués au principal de sécurité. Le Service Azure IoT Hub Device Provisioning (DPS) fournit des rôles intégrés qui ont des groupes d’autorisations communs.
Gérer l’accès au Service Azure IoT Hub Device Provisioning (DPS) à l’aide de l’attribution de rôle Azure RBAC
Avec Microsoft Entra ID et RBAC, le service DPS (Device Provisioning Service) Azure IoT Hub exige que le principal demandant à l’API d’avoir le niveau d’autorisation approprié pour l’autorisation. Pour octroyer l’autorisation au principal, donnez-lui une attribution de rôle.
- Si le principal est un utilisateur, un groupe ou un principal du service d’application, suivez les instructions fournies dans Attribuer des rôles Azure à l’aide du portail Azure.
- Si le principal est une identité managée, suivez les instructions fournies dans Attribuer à une identité managée un accès à une ressource à l’aide du portail Azure.
Pour garantir des privilèges minimum, attribuez toujours le rôle approprié au niveau de l’étendue de ressource le plus faible possible, à savoir probablement l’étendue du Service Azure IoT Hub Device Provisioning (DPS).
Azure IoT Hub Device Provisioning Service (DPS) fournit les rôles intégrés Azure suivants pour autoriser l’accès aux API DPS à l’aide de l’ID Microsoft Entra et du RBAC :
Rôle | Description |
---|---|
Contributeur de données du service provisionnement des appareils | Permet un accès complet aux opérations du plan de données du service de provisionnement des appareils. |
Lecteur de données du service provisionnement des appareils | Permet un accès en lecture complet aux propriétés du plan de données du service de provisionnement des appareils. |
Vous pouvez également définir des rôles personnalisés à utiliser avec le Service Azure IoT Hub Device Provisioning (DPS) en combinant les autorisations dont vous avez besoin. Pour plus d’informations, consultez Créer des rôles personnalisés pour le contrôle d’accès en fonction du rôle Azure.
Étendue des ressources
Avant d’attribuer un rôle RBAC Azure à un principal de sécurité, déterminez l’étendue de l’accès dont doit disposer le principal de sécurité. Il est toujours préférable d’accorder la plus petite étendue possible. Les rôles RBAC Azure définis au niveau d’une étendue plus large sont hérités par les ressources qui sont sous eux.
Cette liste décrit les niveaux auxquels vous pouvez étendre l’accès à IoT Hub, en commençant par la plus petite étendue :
- Le Service Azure IoT Hub Device Provisioning (DPS). Dans cette étendue, une attribution de rôle s’applique au Service Azure IoT Hub Device Provisioning (DPS). L’attribution de rôle à des étendues plus petites, comme le groupe d’inscription ou l’inscription individuelle, n’est pas prise en charge.
- Groupe de ressources. Dans cette étendue, une attribution de rôle s’applique à tous les hubs IoT dans le groupe de ressources.
- Abonnement. Dans cette étendue, une attribution de rôle s’applique à tous les hubs IoT dans tous les groupes de ressources de l’abonnement.
- Un groupe d’administration. Dans cette étendue, une attribution de rôle s’applique à tous les hubs IoT dans tous les groupes de ressources de tous les abonnements dans le groupe d’administration.
Autorisations pour les API du Service Azure IoT Hub Device Provisioning (DPS)
Le tableau suivant décrit les autorisations disponibles pour les opérations d’API du Service Azure IoT Hub Device Provisioning (DPS). Pour permettre à un client d’appeler une opération particulière, vérifiez que le rôle RBAC attribué au client offre des autorisations suffisantes pour l’opération.
Action RBAC | Description |
---|---|
Microsoft.Devices/provisioningServices/attestationmechanism/details/action |
Récupérer les détails du mécanisme d’attestation |
Microsoft.Devices/provisioningServices/enrollmentGroups/read |
Lire des groupes d’inscription |
Microsoft.Devices/provisioningServices/enrollmentGroups/write |
Écrire des groupes d’inscription |
Microsoft.Devices/provisioningServices/enrollmentGroups/delete |
Supprimer des groupes d’inscription |
Microsoft.Devices/provisioningServices/enrollments/read |
Lire les inscriptions |
Microsoft.Devices/provisioningServices/enrollments/write |
Écrire des inscriptions |
Microsoft.Devices/provisioningServices/enrollments/delete |
Supprimer des inscriptions |
Microsoft.Devices/provisioningServices/registrationStates/read |
Lire des états d’inscription |
Microsoft.Devices/provisioningServices/registrationStates/delete |
Supprimer des états d’inscription |
Extension Azure IoT pour Azure CLI
La plupart des commandes sur azure IoT Hub Device Provisioning Service (DPS) prennent en charge l’authentification Microsoft Entra. Vous pouvez contrôler le type d’authentification utilisé pour exécuter des commandes à l’aide du paramètre --auth-type
, qui accepte des valeurs key
ou login
. La valeur par défaut est key
.
Lorsque
--auth-type
a la valeurkey
, l’interface CLI découvre automatiquement une stratégie appropriée lors de l’interaction avec le Service Azure IoT Hub Device Provisioning (DPS).Lorsque
--auth-type
a la valeurlogin
, un jeton d’accès du principal connecté à Azure CLI est utilisé pour l’opération.Les commandes suivantes prennent actuellement en charge
--auth-type
:az iot dps enrollment
az iot dps enrollment-group
az iot dps registration
Pour plus d’informations, consultez la page de publication de l’extension Azure IoT pour Azure CLI.
SDK et exemples
- Kits SDK Azure IoT pour le service de provisionnement Node.js
- Azure IoT SDK for Java Preview Release
- • Microsoft Azure IoT SDKs for .NET Preview Release
Accès à Microsoft Entra ID à partir du Portail Azure
Remarque
L’accès à l’ID Microsoft Entra à partir du Portail Azure n’est actuellement pas disponible en préversion.
Étapes suivantes
- Si vous souhaitez obtenir plus d’informations sur les avantages de l’utilisation de Microsoft Entra ID dans votre application, consultez Intégration à Microsoft Entra ID.
- Pour obtenir plus d’informations sur les demandes de jetons d’accès à partir de Microsoft Entra ID pour des utilisateurs et principaux de service, voir Scénarios d’authentification pour Microsoft Entra ID.