Seguridad en las aplicaciones

Completado

Al configurar la seguridad, puede establecer cuatro capas diferentes de seguridad para una aplicación:

  • Nivel de aplicación: restringe el acceso a la aplicación.
  • Nivel de formulario: para las aplicaciones basadas en modelos, con este nivel de seguridad, puede permitir que solo grupos de seguridad específicos accedan a formularios específicos. Este nivel es útil si desea restringir la forma en que las personas introducen o ven los datos según su función laboral.
  • Nivel de fila: el modelo de seguridad de Dataverse controla el acceso a las filas.
  • Nivel de columna: controla el acceso a columnas individuales en una tabla.

La seguridad debe ocurrir en la capa de plataforma, no en la capa de aplicación. Existen numerosas formas de controlar la lectura y la escritura de datos en una aplicación. Puede configurar columnas como de solo lectura en su formulario basado en modelo, puede usar JavaScript para enmascarar columnas en la experiencia de usuario y puede ocultar columnas y campos de formularios y vistas. Ninguno de estos enfoques implementa realmente la seguridad. No protegen los datos y los usuarios aún pueden acceder a los datos de otras formas, como con Búsqueda avanzada o Editar en Excel Online.

Además, todos los usuarios tienen derecho a utilizar la API y pueden utilizar herramientas de partners y de la comunidad para acceder a los datos. Para una seguridad adecuada, deben emplearse las características de seguridad de Dataverse.

Privilegios elevados y suplantación

Debe evitar otorgar a los usuarios altos niveles de privilegios. Los ensamblados .NET de complementos, flujos de trabajo clásicos y flujos de nube de Power Automate pueden ejecutarse con acceso elevado para realizar acciones en nombre del usuario. El código de API puede hacerse pasar por otro usuario si es necesario.

Automatización

Los arquitectos de soluciones deberían considerar automatizar los aspectos de la gestión de usuarios y la seguridad. Por ejemplo, puede controlar muchos aspectos, desde crear equipos hasta compartir filas a través de la API.

Puede activar complementos o flujos de Power Automate basados en eventos que ocurren en el sistema para cambiar la seguridad de un usuario. Por ejemplo, podría elevar el administrador de cuenta de respaldo automáticamente o compartir sus datos para que el usuario pueda administrar la cuenta mientras el administrador de la cuenta principal está de vacaciones.

Rendimiento

Las soluciones con un mayor número de usuarios o datos deben ser conscientes del impacto de las elecciones, por ejemplo:

  • Un excesivo uso compartido puede generar gastos generales considerables.
  • Demasiadas unidades de negocio pueden provocar un acceso lento.
  • Demasiados procesos se ejecutarán en eventos.
  • Diseño de complemento deficiente.

Un diseño de seguridad deficiente puede provocar un rendimiento deficiente. Las técnicas que puede utilizar para mejorar el rendimiento de la seguridad incluyen:

  • Buscar formas de escalar la seguridad, como compartir con un equipo en lugar de un usuario.
  • Minimizar el número de unidades de negocio.
  • Usar equipos de acceso en lugar de equipos propietarios.
  • Realizar pruebas con volúmenes reales y escenarios de seguridad reales para validar el diseño.
  • Usar las herramientas de analíticas del centro de administración de Microsoft Power Platform para ver las llamadas a la API y los procesos de gran volumen.

La mejor manera de mejorar el rendimiento es mantener el diseño de seguridad lo más simple posible.

Separar y optimizar los patrones de uso

Un arquitecto de soluciones debe optimizar diferentes patrones de uso. Concretamente, necesita usar las diferentes características del modelo de seguridad para proporcionar el acceso necesario, con diferentes usuarios que tienen diferentes formas de acceder al mismo registro, como se muestra en el siguiente diagrama.

Diagrama para optimizar patrones de uso independientes.

Las diferentes áreas empresariales se pueden modelar de manera diferente

No todos los usuarios funcionan de la misma forma. El arquitecto de soluciones debe reflexionar sobre los diferentes modelos de trabajo de diferentes partes del negocio y luego modelar cada área de manera diferente para obtener una solución óptima, como se muestra en el siguiente diagrama.

Diagrama para modelar las diferentes áreas empresariales de manera diferente.

Modelar excepciones como excepciones

Los arquitectos de soluciones deben tener como objetivo modelar los patrones de acceso comunes de la manera más eficiente posible y utilizar un modelo más granular cuando se requiera un acceso complejo. Compartir es un buen ejemplo de procesamiento de excepciones. Siempre que sea posible, se debe compartir con los equipos.

Diagrama para modelar excepciones como excepciones.

Separar los datos históricos de los activos

Los datos históricos a los que se accede con poca frecuencia pero de gran volumen pueden afectar al acceso a los datos actuales. El arquitecto de soluciones debe considerar particionar los datos en el modelo de seguridad en tablas separadas y luego proporcionar un mecanismo secundario para el acceso ocasional.

Revise el modelo de datos para ayudar a la seguridad

Algunos ajustes del modelo de datos pueden facilitar el modelado de seguridad. El arquitecto de soluciones debe determinar si la definición de nuevos límites de datos simplificará el modelado de seguridad. Por ejemplo, en lugar de tener un acceso individual definido a los registros de la cuenta, podría mover la información de informes financieros de los registros de la cuenta a una tabla financiera independiente, que permitirá a todos ver la tabla de la cuenta, pero mantendrá la tabla financiera está restringida solo a administradores.