Seguridad basada en propiedad en Microsoft Dataverse

Dataverse proporciona un modelo de seguridad flexible para muchos escenarios empresariales. El modelo solo se aplica a entornos que tienen una base de datos de Dataverse. Como administrador, administra usuarios, comprueba su configuración de seguridad y soluciona problemas de acceso.

Seguridad basada en roles

Dataverse utiliza roles de seguridad para agrupar privilegios. ... Asigne roles de seguridad directamente a los usuarios o a los equipos de Dataverse. Los miembros del equipo reciben los privilegios asignados al equipo.

Los privilegios de seguridad son acumulativos. Un usuario recibe el acceso más amplio concedido por todos sus roles y pertenencias a equipos. Por ejemplo, si un rol concede acceso de lectura de nivel de organización a todos los registros de contactos, otro rol no puede ocultar un contacto específico del usuario.

Unidades de negocio

Las unidades de negocio funcionan con roles de seguridad para determinar el acceso de un usuario. Definen límites de seguridad que le ayudan a administrar usuarios y datos. Cada base de datos de Dataverse tiene una unidad de negocio raíz.

Cree unidades de negocio secundarias para dividir usuarios y datos en límites de seguridad más pequeños. Cada usuario de un entorno pertenece a una unidad de negocio. La estructura de la unidad de negocio puede coincidir con la jerarquía organizativa, pero no tiene que hacerlo.

En los ejemplos siguientes se usan tres unidades de negocio. Woodgrove es la unidad de negocio raíz y permanece en la parte superior de la jerarquía. Las divisiones A y B son unidades de negocio secundarias. Los usuarios de cada división tienen necesidades de acceso diferentes.

Estructura jerárquica de acceso a datos

Use una estructura jerárquica para separar los usuarios y los datos de una jerarquía similar a un árbol.

Asigne cada usuario a una unidad de negocio y asigne al usuario un rol de seguridad de esa unidad de negocio. De forma predeterminada, la unidad de negocio del usuario posee los registros que crea el usuario. El rol de seguridad determina qué registros puede tener acceso el usuario en esa unidad de negocio.

En este ejemplo, el usuario A pertenece a la división A y tiene el rol de seguridad Y de la división A. El usuario A puede acceder al contacto #1 y al contacto #2. El usuario B pertenece a la División B, por lo que el usuario B no puede acceder a los contactos de la División A, pero puede acceder al contacto n.º 3.

Diagrama de unidades de negocio jerárquicas donde el usuario A accede a los contactos de la división A y el usuario B accede al contacto de la división B #3.

Estructura de acceso a datos de matriz (unidades de negocio modernizadas)

Use una estructura de matriz para organizar los datos en una jerarquía similar a un árbol, al tiempo que permite a los usuarios acceder a datos en varias unidades de negocio, independientemente de la unidad de negocio a la que pertenecen.

Asigne al usuario un rol de seguridad de cada unidad de negocio cuyos datos necesiten tener acceso. Cuando el usuario crea un registro, puede seleccionar la unidad de negocio propietaria.

En este ejemplo, el usuario A puede pertenecer a cualquier unidad de negocio, incluida la unidad de negocio raíz. El rol de seguridad Y de la división A proporciona al usuario un acceso a Contact #1 y Contact #2. El rol de seguridad Y de la división B proporciona al usuario A acceso al contacto n.º 3.

Diagrama que muestra el usuario A que accede a los contactos de la división A y la división B a través del rol Y asignado desde cada unidad de negocio.

Habilitación de la estructura de acceso a datos de matriz

Nota

Antes de habilitar esta característica, publique todas las personalizaciones para que la característica se aplique a las nuevas tablas. Si una tabla no publicada no funciona después de habilitar la característica, use la herramienta OrgDBOrgSettings para Microsoft Dynamics CRM para establecer RecomputeOwnershipAcrossBusinessUnits en true. Esta configuración le permite establecer y actualizar la columna Unidad de negocio propietaria .

  1. Inicie sesión en el Centro de administración de Power Platform como administrador de Dynamics 365 o administrador de Microsoft Power Platform.
  2. En el panel de navegación, seleccione Administrar.
  3. En el panel Administrar , seleccione Entornos y, a continuación, seleccione el entorno.
  4. Seleccione Configuración>Producto>Características.
  5. Activa la propiedad de los registros entre unidades de negocio.
  6. Seleccione Save.

Después de activar la característica, seleccione una unidad de negocio al asignar un rol de seguridad a un usuario. Esta opción le permite asignar roles de diferentes unidades de negocio al usuario. Para ejecutar aplicaciones controladas por modelos, el usuario también necesita un rol de su propia unidad de negocio que incluya los privilegios de configuración de usuario necesarios. El rol Usuario básico muestra qué privilegios de configuración de usuario se van a habilitar.

Puede hacer que un usuario sea el propietario del registro en cualquier unidad de negocio si uno de sus roles de seguridad concede el privilegio de lectura sobre la tabla del registro. El usuario no necesita un rol de seguridad de la unidad de negocio propietaria del registro. Para obtener más información, consulte Propiedad de los registros en unidades de negocio modernizadas.

