Entender conceptos de seguridad en Dataverse

Completado

Una de las características clave de Dataverse es su rico modelo de seguridad, que se puede adaptar a múltiples escenarios de uso empresarial. Este modelo de seguridad solo entra en juego cuando hay una base de datos de Dataverse en el entorno. En calidad de administrador, seguramente no va a crear la totalidad del modelo de seguridad por sí solo, pero, normalmente, participará en el proceso de administración de usuarios y se asegurará de que tengan la configuración adecuada, además de solucionar los problemas relacionados con el acceso de seguridad.

Seguridad basada en roles

Dataverse utiliza la seguridad basada en roles para agrupar una colección de privilegios. Estos roles de seguridad pueden asociarse directamente a usuarios o bien a 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 que se debe conocer es que los privilegios son acumulables y prevalece el acceso con más cantidad de ellos. Por ejemplo, si un usuario tiene dos roles de seguridad, uno con privilegios de eliminación pero sin privilegios de escritura, y el otro con privilegios de escritura pero sin privilegios de eliminación, el usuario podrá eliminar y escribir en el entorno. De igual forma, si otorgó un acceso de lectura generalizado en el nivel de organización a todos los registros de contactos, no podrá retroceder y ocultar un único registro.

Unidades de negocio

Las unidades de negocio proporcionan seguridad y una estructura para agrupar usuarios y, con frecuencia, se usan para imitar la estructura departamental de una organización. Cada usuario asignado a un entorno de Dataverse pertenecerá a una unidad de negocio. Cada base de datos de Dataverse tiene una única unidad de negocio raíz y se pueden crear varias unidades de negocio secundarias según sea necesario. Las unidades de negocio secundarias se pueden eliminar, pero la unidad de negocio raíz no. Asimismo, las unidades de negocio secundarias puede tener, a su vez, otras unidades de negocio secundarias.

  • Una unidad de negocio primaria es cualquier unidad de negocio con una o más unidades de negocio subordinadas en la jerarquía.

  • Una unidad de negocio secundaria es una unidad de negocio que está inmediatamente subordinada a otra unidad de negocio en la jerarquía empresarial de una organización.

Las unidades de negocio se pueden organizar con arreglo a una estructura organizativa tradicional para acceder a datos jerárquicos o bien, se pueden organizar unidades de negocio con los datos en compartimentos en una jerarquía tipo árbol y el usuario podrá trabajar y acceder a los datos de cualquier unidad de negocio independientemente de cuál sea la unidad de negocio a la que esté asignado. Para obtener más información sobre cómo establecer una estructura de datos como esta, consulte Estructura de acceso a datos en forma de matriz (unidades de negocio modernizadas).

Nota

Los roles de seguridad de los usuarios se asignan dentro de sus unidades de negocio. Si un usuario se traslada a una unidad de negocio diferente, sus roles de seguridad deben reasignarse. Cada usuario es miembro de una única unidad de negocio, pero un equipo puede tener usuarios miembros de varias unidades de negocio. La implementación de la seguridad en el nivel de las columnas se describirá posteriormente en este módulo.

Propiedad de la tabla o registro

Dataverse admite dos tipos de propiedad de registros: propiedad de la organización y propiedad del usuario o del equipo. La propiedad de registros es una elección que se toma 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 pueda realizar la operación o no. En los registros propiedad del usuario o del equipo, las opciones de nivel de acceso para la mayoría de privilegios son las siguientes:

  • Organización escalonada

  • Unidad de negocio

  • Unidad de negocio y unidad de negocio secundaria

  • o solo los propios registros del usuario.

Propiedad de registros en unidades de negocio modernizadas

