Administrar el almacenamiento de PrincipalObjectAccess

Usuarios en un entorno con la base de datos de Microsoft Dataverse pueden colaborar con otros usuarios otorgando acceso a un registro propiedad del usuario. El usuario puede compartir un registro con otro usuario o equipo, o reasignar un registro a otro usuario o equipo.

Para administrar esta colaboración a nivel de registro y proporcionar acceso de usuario a los registros compartidos, todos los registros compartidos y sus permisos se almacenan en la tabla PrincipalObjectAccess (POA). Cada vez que los usuarios intentan acceder a un registro que no les pertenece o no tienen el privilegio apropiado en su rol de seguridad, el sistema verifica la tabla de POA para autorizar el acceso del usuario.

Fuentes de POA

Los siguientes temas describen la configuración o el uso que crean registros POA, ya que permiten compartir registros. La configuración debe revisarse y actualizarse en consecuencia para evitar compartir excesivamente y aumentar el almacenamiento de POA.

Compartir registros reasignados con el propietario original

Por defecto, la opción Establecer si los registros reasignados se comparten con el propietario original es No. Aquí es donde el propietario original del registro ya no tiene acceso al registro cuando la propiedad del registro se reasigna a otro usuario. Cuando esta configuración está configurada en , luego se crea un registro en la tabla POA cada vez que un usuario asigna un registro a otro usuario o equipo. El propietario original se agrega automáticamente como Compartir con.

Administrar el almacenamiento de PrincipalObjectAccess.

Equipos de acceso

Cuando se utiliza un equipo de acceso para la colaboración de registros, los registros se crean en la tabla POA cada vez que se agrega un usuario al equipo de acceso. Existen dos tipos de equipos de acceso:

  • Administrado por el sistema: estos se crean a través de plantillas y se incrustan en un formulario para permitir que el usuario administre fácilmente la lista de miembros. El sistema crea automáticamente un equipo de acceso para un registro que se comparte. Por ejemplo, la cuenta n.º 1 tiene un equipo de acceso diferente al de la cuenta n.º 2.

  • Agregado manualmente: estos son equipos de acceso individual donde un administrador/propietario del equipo administra la lista de miembros del equipo.

Uso compartido directo

  • Cuando un usuario comparte explícitamente un registro con otro usuario, se crea un registro en la tabla POA.

Uso compartido indirecto

  • Cuando un usuario comparte un registro con un equipo, todos los miembros del equipo se comparten indirectamente.

  • El uso compartido indirecto también ocurre con un registro que tiene una relación de uso compartido en cascada o en una tabla con una relación padre/hijo. Cuando un registro principal se comparte con un usuario o equipo, el usuario o equipo compartido tiene acceso a todos los registros secundarios o en cascada. Todos estos permisos para acceder a los registros secundarios se crean en la tabla POA.

    Ejemplo de tabla de relación

    Se puede configurar una tabla para que tenga Relaciones con otras tablas (por ejemplo, Cuenta a caso). Por defecto, la relación de las opciones Cambiar primario está configurada para Cascada todo. Todos los subregistros relacionados se comparten con el propietario del registro principal.

    Por ejemplo: el usuario n.° 1 posee la cuenta n.° 1. El usuario n.º 1 comparte la cuenta n.º 1 con el usuario n.º 2. El usuario n.° 2 crea un caso n.° 1 debajo de la cuenta n.° 1. Con las opciones de cambiar primario listas para usar, el usuario n.° 1 tiene acceso al caso n.° 1. Todos estos permisos de usuario se capturan en la tabla POA.

Compartiendo origen

La API RetrieveAccessOrigin se puede usar para determinar de dónde proviene el acceso de un usuario o equipo a una tabla específica. La API requiere un objectId, logicalName y principalId en la solicitud, y la respuesta es una cadena que describe dónde se obtuvo el acceso a la tabla.

Gestión del crecimiento de la tabla POA

  • Evalúe las necesidades de su negocio y active Establecer si los registros reasignados se comparten con el propietario original donde sea necesario Tenga en cuenta que esta es una configuración para todo el sistema. Una vez que está activada, la configuración se aplica a todos los registros.
  • Comparta con usuarios para colaboración donde la lista de usuarios no es la misma en los diferentes registros que compartió.
  • Utilice el equipo como propietario del registro si comparte registros con frecuencia con la misma lista de usuarios o si comparte el registro con el equipo.
  • Si tiene una estructura de unidad de negocio compleja y un uso frecuente de compartir:
    • Comparta solo donde sea necesario.
    • Minimizar el número de unidades de negocio.
    • Asegúrese de que los usuarios estén ubicados en la unidad comercial adecuada.
    • Comparta con el equipo para permitir que los usuarios de diferentes unidades de negocio accedan a los registros.
  • Cuando varios equipos de acceso pueden acceder a un registro, por ejemplo, un equipo de representantes de ventas que solo puede leer el registro y otro equipo de gerentes de ventas que tiene acceso completo de lectura y escritura, considere usar diferentes formularios basados en roles para representantes de ventas y gerente.
  • Administre el ciclo de vida de los miembros de su equipo de acceso. Quite a los usuarios que ya no sean necesarios para la colaboración.
  • Elimine todos los miembros del equipo de acceso cuando finalice la colaboración.

Eliminar registros POA

El sistema administra la tabla POA para garantizar el acceso adecuado de los usuarios o equipos a los registros respectivos. No se admite la eliminación directa en esta tabla, ya que puede romper el modelo de seguridad definido para la organización. La forma correcta de limpiar la tabla de POA es ajustando el modelo de seguridad y revocando el acceso que se otorgó anteriormente.

Guías de solución de problemas

Cuando la configuración en cascada de una relación de tabla se cambia de Cambiar primario o Compartir a Sin cascada, utilice este artículo para limpiar el acceso heredado. Esto elimina registros de POA innecesarios. Más información: Cómo limpiar el acceso heredado.

La limpieza de derechos de acceso heredados es un trabajo del sistema que limpia los derechos de acceso heredados heredados que quedan después de que se cambia el comportamiento en cascada a Cascada ninguno. Más información: Limpieza de derechos de acceso heredados

Para saber si se otorgó acceso al usuario debido a POA, consulte Determinar por qué un usuario tiene acceso.

Consulte también

Capacidad de almacenamiento de Dataverse