Partager via


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.

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 valeur key, 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 valeur login, 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

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