En las unidades de negocio modernizadas, puede hacer que los usuarios sean propietarios de registros en cualquiera de las unidades de negocio. Todo lo que los usuarios necesitan es un rol de seguridad (cualquier unidad de negocio) que tenga privilegios de lectura en la tabla de registros. No es necesario que los usuarios tengan un rol de seguridad asignado en cada unidad de negocio donde se encuentre el registro. El uso de esta funcionalidad requiere realizar algunos ajustes en la configuración de la organización. Puede obtener más información sobre cómo establecer la configuración en Propiedad de registros en unidades de negocio modernizadas.

Equipos (incluidos los equipos de grupo)

Los equipos son otro componente importante 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 ni eliminar miembros manualmente en el equipo predeterminado, ya que el sistema los ajusta dinámicamente a medida que usuarios nuevos se vinculan o desvinculan a las unidades de negocio. Hay dos tipos de equipos, los equipos propietarios y los equipos de acceso.

  • Los equipos propietarios pueden poseer registros; esto hace que todos los miembros del equipo tengan acceso directo a ellos. Los usuarios pueden ser miembros de varios equipos. Esto representa una manera eficaz de conceder permisos a los usuarios de forma generalizada sin administrar pormenorizadamente el acceso de usuarios individuales.

  • Los equipos de acceso se analizan en la siguiente sección dentro del uso compartido de registros.

Uso compartido de registros

Los registros individuales se pueden compartir uno por uno con otro usuario. Se trata de un método eficaz para gestionar las excepciones que no se incluyen en la propiedad del registro ni en el modelo de acceso a una 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 establecer tanto en el nivel de usuario como de equipo. El uso compartido con equipos constituye un método más eficaz de intercambio. Un concepto más avanzado de uso compartido son los equipos de acceso, que ofrece las funcionalidades de creación automática de equipos y el uso compartido del acceso a los registros con el equipo en función de una plantilla de equipo de acceso (plantilla de permisos) que se aplique. Los equipos de acceso también se pueden usar sin las plantillas, con la adición/eliminación manual de sus miembros. Los equipos de acceso son más eficaces porque no permiten que el equipo posea registros o que se le asignen roles de seguridad. Los usuarios obtienen acceso porque el registro se comparte con el equipo y el usuario es miembro de este equipo.

Seguridad de nivel de registro en Dataverse

El acceso de un usuario a un registro engloba todos sus roles de seguridad, la unidad de negocio a la que esté asociado el usuario, los equipos de los que sea miembro y los registros que se comparten con él. Se debe recordar que, en Dataverse, el acceso comprende todos esos conceptos en el ámbito de un entorno de base de datos de Dataverse. Estos derechos se otorgan únicamente dentro de una sola base de datos y se rastrean individualmente en cada base de datos de Dataverse, lo que requiere que el usuario tenga una licencia adecuada para acceder a Dataverse.

Seguridad en el nivel de columna para controlar el acceso

Si el control de acceso en el nivel de registro no es adecuado para su caso empresarial, Dataverse ofrece una función de seguridad en el nivel de columna que permite un control más detallado de la seguridad en este nivel. La seguridad en el nivel de columna se puede habilitar en todas las columnas personalizadas y en la mayoría de las columnas del sistema. Los metadatos de cada columna definen si esta opción va a estar disponible para la columna del sistema.

La seguridad en el nivel de columna se habilita columna a columna. Posteriormente, el acceso se administrará mediante la creación de un perfil de seguridad de columna. El perfil contiene todas las columnas con la seguridad en el nivel de columna habilitada y con acceso otorgado por ese perfil específico. Cada columna se puede controlar dentro del perfil para los accesos de creación, actualización y lectura. Posteriormente, los perfiles de seguridad de columna se asocian con un usuario o con los equipos para otorgar a los usuarios esos privilegios sobre los registros a los que ya tienen acceso. Es importante tener en cuenta que la seguridad en el nivel de columna no tiene nada que ver con la seguridad en el nivel de registro. Para poder otorgar a un usuario cualquier tipo de acceso a las columnas, es preciso que este usuario disponga de acceso al registro para el perfil de seguridad de columna. La seguridad en el nivel de columna debe usarse según se necesite y no en exceso, ya que puede causar sobrecarga y esto es perjudicial.