Nota

La configuración EnableOwnershipAcrossBusinessUnits almacena el estado de esta característica. También puede cambiar la configuración con la herramienta OrgDBOrgSettings para Microsoft Dynamics CRM.

Asociar una unidad de negocio con un grupo de seguridad de Microsoft Entra

Asocie unidades de negocio a grupos de seguridad de Microsoft Entra para simplificar la administración de usuarios y la asignación de roles.

Cree un grupo de seguridad Microsoft Entra para cada unidad de negocio.

Para cada unidad de negocio:

  1. Cree un grupo de seguridad de Microsoft Entra.
  2. Cree un equipo de grupo de Dataverse para el grupo de seguridad.
  3. Asigne el rol de seguridad de la unidad de negocio al equipo del grupo de Dataverse.
  4. Agregue usuarios al grupo de seguridad Microsoft Entra.

Cuando un usuario accede por primera vez al entorno, Dataverse crea el usuario en la unidad de negocio raíz. Los equipos de usuario y grupo de Dataverse pueden permanecer en la unidad de negocio raíz. Sus roles de seguridad asignados conceden acceso a los datos de las unidades de negocio correspondientes.

Para el acceso a datos de matriz, agregue usuarios al grupo de seguridad Microsoft Entra para cada unidad de negocio a la que necesiten acceder.

Unidad de negocio propietaria

Cada registro tiene una columna Unidad de negocio propietaria que identifica la unidad de negocio que posee el registro. Cuando un usuario crea un registro, la columna tiene como valor predeterminado la unidad de negocio del usuario. Puede cambiar el valor solo cuando Propiedad de los registros en distintas unidades de negocio está activado.

Nota

Cambiar la unidad de negocio propietaria puede provocar cambios en cascada. Para obtener más información, consulte Uso del SDK para .NET para configurar el comportamiento en cascada.

Para permitir que un usuario establezca la columna Unidad de negocio propietaria, conceda al rol de seguridad del usuario el privilegio de nivel local Append To para la tabla Unidad de negocio.

Agregue la columna a:

Nota

Si un trabajo de sincronización de datos incluye la unidad de negocio propietaria en su esquema, se produce un error en el trabajo con una infracción de restricción de clave externa cuando el entorno de destino no contiene el mismo valor. Quite la columna del esquema de origen o cambie su valor de origen a una unidad de negocio que exista en el entorno de destino.

Al copiar datos en un recurso externo, como Power BI, incluya la unidad de negocio propietaria solo si el destino admite la columna.

Propiedad de la tabla y del registro

Dataverse admite dos tipos de propiedad de registros:

  • Propiedad de la organización: Un privilegio o bien se aplica a todos los registros o bien no se aplica.
  • Propiedad del usuario o del equipo: La mayoría de los privilegios admite los niveles de acceso de usuario, de unidad de negocio, de unidad de negocio principal-secundaria y de organización.

Seleccione el tipo de propiedad al crear una tabla y no podrá cambiarlo más adelante. Por ejemplo, el acceso de lectura a nivel de usuario a la tabla Contacto permite a los usuarios leer solo los registros de contactos de su propiedad.

Si el usuario A pertenece a la División A y tiene acceso de lectura de nivel de unidad de negocio a la tabla Contact, el usuario A puede leer Contact #1 y Contact #2, pero no Contact #3.

Al configurar un rol de seguridad, seleccione un nivel de acceso para cada privilegio.

Captura de pantalla de la pestaña Core Records del rol de seguridad que muestra los niveles de privilegio de Crear a Compartir, con la tabla Contacto resaltada.

Configure los privilegios de tabla estándar por separado: Crear, Leer, Escribir, Eliminar, Anexar, Anexar a, Asignar y Compartir. El icono de privilegio muestra el nivel de acceso concedido.

Captura de pantalla de la leyenda de privilegios del rol de seguridad con iconos para Ninguno seleccionado, Usuario, Unidad de negocio, Principal: unidades de negocio secundarias y Organización.

En este ejemplo, el acceso de nivel de organización a la tabla Contact permite a un usuario de la división A ver y actualizar contactos propiedad de cualquier persona. Conceda solo el acceso que necesitan los usuarios. Los privilegios amplios pueden debilitar un modelo de seguridad bien diseñado.

Registrar la propiedad en unidades de negocio modernizadas

Con las unidades de negocio modernizadas, los usuarios pueden poseer registros en cualquier unidad de negocio. Un usuario necesita un rol de seguridad de cualquier unidad de negocio que conceda privilegios de lectura para la tabla del registro. El usuario no necesita una función en cada unidad de negocio que contenga un registro de su propiedad.

