Conceptos de seguridad en Microsoft Dataverse

Una de las características clave de Dataverse es su rico modelo de seguridad que puede adaptarse a muchos escenarios de uso de negocio. Este modelo de seguridad solo entra en juego cuando hay una base de datos de Dataverse en el entorno. Como Administrador, es probable que no construya todo el modelo de seguridad usted mismo, pero a menudo participará en el proceso de administración de usuarios y se asegurará de que tengan la configuración adecuada y la solución de problemas relacionados con el acceso de seguridad.

Seguridad basada en roles

Dataverse utiliza la seguridad basada en roles para agrupar una recopilación de privilegios. Estos roles de seguridad se pueden asociar directamente a los usuarios, o se pueden asociar con equipos y unidades de negocio de Dataverse. A continuación, los usuarios se pueden asociar con el equipo y, por lo tanto, todos los usuarios asociados con este se beneficiarán del rol. Un concepto clave de la seguridad de Dataverse es comprender que todas las concesiones de privilegios son acumulativas y prevalece la cantidad mayor de acceso. Si otorgó acceso de lectura a un nivel de organización amplio a todos los registros de contactos, no puede volver atrás y ocultar un solo registro.

Unidades de negocio

Propina

Símbolo de vídeo Mire el siguiente vídeo: Modernizar las unidades de negocio.

Las unidades de negocio trabajan con roles de seguridad para determinar la seguridad efectiva que tiene un usuario. Las unidades de negocio son un elemento esencial del modelado de seguridad que ayudará a administrar a los usuarios y los datos a los que pueden tener acceso. Las unidades de negocio definen un límite de seguridad. Cada base de datos de Dataverse tiene una sola unidad de negocio raíz.

Puede crear unidades de negocio secundarias para ayudar segmentar adicionalmente a usuarios y datos. Cada usuario asignado a un entorno pertenecerá a una unidad de negocio. Pese a que la unidades de negocio se pueden usar para modelar una verdadera jerarquía de organización 1:1, con más frecuencia suelen emplearse solamente para límites de seguridad definidos para ayudar a atender las necesidades que el modelo de seguridad necesita.

Para entenderlo mejor veamos el ejemplo siguiente. Tenemos tres unidades de negocio. Woodgrove es la unidad de negocio raíz y siempre estará en la parte superior, esto es inalterable. Hemos creado otras dos unidades de negocio secundarias A y B. Los usuarios de estas unidades de negocio tienen necesidades de acceso muy diferentes. Cuando asociamos un usuario con este entorno, podemos configurar al usuario en una de estas tres unidades de negocio. Dónde está asociado el usuario determinará qué unidad de negocio es propietaria de los registros que posee el usuario. Al tener esa asociación, nos permite personalizar un rol de seguridad para permitir al usuario ver todos los registros de esa unidad de negocio.

Estructura jerárquica de acceso a datos

Los clientes pueden usar una estructura organizativa en la que los datos y el usuario estén compartimentados en una jerarquía en forma de árbol.

Cuando asociamos a un usuario con este entorno, podemos configurar el usuario para que esté en una de estas tres unidades de negocio y asignar un rol de seguridad de la unidad de negocio al usuario. La unidad de negocio con la que está asociado el usuario determina qué unidad de negocio es propietaria de los registros cuando el usuario crea un registro. Al tener esa asociación, nos permite personalizar un rol de seguridad que permite al usuario ver registros en esa unidad de negocio.

El usuario A está asociado a la División A y se le asigna un rol de seguridad Y de la División A. Esto le permite al usuario A obtener acceso a los registros de Contacto n.º 1 y Contacto n.º 2. Mientras que el usuario B de la División B no puede obtener acceso a los registros de Contacto de la División A, pero puede obtener al registro del Contacto n.º 3.

Ejemplo de estructura de acceso a datos de matriz

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

Los clientes pueden utilizar una estructura organizativa en la que los datos están compartimentados en una jerarquía en forma de árbol, y los usuarios pueden trabajar y obtener acceso a los datos de cualquier unidad de negocio, independientemente de la unidad de negocio a la que esté asignado el usuario.