Para obtener más información sobre cómo implementar la seguridad de las columnas, hemos incluido un ejemplo más adelante en esta unidad.

Gestión de la seguridad en varios entornos

Es posible empaquetar y transferir roles de seguridad y perfiles de seguridad de columna desde un entorno a otro utilizando soluciones de Dataverse. Es preciso crear y administrar unidades de negocio y equipos en cada entorno junto con la asignación de usuarios a los componentes de seguridad necesarios.

Configurar la seguridad del entorno de los usuarios

Una vez que se hayan creado los roles, los equipos y las unidades de negocio en un entorno, puede asignar las configuraciones de seguridad a los usuarios. Cuando cree un usuario, lo que hará primero será asociarlo a una unidad de negocio. De forma predeterminada, esta será la unidad de negocio raíz de la organización. También se agregarán al equipo predeterminado de esa unidad de negocio.

Además, deberá asignar los roles de seguridad que necesita ese usuario. También debe agregarlo como miembro de algún 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 es siempre acumulativa y comporta el permiso menos restrictivo de cualquiera de los derechos.

Recuerde también que, si ha utilizado la seguridad en el nivel de columna, deberá asociar el usuario o un equipo del usuario a uno de los perfiles de seguridad de columna que haya creado.

Debido a su complejidad, es mejor establecer un plan de seguridad en coordinación con los creadores de la aplicación y el equipo que administra los permisos del usuario. Los cambios importantes deben coordinarse mucho antes de implementarlos en el entorno.

Ejemplo de cómo configurar la seguridad de columna

Antes de empezar con el ejemplo, analicemos cómo implementar la seguridad en el nivel de columna. Los administradores del sistema deberán llevar a cabo las siguientes tareas:

  1. Habilitar la seguridad de columna en una o más columnas de una determinada tabla.

  2. Asociar un perfil de seguridad existente adicional o crear uno o más perfiles de seguridad nuevos para conceder el acceso adecuado a usuarios o equipos específicos.

    Los perfiles de seguridad determinan:

    • Permisos para las columnas seguras

    • Usuarios y equipos

    Se puede configurar un perfil de seguridad para conceder al usuario o a los miembros del equipo los siguientes permisos en el nivel de columna:

    • Lectura. Acceso de solo lectura a los datos de la columna.

    • Creación. Los usuarios o equipos de este perfil pueden agregar datos a esta columna al crear un registro.

    • Actualización. Los usuarios o equipos de este perfil pueden actualizar los datos de la columna después de que se haya creado.

    Se puede configurar una combinación de estos tres permisos para determinar los privilegios del usuario para una columna de datos específica.

    Importante

    Salvo que se asignen uno o más perfiles de seguridad a un campo con seguridad habilitada, solo los usuarios con el rol de seguridad de administrador del sistema podrán acceder al campo.

Este es el contexto del ejemplo que vamos a utilizar: la directiva de la empresa es que solo los administradores de cuentas y los administradores del sistema deben poder ver el límite de crédito de un cliente.

Para restringir el acceso, puede implementar la seguridad en el nivel de columnas; para ello siga estos pasos:

Habilitar la seguridad de las columnas

  1. Inicie sesión en Power Apps como administrador.

  2. Seleccione un entorno.

  3. En el panel izquierdo, seleccione Dataverse.

  4. Seleccione Tablas y seleccione la vista Todos.

  5. Seleccione la tabla Cuenta.

  6. En el panel Esquema, seleccione Columnas. Busque y seleccione la columna Credit Limit (puede usar el campo de entrada de búsqueda en la parte superior derecha de la vista Columnas o descender en la lista).

  7. En el panel derecho, seleccione Opciones avanzadas.

  8. Seleccione Habilitar la seguridad de las columnas.

  9. Seleccione Guardar. Cuando se complete la acción de guardar, se habilitará la seguridad de columna.