Si ha habilitado la propiedad de los registros en distintas unidades de negocio en un entorno de producción durante el periodo de vista previa:

  1. Instale el editor de configuración de la organización.
  2. Establezca RecomputeOwnershipAcrossBusinessUnits en true. El sistema se bloquea durante la actualización, lo que puede tardar hasta cinco minutos. Después de la actualización, los usuarios pueden poseer registros entre unidades de negocio sin un rol de seguridad independiente de cada unidad de negocio. Los propietarios de registros también pueden asignar registros a los usuarios fuera de la unidad de negocio propietaria del registro.
  3. Configure AlwaysMoveRecordToOwnerBusinessUnit como false. Los registros permanecen en su unidad de negocio propietaria original cuando cambia el propietario.

Para entornos que no son de producción, establezca AlwaysMoveRecordToOwnerBusinessUnit en false.

Nota

Si desactiva La propiedad de registros entre unidades de negocio o configura RecomputeOwnershipAcrossBusinessUnits como false, no puede establecer ni actualizar la columna Unidad de negocio propietaria. Dataverse también cambia la unidad de negocio propietaria de cada registro afectado para que coincida con la unidad de negocio del propietario del registro.

Equipos (incluyendo equipos de grupo)

Cada equipo pertenece a una unidad de negocio. Dataverse crea automáticamente un equipo predeterminado para cada unidad de negocio y administra su pertenencia. El equipo predeterminado siempre incluye todos los usuarios de la unidad de negocio. No puede agregar ni quitar manualmente sus miembros. Dataverse actualiza la pertenencia al asociar o desasociar a los usuarios con la unidad de negocio.

Dataverse proporciona dos tipos de equipos:

  • Los equipos propietarios pueden poseer registros. Cada miembro del equipo recibe acceso directo a los registros del equipo. Un usuario puede pertenecer a varios equipos propietarios.
  • Los equipos de acceso proporcionan acceso a registros compartidos, pero no poseen registros o tienen roles de seguridad.

Uso compartido de registros

Comparta registros individuales con un usuario o equipo para controlar las excepciones que el modelo de propiedad y unidad de negocio no cubre. Use el uso compartido solo para excepciones porque funciona de forma menos eficaz y puede ser más difícil solucionar problemas que el acceso basado en roles. Compartir con un equipo es más eficaz que compartir por separado con cada usuario.

Use una plantilla de equipo de acceso para crear automáticamente un equipo de acceso y definir sus permisos para un registro. También puede crear equipos de acceso sin una plantilla y administrar sus miembros manualmente. Los equipos de acceso no poseen registros y no pueden tener roles de seguridad. Los miembros del equipo reciben acceso porque el registro se comparte con el equipo.

Seguridad de nivel de registro en Dataverse

El acceso a registros de un usuario combina todos sus roles de seguridad, pertenencia a unidades de negocio, pertenencia a equipos y registros compartidos. El acceso es acumulativo dentro de una base de datos de Dataverse. Dataverse realiza un seguimiento del acceso por separado para cada base de datos y el usuario debe tener una licencia de Dataverse adecuada.

Seguridad de nivel de columna en Dataverse

Use la seguridad de nivel de columna cuando la seguridad de nivel de registro no proporcione suficiente control. Habilite para todas las columnas personalizadas y la mayoría de las columnas del sistema. La mayoría de las columnas del sistema que contienen información de identificación personal (PII) admiten la seguridad de nivel de columna. Los metadatos de una columna del sistema indican si se puede proteger.

Habilite la seguridad de nivel de columna por separado para cada columna. A continuación, cree un perfil de seguridad de columna que conceda acceso de creación, actualización y lectura a columnas protegidas. Asigne el perfil a usuarios o equipos.

La seguridad de nivel de columna no concede acceso a un registro. Un usuario ya debe tener acceso de registro para que un perfil de seguridad de columna pueda conceder acceso a columnas protegidas. Use la seguridad de nivel de columna solo cuando sea necesario, ya que el uso excesivo puede reducir el rendimiento.

Gestionar la seguridad en varios entornos

Use soluciones de Dataverse para mover roles de seguridad y perfiles de seguridad de columna entre entornos. Cree y administre unidades de negocio y equipos por separado en cada entorno. También debe asignar usuarios a los componentes de seguridad adecuados en cada entorno.

Configurar la seguridad de usuarios

Después de crear roles, equipos y unidades de negocio, configure el acceso de cada usuario:

  1. Asocie el usuario a una unidad de negocio. Dataverse usa la unidad de negocio raíz de forma predeterminada y agrega el usuario al equipo predeterminado de esa unidad de negocio.
  2. Asigne los roles de seguridad que necesita el usuario.
  3. Agregue el usuario a los equipos adecuados.
  4. Si usa la seguridad de nivel de columna, asigne un perfil de seguridad de columna al usuario o a uno de sus equipos.

El acceso efectivo de un usuario combina roles de seguridad asignados directamente con roles asignados a través de equipos. Dataverse siempre otorga el permiso más amplio de entre esos roles. Para ver un tutorial detallado, consulte Configuración de la seguridad del entorno.

Coordinar los cambios de seguridad principales con los creadores de aplicaciones y los administradores que administran los permisos de usuario antes de implementar los cambios.

Consultar también