Cuando asociamos un usuario con este entorno, podemos configurar al usuario en una de estas tres unidades de negocio. Para cada unidad de negocio a la que un usuario tenga que obtener acceso a los datos, se asigna esa unidad de negocio al usuario. Cuando el usuario crea un registro, el usuario puede establecer la unidad de negocio para que sea propietaria del registro.

El usuario A puede asociarse con cualquiera de las unidades de negocio, incluida la unidad de negocio raíz. Un rol de seguridad Y de la División A se asigna al usuario A, lo que le da acceso al usuario a los registros de Contacto n.º 1 y Contacto n.º 2. Un rol de seguridad Y de la División B se asigna al usuario A, lo que le da acceso al usuario al registro de Contacto n.º 3.

Ejemplo de estructura jerárquica de acceso a datos

Habilitar esta estructura de acceso a datos de matriz

Nota

Antes de habilitar esta función, debe publicar todas sus personalizaciones para habilitar todas las tablas nuevas no publicadas para la función. Si detecta que tiene tablas sin publicar que no funcionan con esta función después de haberla activado, puede configurar el parámetro RecomputeOwnershipAcrossBusinessUnits usando la herramienta OrgDBOrgSettings para Microsoft Dynamics CRM. Establecer RecomputeOwnershipAcrossBusinessUnits en true permite configurar y actualizar el campo Unidad de negocio propietaria.

  1. Inicie sesión en el Centro de administración de Power Platform como administrador (administrador de Dynamics 365, administrador global o administrador de Microsoft Power Platform).
  2. Selecciona la pestaña Entornosy, a continuación, elija el entorno para el que desea habilitar esta característica.
  3. Seleccione Configuración>Producto>Características.
  4. Active el conmutador Propiedad de registro endistintas unidades de negocio.

Una vez que este conmutador de característica esté activado, puede seleccionar Unidad de negocio al asignar un rol de seguridad a un usuario. Esto le permite asignar roles de seguridad de diferentes unidades de negocio a un usuario. El usuario también requiere un rol de seguridad de la unidad de negocio a la que está asignado el usuario con privilegios de configuración de usuario para ejecutar aplicaciones basadas en modelos. Puede referirse al rol de seguridad Usuario Básico para averiguar cómo se habilitan estos privilegios de configuración de usuario.

Puede asignar un usuario como propietario del registro en cualquier unidad comercial sin necesidad de asignar un rol de seguridad en la unidad comercial propietaria del registro, siempre que el usuario tenga un rol de seguridad que tenga privilegios de lectura en la tabla de registros. Consulte Registro de propiedad en unidades de negocio modernizadas.

Nota

Este conmutador de característica se almacena en el parámetro EnableOwnershipAcrossBusinessUnits y también se puede configurar con la herramienta OrgDBOrgSettings para Microsoft Dynamics CRM.

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

Puede usar un grupo de seguridad de Microsoft Entra para mapear su unidad de negocios para agilizar la administración de usuarios y la asignación de roles.

Cree un grupo de seguridad de Microsoft Entra para cada unidad de negocio y asigne el rol de seguridad de la unidad de negocio respectiva a cada equipo de grupo.

Para cada unidad de negocio, cree un grupo de seguridad de Microsoft Entra.

Para cada unidad de negocio, cree un grupo de seguridad de Microsoft Entra. Cree un equipo de grupo de Dataverse para cada grupo de seguridad de Microsoft Entra. Asigne el respectivo rol de seguridad de la unidad de negocio a cada equipo de grupo de Dataverse. El usuario del diagrama anterior se creará en la unidad de negocio raíz cuando el usuario acceda al entorno. Está bien que el usuario y los equipos de grupo de Dataverse se encuentren en la unidad de negocio raíz. Solo tienen acceso a los datos de la unidad de negocio donde está asignado el rol de seguridad.

Agregue usuarios al grupo de seguridad de Microsoft Entra repectivopara otorgarles acceso a la unidad de negocio. Los usuarios pueden ejecutar inmediatamente la aplicación y acceder a sus recursos/datos.