Configurar el perfil de seguridad

  1. Inicie sesión en Power Apps como administrador.

  2. En la parte superior derecha, seleccione el icono del engranaje (Configuración) y seleccione Centro de administración. Esto abre una instancia independiente del explorador del Centro de administración de Power Platform.

  3. Seleccione Entornos en el menú de navegación izquierdo y seleccione el entorno en el que desea configurar el perfil de seguridad.

  4. En la cinta del encabezado, seleccione Configuración.

  5. Seleccione el menú desplegable junto a Usuarios + permisos y, después, Perfiles de seguridad de columna (o bien, puede buscar esta configuración en el campo de búsqueda bajo el encabezado de la pantalla Configuración).

  6. En la cinta superior, seleccione + Nuevo perfil y aparecerá un panel a la derecha de la pantalla llamado Crear nuevo perfil de seguridad de columna. Escriba un nombre Administrador de cuentas, y también puede incluir una descripción si lo desea.

  7. Seleccione Guardar y el panel se cerrará tras lo cual aparece su nuevo perfil en Perfiles de seguridad de columna.

  8. Seleccione su perfil de Administrador de cuentas. A continuación, vamos a agregar algunos usuarios a este perfil. Debajo del encabezado de la pantalla, se ilustran tres pestañas, que incluyen Permiso de columna (donde está de forma predeterminada), EquiposUsuarios. Seleccione la pestaña Usuarios.

    Captura de pantalla de la pantalla perfil de seguridad del Administrador de cuentas con la pestaña Usuarios resaltada

  9. Seleccione + Hacer clic aquí para agregar usuarios y se abrirá un panel Agregar usuarios en el lado derecho de la pantalla. Indique los nombres de usuario o las direcciones de correo electrónico de los usuarios que desee agregar y, a continuación, seleccione el nombre en el menú desplegable que aparece y se agregarán a la lista. Si agrega un nombre por error, puede seleccionar la X a la derecha del usuario para eliminarlo de la lista.

  10. Una vez que esté satisfecho con la lista de usuarios, seleccione Agregar en la parte inferior del panel Agregar usuarios. Si necesita agregar otros usuarios, tiene el botón + Agregar usuarios en la parte superior de la pantalla.

  11. Seleccione la pestaña Permiso de columna.

  12. Seleccione la columna Credit Limit y, en la parte superior, seleccione Editar.

  13. En el panel Editar seguridad de columna a la derecha, en Lectura, seleccione Permitido.

  14. Seleccione Guardar, el panel se cerrará y la pestaña Permiso de columna mostrará la nueva configuración para los administradores de cuenta de la columna Credit Limit.

Esto indica que los usuarios que no estén en el perfil de Administrador de cuenta para esta columna no tendrán acceso a la columna Límite de crédito en la tabla o vistas de Cuenta. El valor del campo muestra un icono de candado con ********, lo que indica que el campo está protegido.

Seguridad jerárquica para controlar acceso

El modelo de seguridad jerárquica extiende la seguridad de Dataverse, al permitir que los administradores accedan a los registros de sus subordinados o trabajen en su nombre. Se puede utilizar con todos los demás modelos de seguridad existentes.

Para las jerarquías pueden utilizarse dos modelos de seguridad, la jerarquía de administradores y la jerarquía de puestos. Con la jerarquía de administradores, un administrador debe encontrarse dentro de la misma unidad de negocio que el subordinado, o en la unidad de negocio primaria de la unidad de negocios del subordinado, para disponer de acceso a los datos del informe. La jerarquía de puestos permite el acceso a los datos en todas las unidades de negocio.

Jerarquía de administradores

