Control de acceso basado en rol en Azure Digital Twins
Importante
Se ha publicado una nueva versión del servicio Azure Digital Twins. A la luz de las funcionalidades ampliadas del nuevo servicio, se ha retirado el servicio Azure Digital Twins original (descrito en este conjunto de documentación).
Para ver la documentación del nuevo servicio, visite la documentación activa de Azure Digital Twins.
Azure Digital Twins permite el control de acceso preciso sobre datos, recursos y acciones específicos en un grafo espacial. Para ello, se usa la administración pormenorizada de roles y permisos que se conoce como control de acceso basado en rol (RBAC). RBAC consta de roles y asignaciones de roles. Los roles identifican el nivel de permiso. Las asignaciones de roles asocian un rol a un usuario o dispositivo.
Con RBAC, se puede conceder permiso a:
- Usuario.
- Un dispositivo
- Una entidad de servicio
- Una función definida por el usuario
- Todos los usuarios que pertenezcan a un dominio
- Un inquilino
También puede ajustarse el grado de acceso.
El control de acceso basado en rol es único en el sentido de que los permisos se heredan hacia abajo del grafo espacial.
¿Qué puedo hacer con RBAC?
Un programador puede usar RBAC para:
- Conceder a un usuario la capacidad de administrar los dispositivos de todo un edificio, o de una sala o planta determinadas.
- Conceder a un administrador acceso global a todos los nodos del grafo espacial para un grafo completo o solo para una sección del grafo.
- Conceder a especialista en soporte técnico acceso de lectura al grafo, excepto a las claves de acceso.
- Conceder a todos los miembros de un dominio acceso de lectura a todos los objetos del grafo.
Procedimientos recomendados de RBAC
El control de acceso basado en rol es una estrategia de seguridad basada en la herencia para la administración de accesos, permisos y roles. Los roles descendientes heredan permisos de los roles primarios. También se pueden asignar permisos sin que se hereden de un rol primario. Además, se pueden asignar para personalizar un rol según sea necesario.
Por ejemplo, un Administrador del espacio podría necesitar acceso global para ejecutar todas las operaciones para un espacio especificado. El acceso incluye todos los nodos bajo o dentro del espacio. Un Instalador de dispositivos puede necesitar solamente permisos de lectura y actualización para los dispositivos y sensores.
En todos los casos, se concede a los roles el acceso exacto y no más del necesario para completar sus tareas, siguiendo el principio de privilegio mínimo. Según este principio, se concede a una identidad solo:
- La cantidad de acceso necesario para completar su trabajo.
- Un rol adecuado y limitado para llevar a cabo su trabajo.
Importante
Siga siempre el principio de privilegio mínimo.
Otros dos procedimientos importantes del control de acceso basado en rol que deben seguirse:
- Audite periódicamente las asignaciones de roles para comprobar que cada rol tiene los permisos correctos.
- Limpie los roles y las asignaciones cuando las personas cambien de rol o de asignación.
Roles
Definiciones de roles
Una definición de rol es una colección de permisos y otros atributos que constituyen un rol. Una definición de roles enumera las operaciones permitidas, como CREAR, LEER, ACTUALIZAR y ELIMINAR que cualquier objeto con ese rol puede realizar. También especifica a qué tipos de objeto se aplican estos permisos.
En la tabla siguiente se describen los roles que están disponibles en Azure Digital Twins:
Rol | Descripción | Identificador |
---|---|---|
Administrador del espacio | Permiso CREAR, LEER, ACTUALIZAR y ELIMINAR para el espacio especificado y todos los nodos inferiores. Permiso global. | 98e44ad7-28d4-4007-853b-b9968ad132d1 |
Administrador de usuarios | Permiso CREAR, LEER, ACTUALIZAR y ELIMINAR para usuarios y objetos relacionados con usuarios. Permiso READ para espacios. | dfaac54c-f583-4dd2-b45d-8d4bbc0aa1ac |
Administrador de dispositivos | Permiso CREAR, LEER, ACTUALIZAR y ELIMINAR para dispositivos y objetos relacionados con dispositivos. Permiso READ para espacios. | 3cdfde07-bc16-40d9-bed3-66d49a8f52ae |
Administrador de claves | Permiso CREATE, READ, UPDATE y DELETE para las claves de acceso. Permiso READ para espacios. | 5a0b1afc-e118-4068-969f-b50efb8e5da6 |
Administrador de tokens | Permiso LEER y ACTUALIZAR para las claves de acceso. Permiso READ para espacios. | 38a3bb21-5424-43b4-b0bf-78ee228840c3 |
Usuario | Permiso LEER para espacios, sensores y usuarios, incluidos sus correspondientes objetos relacionados. | b1ffdb77-c635-4e7e-ad25-948237d85b30 |
Especialista de soporte técnico | Permiso LEER para todo, excepto las claves de acceso. | 6e46958b-dc62-4e7c-990c-c3da2e030969 |
Instalador de dispositivos | Permiso LEER y ACTUALIZAR para dispositivos y sensores, incluidos sus correspondientes objetos relacionados. Permiso READ para espacios. | b16dd9fe-4efe-467b-8c8c-720e2ff8817c |
Dispositivo de puerta de enlace | Permiso CREAR para sensores. Permiso READ para dispositivos y sensores, que incluye sus objetos relacionados correspondientes. | d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8 |
Nota
Para recuperar las definiciones completas de los roles anteriores, consulte la API de sistema o roles. Para obtener más información, lea Creación y administración de asignaciones de roles.
Tipo de identificador de objeto
objectIdType
(o tipo de identificador de objeto) hace referencia al tipo de identidad que se asigna a un rol. Además de los tipos DeviceId
y UserDefinedFunctionId
, los tipos de identificador de objeto se corresponden con las propiedades de los objetos de Azure Active Directory.
En la tabla siguiente se incluyen los tipos de identificador de objeto admitidos en Azure Digital Twins:
Tipo | Descripción |
---|---|
UserId | Asigna un rol a un usuario. |
deviceId | Asigna un rol a un dispositivo. |
DomainName | Asigna un rol a un nombre de dominio. Cada usuario con el nombre de dominio especificado tiene los derechos de acceso del rol correspondiente. |
TenantId | Asigna un rol a un inquilino. Cada usuario al que pertenezca el identificador de inquilino de Azure AD especificado tiene los derechos de acceso del rol correspondiente. |
ServicePrincipalId | Asigna un rol a un identificador de objeto de entidad de servicio. |
UserDefinedFunctionId | Asigna un rol a una función definida por el usuario (UDF). |
Sugerencia
Descubra cómo conceder permisos a la entidad de servicio leyendo Creación y administración de asignaciones de roles.
Estos artículos de documentación de referencia describen lo siguiente:
- Cómo consultar el identificador de objeto para un usuario.
- Cómo obtener el identificador de objeto para una entidad de servicio.
- C7 recuperar el identificador de objeto de un inquilino de Azure AD.
Asignaciones de roles
Una asignación de roles de Azure Digital Twins asocia un objeto, como un usuario o un inquilino de Azure AD, a un rol y un espacio. Los permisos se conceden a todos los objetos que pertenecen a dicho espacio. El espacio incluye todo el grafo espacial que hay debajo.
Por ejemplo, un usuario recibe una asignación de roles con el rol DeviceInstaller
para el nodo raíz de un grafo espacial, que representa un edificio. Así que el usuario puede leer y actualizar los dispositivos de ese nodo y todos los demás espacios secundarios del edificio.
Para conceder permisos a un destinatario, cree una asignación de roles. Para revocar permisos, quite la asignación de roles.
Importante
Para obtener más información sobre las asignaciones de roles, lea Creación y administración de asignaciones de roles.
Pasos siguientes
Para obtener más información sobre la creación y administración de asignaciones de roles de Azure Digital Twins, lea Creación y administración de asignaciones de roles.
Obtenga más información sobre RBAC para Azure.