En el acceso a datos de matriz, donde los usuarios pueden trabajar y acceder a los datos de varias unidades de negocio, agregue los usuarios a los grupos de seguridad de Microsoft Entra asignados a esas unidades de negocio.

Unidad de negocio propietaria

Cada registro tiene una columna Unidad de negocio propietaria que determina qué unidad de negocio es propietaria del registro. Esta columna tiene como valor predeterminado la unidad de negocio del usuario cuando se crea el registro y no se puede cambiar excepto cuando el conmutador de característica está activado.

Nota

Cuando cambie la unidad de negocio que posee un registro, asegúrese de consultar lo siguiente para ver los efectos en cascada: Usar el SDK para .NET para configurar el comportamiento en cascada.

Puede administrar si desea permitir que su usuario establezca la columna Unidad de negocio propietaria cuando el conmutador de característica esté activado. Para establecer la columna Unidad de negocio propietaria, debe conceder al usuario con el rol de seguridad el permiso Anexar a de la tabla de la unidad de negocio con permiso de nivel local.

Para permitir que su usuario configure esta columna, puede habilitar esta columna en lo siguiente:

  1. Forma: tanto el cuerpo como el encabezado.
  2. Ver.
  3. Asignaciones de columnas. Si está utilizando AutoMapEntity, puede especificar la columna en su asignación de columnas.

Nota

Si tiene un trabajo/proceso para sincronizar datos entre entornos y la Unidad de negocio propietaria se incluye como parte del esquema, su trabajo fallará con una infracción de restricción de Clave externa si el entorno de destino no tiene el mismo valor de Unidad de negocio propietaria.

Puede eliminar la columna Unidad de negocio propietaria del esquema de origen, o actualizar el valor de la columna Unidad de negocio propietaria de la Fuente a cualquiera de las unidades de negocio del destino.

Si tiene un trabajo/proceso para copiar datos de un entorno a un recurso externo, por ejemplo PowerBI, deberá seleccionar o deseleccionar la columna Unidad de negocio propietaria de su origen. Selecciónelo si su recurso puede recibirlo; de lo contrario, anule su selección.

Propiedad de tabla/registro

Dataverse admite dos tipos de propiedad de registros. Propiedad de la organización, del usuario o del equipo. Esta es una elección que se produce en el momento en que se crea la tabla, y no se puede cambiar. Por motivos de seguridad, para los registros que son propiedad de la organización, la única elección de nivel de acceso es que el usuario puede realizar la operación o no. Para los registros de propiedad del usuario y del equipo, las opciones de nivel de acceso para la mayoría de los privilegios son Organización, Unidad de Negocio, Unidad de Negocio y Unidad de Negocio Secundaria, o solo los propios registros del usuario. Esto significa para privilegio de lectura sobre el contacto, podría configurar propiedad del usuario, y el usuario vería únicamente sus propios registros.

Pongamos otro ejemplo: digamos que el usuario A está asociado con la división A, y le damos acceso de lectura en el nivel de unidad de negocio para el contacto. Podrían ver el Contacto #1 y #2 pero no el Contacto #3.

Cuando configura o edita los privilegios rol de seguridad, está configurando el nivel de acceso para cada opción. A continuación se presenta un ejemplo del rol del privilegios de Rol de seguridad .

Privilegios de rol de seguridad.

Arriba puede ver los tipos de privilegios estándar para cada operación Crear, Leer, Escribir, Eliminar, Anexar, Anexar a, Asignar y Compartir de la tabla. Puede editar cada una de ellas individualmente. La visualización de cada uno coincidirá con la clave a continuación en cuanto al nivel de acceso que ha otorgado.

Claves de privilegios de rol de seguridad.

En el ejemplo anterior, hemos dado al nivel de la organización acceso a contacto, lo que significa que el usuario en la división A puede ver y actualizar los contactos que pertenecen a cualquiera. De hecho, uno de los errores administrativos más comunes es frustrarse con los permisos y conceder demasiado acceso. Muy pronto, un modelo de seguridad bien realizado comienza a parecer un queso suizo (lleno de agujeros).