El modelo de seguridad de la jerarquía de administradores se basa en la cadena de administración o la estructura de subordinados directos. La relación entre el administrador y el subordinado se establece utilizando el campo Administrador en la tabla de usuario. Con este modelo de seguridad, los administradores pueden acceder a los datos a los que tienen acceso sus subordinados. Pueden hacer trabajos en nombre de sus subordinados directos o acceder a información que necesite aprobación. El administrador puede tener acceso completo a los datos del subordinado para los subordinados directos. Para los empleados que no son subordinados directos, los administradores únicamente tendrán acceso de solo lectura a sus datos.

Jerarquía de puestos

Con la seguridad de la jerarquía de puestos, se pueden definir y organizar diversos puestos de trabajo de la organización en la jerarquía, utilizando la tabla de puestos. Luego puede agregar usuarios a cualquier puesto en concreto mediante la columna de búsqueda de puesto del registro de usuario. Los usuarios en las posiciones más altas de la jerarquía tienen acceso a los datos de los usuarios de las posiciones más bajas, siguiendo una estructura piramidal. De manera similar a la jerarquía de administradores, los puestos primarios tienen acceso completo a los datos de los puestos secundarios, pero los puestos más altos que los del primario directo tienen acceso de solo lectura.

Nota

En ambos modelos jerárquicos, un usuario más alto en la jerarquía debe tener al menos el privilegio de lectura en el nivel de usuario en una tabla, para ver los datos de los subordinados. Por ejemplo, si un administrador no tiene acceso de lectura a la entidad Caso, el administrador no podrá ver los casos a los que tienen acceso sus subordinados.

Ejemplo de cómo configurar la seguridad jerárquica

Veamos cómo configurar la seguridad jerárquica en un entorno de su organización. Primero, configuraremos los valores y, a continuación, las jerarquías de los administradores y los puestos.

Configurar las opciones del sistema de seguridad jerárquica

Compruebe que tiene los permisos del administrador del sistema establecidos para poder actualizar la configuración. No tiene establecidos los permisos correctos, será preciso que se ponga en contacto con el administrador del sistema.

La seguridad jerárquica está deshabilitada de forma predeterminada. Para habilitarla:

  1. Inicie sesión en Power Apps (como administrador).

  2. En la parte superior derecha, seleccione la configuración en el icono del engranaje y seleccione Centro de administración.

  3. Seleccione Entornos en el menú de la izquierda, y el entorno que desea configurar.

  4. En la cinta superior, seleccione Configuración.

    Captura de pantalla de la configuración, con la seguridad seleccionada en sistemas

  5. Seleccione el menú desplegable Usuarios + permisos y, a continuación, Seguridad de jerarquía.

    Captura de pantalla de seguridad con la seguridad jerárquica seleccionada

  6. Pasados unos minutos, se abrirá una nueva pestaña del explorador llamada Seguridad de jerarquía. Seleccione la casilla de verificación de Habilitar modelado jerárquico y podrá acceder a las opciones del modelo jerárquico. Para este caso, vamos a asegurarnos de que la opción Jerarquía de administradores esté seleccionada y de que Profundidad de jerarquía esté establecida en 3 (estos son los valores predeterminados). La profundidad jerárquica se refiere a la cantidad de niveles sobre los que un administrador tiene acceso de solo lectura a los datos de los informes en estos niveles.

    Importante

    Para efectuar cambios en la opción Seguridad de jerárquica, debe tener el privilegio Cambiar la configuración de seguridad de jerarquía.

    Captura de pantalla del modelado jerárquico habilitado, el modelo seleccionado y la profundidad establecida

Configurar jerarquías de administradores y puestos

Podemos crear una jerarquía de administradores con la relación del administrador en el registro de usuario del sistema. Con el campo de búsqueda de administradores (ParentsystemuserID), puede especificar el administrador del usuario. Si ya ha creado la Jerarquía de puestos, también puede etiquetar al usuario con un puesto específico en esta jerarquía.

