Compartir a través de


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:

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