Registro de propiedad en unidades de negocio modernizadas

En Unidades de negocio modernizadas, puede hacer que los usuarios sean propietarios de registros en cualquier unidad de negocio. Todo lo que los usuarios necesitan es un rol de seguridad (cualquier unidad comercial) que tenga privilegios de lectura para la tabla de registros. Los usuarios no necesitan tener asignado un rol de seguridad en cada unidad de negocio donde reside el registro.

Si Registrar la propiedad en todas las unidades de negocio se habilitó en su entorno de producción durante el período de versión preliminar, debe realizar lo siguiente para habilitar la propiedad de este registro en todas las unidades comerciales:

  1. Instale el Editor de configuración de organización
  2. Establezca la configuración RecomputeOwnershipAcrossBusinessUnits en verdadero. Cuando esta configuración se establece en true, el sistema se bloquea y puede demorar hasta 5 minutos en realizar el nuevo cálculo para habilitar la capacidad en la que los usuarios ahora pueden poseer registros en todas las unidades comerciales sin la necesidad de tener asignado rol de seguridad separado de cada unidad comercial. Esto permite que el propietario de un registro asigne su registro a alguien fuera de la unidad de negocio propietaria del registro.
  3. Establezca AlwaysMoveRecordToOwnerBusinessUnit a falso. Esto hace que el registro permanezca en la unidad comercial propietaria original cuando se cambia la propiedad del registro.

Para todos los entornos que no son de producción, solo necesita configurar AlwaysMoveRecordToOwnerBusinessUnit a falso para usar esta capacidad.

Nota

Si desactiva la función Propiedad de registro en distintas unidades de negocio o establece el ajuste RecomputeOwnershipAcrossBusinessUnits en false utilizando la herramienta OrgDBOrgSettings para Microsoft Dynamics CRM, no podrá configurar o actualizar el campo Unidad de negocio propietaria y todos los registros en los que el campo Unidad de negocio propietaria sea diferente de la unidad de negocio del propietario se actualizará a la unidad de negocio del propietario.

Equipos (incluyendo equipos de grupo)

Los equipos son otro bloque de creación de la seguridad. Los equipos pertenecen a una unidad de negocio. Cada unidad de negocio tiene un equipo predeterminado, que se crea automáticamente cuando se crea la unidad de negocio. Los miembros del equipo predeterminados los administra Dataverse y siempre contienen todos los usuarios asociados con esa unidad de negocio. No puede agregar o quitar manualmente integrantes del equipo predeterminado, son ajustados dinámicamente por el sistema mientras los nuevos usuarios se asocian/desasocian con unidades de negocio. Existen dos tipos de equipos, equipos propietarios y equipos de acceso.

  • Los equipos propietarios pueden poseer registros, lo que le da a cualquier miembro del equipo acceso directo a ese registro. Los usuarios pueden ser miembros de varios equipos. Esta es una forma eficaz de conceder permisos a los usuarios de forma amplia sin microadministrar el acceso en el nivel de usuarios individuales.
  • Los equipos de acceso se tratan en la siguiente sección como parte del intercambio de registros.

Uso compartido de registros

Los registros individuales se pueden compartir uno por uno con otro usuario. Ésta es una forma eficaz de administrar excepciones que no corresponden a la propiedad del registro o miembro de un modelo de acceso de unidad de negocio. Sin embargo, debería constituir una excepción, ya que se trata de una forma menos eficiente de controlar el acceso. El uso compartido es más complicado de abordar porque no es un control de acceso implementado de manera uniforme. El uso compartido se puede realizar en el nivel de usuario y del equipo. El uso compartido con equipos constituye un método más eficaz de intercambio. Un concepto más avanzada de uso compartido es con equipos de acceso, que permite la creación automáticamente de un equipo y el uso compartido de acceso a registros con el equipo basándose en una plantilla de equipo de acceso (plantilla de permisos) que se aplica. Los equipos de acceso también se pueden usar sin las plantillas, con solo agregar o quitar manualmente sus miembros. Los equipos de acceso tienen más rendimiento porque no permiten la propiedad de registros por el equipo o tener roles de seguridad asignados al equipo. Los usuarios obtienen acceso porque el registro se comparte con el equipo y el usuario es miembro.