En la pestaña del explorador Seguridad jerárquica, donde haya activado Habilitar modelado jerárquico y habilitado Jerarquía de administradores, siga estos pasos:

  1. En Jerarquía de administradores, seleccione Configurar.

  2. Asigne a cada usuario un administrador y un puesto (opcional). Puede buscar un usuario mediante el campo de filtrado en la esquina superior derecha. Seleccione un usuario en Usuarios habilitados para abrir la ventana emergente Usuario.

Captura de pantalla de la ventana de usuarios habilitados

En el siguiente ejemplo, hemos seleccionado a Adele Vance como usuario. Adele Vance es subordinada de Nestor Wilke en la jerarquía de administradores y también tiene el puesto de Vendedora en la jerarquía de puestos:

Captura de pantalla de la ventana del usuario Adele Vance

Para agregar un usuario a un puesto en particular de la Jerarquía de puestos, seleccione el campo de búsqueda denominado Puesto, en el formulario del registro de usuario. Aparecerán los puestos existentes en la jerarquía de su organización y podrá buscar puestos con el campo de búsqueda.

Captura de pantalla del campo de puestos con el vendedor seleccionado

Puede agregar puestos según necesite; para ello, seleccione + Nuevo puesto y se abrirá la ventana emergente Nuevo puesto. A continuación, escriba el Nombre y (opcionalmente) el Puesto del elemento primario. Si guarda este puesto, estará disponible en la jerarquía de puestos.

Captura de pantalla de la ventana Nuevo puesto

Para crear una jerarquía de puestos

  1. Inicie sesión en el Centro de administración de Power Platform.

  2. Seleccione Entornos y elija el entorno que quiere modificar.

  3. Seleccione Configuración en la cinta.

    Captura de pantalla de la seguridad seleccionada, en la pantalla de configuración

  4. Expanda Usuarios + permisos y, a continuación, seleccione Seguridad jerárquica (también puede escribir jerarquía en el campo Buscar una configuración que se encuentra bajo el encabezado).

    Captura de pantalla de la seguridad jerárquica resaltada en la ventana de seguridad

  5. Seleccione el botón de opción junto a Habilitar modelo jerárquico de administradores y compruebe que Profundidad está en 3 (predeterminado).

    Captura de pantalla del modelado jerárquico habilitado, con la jerarquía de puestos configurada como personalizada y la profundidad establecida en tres

  6. Seleccione Configurar.

  7. Para cada uno de los puestos, indique el nombre del puesto, el elemento primario del puesto y la descripción. Utilice el campo de búsqueda Usuarios para este puesto para agregar usuarios al puesto. A continuación, se ofrece un ejemplo de jerarquía de puestos con los puestos activos. Puede seleccionar cualquiera de los puestos y asignar o agregar otros puestos a su jerarquía.

    Captura de pantalla de los puestos activos

  8. Si selecciona un puesto, puede ver una lista de los usuarios en este puesto. Todos los usuarios se pueden seleccionar. Al seleccionar un usuario, se le dirige a su pantalla de administración de Usuarios, donde podrá cambiar los detalles del usuario según necesite. Utilice las flechas hacia atrás en la parte superior izquierda de la ventana para volver a pantallas anteriores.

    Captura de pantalla de la pantalla Vendedor donde aparece Adele Vance en Usuarios para este puesto

  9. Puede usar la pantalla Puestos activos para asegurarse de que cada usuario tenga los puestos correctos en su jerarquía.

Consideraciones de rendimiento

Para aumentar el rendimiento, se recomienda:

  • Mantener la seguridad jerárquica efectiva en 50 usuarios o menos bajo un administrador o un puesto. La jerarquía puede tener más de 50 usuarios bajo un administrador o un puesto, pero puede usar la configuración de profundidad para reducir el número de niveles para el acceso de solo lectura y limitar de esta forma a 50 o menos el número efectivo de usuarios bajo un administrador o puesto.

  • Utilice modelos de seguridad jerárquica con otros modelos de seguridad existentes en casos más complejos. Evite crear una cantidad grande de unidades de negocio; en su lugar, cree menos y aplique seguridad jerárquica.