Contrôle d’accès en fonction du rôle dans Azure Digital Twins
Important
Une nouvelle version du service Azure Digital Twins a été publiée. En fonction des fonctionnalités étendues du nouveau service, le service Azure Digital Twins d’origine (décrit dans ce jeu de documentation) a été supprimé.
Pour afficher la documentation du nouveau service, consultez la documentation Azure Digital Twins active.
Azure Digital Twins permet un contrôle d’accès précis sur des données, ressources et actions spécifiques de votre graphe spatial. En effet, il utilise une gestion granulaire des rôles et des autorisations appelée contrôle d’accès en fonction du rôle. RBAC se compose de rôles et d’attributions de rôles. Les rôles identifient le niveau d’autorisations. Les attributions de rôles associent un rôle à un utilisateur ou un appareil.
À l’aide de RBAC, l’autorisation peut être accordée à :
- Un utilisateur.
- Un appareil.
- Un principal du service.
- Une fonction définie par l’utilisateur.
- Tous les utilisateurs qui appartiennent à un domaine.
- Un locataire.
Le degré d’accès peut également être ajusté.
RBAC est unique, car les autorisations sont héritées vers le bas du graphe spatial.
À quoi me sert RBAC ?
Un développeur peut utiliser RBAC pour effectuer les opérations suivantes :
- Accorder à un utilisateur la possibilité de gérer les appareils pour un bâtiment entier ou uniquement pour une pièce ou un étage spécifique.
- Octroyer à un administrateur l’accès global à tous les nœuds d’un graphe spatial ou uniquement à une section du graphe.
- Accorder à un spécialiste du support un accès en lecture au graphe, à l’exception des clés d’accès.
- Accorder à chaque membre d’un domaine un accès en lecture à tous les objets du graphe.
Meilleures pratiques relatives à RBAC
Le contrôle d’accès en fonction du rôle est une stratégie de sécurité basée sur l’héritage permettant de gérer les accès, les autorisations et les rôles. Les rôles descendants héritent des autorisations des rôles parents. Les autorisations peuvent également être attribuées sans être héritées d’un rôle parent. Elle peuvent aussi être attribuées pour personnaliser un rôle, si besoin.
Par exemple, l’administrateur de l’espace peut avoir besoin d’un accès global pour exécuter toutes les opérations de cet espace. L’accès comprend tous les nœuds en dessous de l’espace ou dans l’espace. Le programme d’installation de l’appareil peut nécessiter uniquement les autorisations lire et mettre à jour pour les appareils et les capteurs.
Dans tous les cas, les rôles doivent être octroyés avec précision et sans aller au-delà de l’accès nécessaire pour remplir leurs tâches, selon le principe des privilèges minimum. Conformément à ce principe, l’identité est accordée uniquement :
- L’accès nécessaire pour effectuer son travail.
- Un rôle approprié et limité à son travail.
Important
Suivez toujours le principe des privilèges minimum.
Deux autres pratiques importantes à suivre avec le contrôle d’accès en fonction du rôle :
- Auditez régulièrement les attributions de rôles pour vérifier que chaque rôle dispose des autorisations appropriées.
- Les attributions et les rôles doivent être modifiés lorsque les utilisateurs en changent.
Rôles
Définitions de rôles
Une définition de rôle est une collection d’autorisations et d’autres attributs qui constituent un rôle. Une définition de rôle répertorie les opérations autorisées, notamment CRÉER, LIRE, METTRE À JOUR, et SUPPRIMER que tous les objets avec ce rôle peuvent effectuer. Elle spécifie également les types d’objets auxquels les autorisations s’appliquent.
Le tableau suivant décrit les rôles qui sont disponibles dans Azure Digital Twins :
Rôle | Description | Identificateur |
---|---|---|
Administrateur de l’espace | Autorisation CRÉER, LIRE, METTRE À JOUR et SUPPRIMER pour l’espace spécifié et tous les nœuds en dessous. Autorisation globale. | 98e44ad7-28d4-4007-853b-b9968ad132d1 |
Administrateur d'utilisateurs | Autorisation CRÉER, LIRE, METTRE À JOUR et SUPPRIMER pour les utilisateurs et leurs objets connexes. Autorisation LIRE pour les espaces. | dfaac54c-f583-4dd2-b45d-8d4bbc0aa1ac |
Administrateur de l’appareil | Autorisations CRÉER, LIRE, METTRE À JOUR et SUPPRIMER pour les appareils et leurs objets connexes. Autorisation LIRE pour les espaces. | 3cdfde07-bc16-40d9-bed3-66d49a8f52ae |
Administrateur des clés | Autorisation CREATE, READ, UPDATE et DELETE pour les clés d’accès. Autorisation LIRE pour les espaces. | 5a0b1afc-e118-4068-969f-b50efb8e5da6 |
Administrateur des jetons | Autorisation LIRE et METTRE À JOUR pour les clés d’accès. Autorisation LIRE pour les espaces. | 38a3bb21-5424-43b4-b0bf-78ee228840c3 |
Utilisateur | Autorisation LIRE pour les espaces, les capteurs et les utilisateurs, incluant leurs objets connexes. | b1ffdb77-c635-4e7e-ad25-948237d85b30 |
Spécialiste du support | Autorisation LIRE pour tout sauf pour les clés d’accès. | 6e46958b-dc62-4e7c-990c-c3da2e030969 |
Installateur des appareils | Autorisation LIRE et METTRE À JOUR pour les appareils et les capteurs, incluant leurs objets connexes. Autorisation LIRE pour les espaces. | b16dd9fe-4efe-467b-8c8c-720e2ff8817c |
Appareil de passerelle | Autorisation CRÉER pour les capteurs. Autorisation READ pour les appareils et les capteurs, qui inclut leurs objets associés correspondants. | d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8 |
Notes
Pour récupérer les définitions complètes des rôles précédents, interrogez l’API système/rôles. Pour en savoir plus, consultez la section Créer et gérer des attributions de rôle.
Types d’identificateur d’objet
Le objectIdType
(ou le type d’identificateur d’objet) fait référence au type d’identité auquel un rôle est attribué. En dehors des types DeviceId
et UserDefinedFunctionId
, les types d’identificateur d’objet correspondent à des propriétés d’objets Azure Active Directory.
Le tableau suivant contient les types d’identificateurs d’objet pris en charge dans Azure Digital Twins :
Type | Description |
---|---|
UserId | Attribue un rôle à un utilisateur. |
deviceId | Attribue un rôle à un appareil. |
DomainName | Attribue un rôle à un nom de domaine. Chaque utilisateur avec le nom de domaine spécifié a les droits d’accès du rôle correspondant. |
TenantId | Attribue un rôle à un locataire. Chaque utilisateur qui appartient à l’ID de locataire Azure AD spécifié a les droits d’accès du rôle correspondant. |
ServicePrincipalId | Attribue un rôle à un ID d’objet de principal de service. |
UserDefinedFunctionId | Attribue un rôle à une fonction définie par l’utilisateur. |
Conseil
Découvrez comment accorder des autorisations au principal de service en consultant Créer et gérer des attributions de rôle.
Les articles de documentation de référence suivants décrivent :
- Comment rechercher l’ID d’objet d’un utilisateur.
- Comment obtenir l’ID d’objet d’un principal de service.
- Comment récupérer l’ID d’objet d’un locataire Azure AD.
Attributions de rôles
Une attribution de rôle Azure Digital Twins associe un objet, tels qu’un utilisateur ou un locataire Azure AD, à un rôle et un espace. Les autorisations sont accordées à tous les objets qui appartiennent à cet espace. L’espace inclut la totalité du graphe spatial en dessous.
Par exemple, un utilisateur reçoit une attribution de rôle avec le rôle DeviceInstaller
pour le nœud racine d’un graphe spatial, qui représente un bâtiment. L’utilisateur peut alors lire et mettre à jour les appareils pour ce nœud et tous les autres espaces enfants dans le bâtiment.
Pour accorder des autorisations à un destinataire, créez une attribution de rôle. Pour révoquer les autorisations, supprimez l’attribution de rôle.
Important
Pour en savoir plus sur les attributions de rôles, consultez Créer et gérer des attributions de rôles.
Étapes suivantes
Pour en savoir plus sur la création et la gestion des attributions de rôle Azure Digital Twins, consultez Créer et gérer des attributions de rôle.
En savoir plus sur les RBAC pour Azure .