Seguridad de nivel de registro en Dataverse

Puede que se pregunte: ¿qué determina el acceso a un registro? Esto parece una pregunta simple pero para cualquier usuario determinado es la combinación de todos sus roles de seguridad, la unidad de negocio a la que está asociado, los equipos de los son miembros y los registros que se comparten con ellos. La clave es recordar que todo el acceso es acumulativo en todos esos conceptos en el ámbito de un entorno de base de datos de Dataverse. Estos derechos solo se otorgan dentro de una única base de datos y se realiza un seguimiento individual en cada base de datos de Dataverse. Todo esto, por supuesto, requiere que tengan una licencia adecuada para acceder a Dataverse.

Seguridad de nivel de columna en Dataverse

A veces el control de acceso a nivel de registro no es adecuado para algunos escenarios empresariales. Dataverse tiene una función de seguridad en el nivel de columna para permitir un control más detallado de la seguridad en ese nivel. La seguridad de nivel de columna se pueden habilitar en todas las columnas personalizadas y la mayoría de columnas del sistema. La mayoría de las columnas del sistema que incluyen información personal identificable (PII) se pueden proteger individualmente. Los metadatos de cada columna definen si esa es una opción disponible para la columna del sistema.

La seguridad de nivel de columna se habilita para cada columna. El acceso a continuación es administrado creando un perfil de seguridad de columna. El perfil contiene todas las columnas que tienen seguridad de nivel de columna habilitada y el acceso concedido por dicho perfil concreto. Cada columna se puede controlar en el perfil para acceso de creación, actualización y lectura. Los perfiles de seguridad de columna se asocian a continuación a un usuario o a equipos para conceder esos privilegios a los usuarios a los registros a los que ya tienen acceso. Es importante tener en cuenta que la seguridad a nivel de columna no tiene nada que ver con la seguridad a nivel de registro. Un usuario ya debe tener acceso al registro del perfil de seguridad de columna para otorgarle acceso a las columnas. La seguridad de nivel de columna se debe usar según sea necesario y no excesivamente, ya que puede agregar sobrecarga que es perjudicial si usa en exceso.

Administrar seguridad a través de varios entornos

Los roles de seguridad y perfiles de seguridad de columna se pueden empaquetar y mover de un entorno al siguiente con soluciones de Dataverse. Las unidades de negocio y los equipos se deben crear y administrar en cada entorno junto con la asignación de usuarios a los componentes de seguridad necesarios.

Configurar seguridad del entorno de usuarios

Una vez que una organización ha definido las unidades de negocio, los equipos y los roles en un entorno, es el momento de asignar a los usuarios sus configuraciones de seguridad. Primero, cuando crea un usuario, lo asociará con una unidad de negocio. De forma predeterminada, ésta es la unidad de negocio raíz de la organización. También se agregan al equipo predeterminado de esa unidad de negocios.

Además, asignaría cualquier rol de seguridad que necesite el usuario. También los agregaría como integrantes de cualquier equipo. Recuerde que los equipos también pueden tener roles de seguridad, por lo que los derechos efectivos del usuario son la combinación de los roles de seguridad directamente asignados a él y los roles de los equipos a los que pertenezca. La seguridad siempre es aditiva, pues ofrece el permiso menos restrictivo de cualquier derecho. A continuación se presenta un tutorial de configurar la seguridad del entorno.

Si ha utilizado seguridad a nivel de columna, deberá asociar al usuario o un equipo del usuario a uno de los Perfiles de valores de columna que creó.

La seguridad es un artículo complejo y se logra mejor como un esfuerzo conjunto entre los creadores de la aplicación y el equipo que administra los permisos de los usuarios. Cualquier cambio importante debe ser coordinado bastante antes de la implementación de cambios en el entorno.

Consultar también

Configurar la seguridad del ambiente
Roles de seguridad y privilegios