Seguridad basada en filtros en Microsoft Dataverse (versión preliminar)

[Este artículo es documentación preliminar y está sujeto a cambios.]

La seguridad basada en la propiedad otorga acceso mediante la titularidad de los registros, equipos, unidades de negocio y privilegios de nivel de organización. La seguridad basada en filtros concede acceso a través de los datos de registro que cumplen los criterios de filtro. Por ejemplo, puede conceder acceso a los registros cuya columna City contiene Redmond, Seattle o Bellevue.

Puede usar la seguridad basada en filtros con:

  • Tablas de propiedad de registros filtradas.
  • Tablas de propiedad de los registros de usuario o equipo.
  • Tablas de propiedad de los registros de organización.

Comprender cómo funciona la seguridad basada en filtros

Configure la seguridad basada en filtros con dos componentes principales:

  • Filtro de registro: Usa FetchXML para identificar los registros que califican para el acceso.
  • Filtro de registro de entidad: Asocia un filtro de registro a una tabla de Dataverse.

Al asociar un filtro a una tabla, Dataverse crea privilegios de filtro. Asigne estos privilegios a través de roles de seguridad. Cuando un usuario accede a los datos, Dataverse evalúa los filtros de los roles de seguridad y las pertenencias a equipos del usuario. Un filtro coincidente concede la operación de acceso a datos correspondiente.

Para las tablas de propiedad de registros filtradas, los privilegios de filtro determinan el acceso a los registros. En las tablas de propiedad de registros de usuario o equipo y de organización, los privilegios de filtro se suman al acceso concedido a través del modelo de seguridad existente.

Componentes de seguridad basados en filtros

Componente Description
Filtro de registro Almacena la definición de filtro FetchXML.
Filtro de registro de entidad Asocia un filtro de registro a una tabla de Dataverse.
Privilegio de filtro Concede acceso filtrado para una operación de acceso a datos específica.
Rol de seguridad Asigna privilegios de filtro a usuarios y equipos.

Dataverse combina todos los filtros permitidos de los roles de seguridad del usuario y de su pertenencia a equipos. Un registro que coincide con cualquier filtro autorizado recibe el acceso correspondiente.

Comparación de modelos de propiedad

La seguridad basada en filtros admite todos los tipos de propiedad de Dataverse.

Capacidad Propiedad del usuario o del equipo Propiedad de la organización Propiedad filtrada
Admite un propietario de registro Yes No No
Admite la asignación Yes No No
Admite el uso compartido Yes No No
Admite el acceso a la jerarquía de unidades de negocio. Yes No No
Usa privilegios basados en propiedad Yes No No
Admite el acceso a toda la organización. Mediante privilegios de rol Yes A través del privilegio del filtro «Todos los registros»
Admite la seguridad basada en filtros. Yes Yes Yes
Usa solo filtros para determinar el acceso No No Yes
Admite la reasignación de registros. Yes No No
Casos de uso típicos Cuentas, casos, oportunidades y datos empresariales operativos Referencia compartida y datos de configuración Control de acceso basado en atributos, acceso basado en derechos, segmentación geográfica y clasificación de datos

Elección de un modelo de propiedad

Use las tablas de propiedad de registros de usuario o equipo cuando los registros tengan un propietario natural y los procesos empresariales requieran asignación, uso compartido, visibilidad para el administrador o acceso a la jerarquía de unidades de negocio.

Utilice tablas de propiedad de registros de la organización cuando los usuarios compartan ampliamente registros en toda la organización y no necesiten asignar un propietario.

Use tablas de propiedad de registros filtradas cuando los atributos empresariales deben determinar el acceso en lugar de la propiedad. Este modelo funciona bien para el control de acceso basado en atributos (ABAC), la seguridad basada en derechos, los límites normativos y la autorización basada en confidencialidad.

Nota:

Puede aplicar la seguridad basada en filtros al usuario o equipo, y a la propiedad de los registros de la organización y a las tablas de propiedad de registros filtradas. Solo las tablas de propiedad de registros filtradas dependen exclusivamente de los privilegios de filtro para el acceso a registros.

Seguridad basada en filtros con tablas de propiedad filtradas

La propiedad de los registros filtrados es un modelo de propiedad de Dataverse que determina el acceso completamente a través de privilegios de filtro.

Las tablas de propiedad filtradas no usan propietarios de registros.

Las tablas de propiedad filtradas tienen las siguientes características:

  • No incluya propietarios de registros.
  • No se puede asignar a usuarios o equipos.
  • No se puede compartir con usuarios o equipos.
  • No use privilegios de seguridad basados en propiedad.
  • Determinar el acceso usando únicamente los privilegios de filtro.

Nota:

Al crear una tabla de propiedad de registros filtrados, Dataverse crea un privilegio global de filtro Todos los registros y lo concede al rol de seguridad Administrador del sistema.

Creación de una tabla de propiedad de registros filtrados

Al crear una tabla de Dataverse, seleccione Filtrado como tipo de propiedad. Para ver las instrucciones, consulte Propiedad de los registros filtrados.

Después de crear la tabla:

  1. Cree uno o varios filtros de registro.
  2. Cree Filtros de registros de entidad para asociar los filtros con la tabla.
  3. Conceda los privilegios de filtro generados a través de roles de seguridad.
  4. Asigne los roles de seguridad a los usuarios o equipos.

Aplicar seguridad basada en filtros a las tablas de propiedad de registros de usuarios o equipos

También puede aplicar la seguridad basada en filtros a las tablas de propiedad de registros de usuario o equipo existentes.

Los privilegios de filtro agregan acceso al modelo de seguridad basado en propiedad existente:

  • Los usuarios siguen siendo propietarios de registros.
  • Puede seguir asignando y compartir registros.
  • El acceso a la jerarquía de unidades de negocio permanece sin cambios.
  • Los privilegios de filtro conceden acceso adicional a nivel de fila.

Por ejemplo, un vendedor puede acceder a las oportunidades que poseen. Un filtro puede conceder al vendedor acceso a oportunidades adicionales en un territorio específico.

El siguiente filtro concede acceso a las cuentas activas en un territorio específico:

<fetch
  version="1.0"
  output-format="xml-platform"
  mapping="logical"
  distinct="false">
  <entity name="account">
    <attribute name="entityimage_url" />
    <attribute name="statecode" />
    <attribute name="name" />
    <attribute name="address1_city" />
    <attribute name="primarycontactid" />
    <attribute name="telephone1" />
    <attribute name="accountid" />
    <attribute name="new_owningbuname" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition
        attribute="territoryid"
        operator="eq"
        value="a440958c-f6bc-f111-aaad-000d3a84e349" />
      <condition
        attribute="statecode"
        operator="eq"
        value="0" />
    </filter>
  </entity>
</fetch>

En el siguiente ejemplo se usa un link-entity para conceder a un comercial acceso a cuentas activas propiedad de un compañero al que sustituye:

<fetch
  version="1.0"
  output-format="xml-platform"
  mapping="logical"
  distinct="true">
  <entity name="account">
    <attribute name="entityimage" />
    <attribute name="statecode" />
    <attribute name="name" />
    <attribute name="parentaccountid" />
    <attribute name="ownerid" />
    <attribute name="telephone1" />
    <attribute name="emailaddress1" />
    <attribute name="accountid" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition
        attribute="statecode"
        operator="eq"
        value="0" />
    </filter>
    <link-entity
      name="crcd8_buddyrm"
      alias="buddy"
      link-type="inner"
      from="crcd8_rm"
      to="ownerid">
      <filter type="and">
        <condition
          attribute="crcd8_buddyrmname"
          operator="eq-userid" />
        <condition
          attribute="statecode"
          operator="eq"
          value="0" />
      </filter>
    </link-entity>
  </entity>
</fetch>

Acceso efectivo

En el caso de las tablas de propiedad de registros de usuario o equipo, los privilegios de filtro agregan acceso de nivel de fila a la seguridad basada en propiedad. No reemplazan ni reducen el acceso concedido a través de privilegios de propiedad, uso compartido o rol de seguridad.

Para las tablas de propiedad filtradas, los privilegios de filtro determinan el acceso a registros. En el caso de las tablas de propiedad de registros de organización, los privilegios de filtro se suman al acceso concedido por los privilegios del rol de seguridad.

Este modelo aditivo le permite introducir el acceso basado en atributos al tiempo que conserva las reglas de acceso existentes.

Para obtener más información sobre la seguridad de propiedad, consulte Propiedad y acceso a los registros.

Aplicación de la seguridad basada en filtros a las tablas de propiedad de registros de la organización

También puede aplicar la seguridad basada en filtros a las tablas de propiedad de registros de la organización.

Los privilegios estándar de una tabla de propiedad de registros de la organización conceden acceso a todos los registros de la tabla. Los privilegios de filtro proporcionan otra manera de conceder acceso a los registros coincidentes. No reducen el acceso más amplio que ya concede un rol de seguridad.

Entre los escenarios habituales se incluyen los siguientes:

  • Acceso basado en el territorio.
  • Acceso por departamento.
  • Controles de clasificación de datos.
  • Datos de referencia compartidos con visibilidad limitada por ámbito.

Por ejemplo, conceda a los usuarios acceso a los registros cuya columna Territory coincide con una región específica. Asegúrese de que sus otros privilegios de rol de seguridad no conceden acceso más amplio a la misma tabla.

Los privilegios de filtro agregan autorización específica al tiempo que conservan el modelo de datos de propiedad del registro de la organización.

Para obtener más información sobre las tablas de propiedad de registros de la organización, consulte Propiedad y acceso a los registros.

Privilegios de filtro

Al asociar un filtro de registro a una tabla a través de un filtro de registro de entidad, Dataverse crea privilegios de filtro. Asigne estos privilegios a través de roles de seguridad.

Los privilegios de filtro admiten estas operaciones de acceso a datos:

  • Create.
  • Lectura.
  • Escribir.
  • Eliminar.
  • Anexar.
  • Anexar a.

Cada privilegio está asociado a un filtro específico y a una tabla específica.

En el ejemplo siguiente se muestran privilegios para varios filtros de ciudad:

Filter Privilege
Ciudad = Redmond Read
Ciudad = Redmond Write
Ciudad = Redmond Delete
Ciudad = Seattle Read
Ciudad = Bellevue Read

Cree varios filtros y asigne privilegios diferentes a cada rol de seguridad según sea necesario.

Concesión de privilegios de filtro en roles de seguridad

Administrar privilegios de filtro mediante roles de seguridad de Dataverse.

Para conceder acceso filtrado:

  1. Abra un rol de seguridad.
  2. Seleccione la tabla de destino.
  3. Seleccione el privilegio de filtro.
  4. Otorgue el privilegio al rol.
  5. Asigne el rol a usuarios o equipos.

Los usuarios reciben todos los privilegios de filtro de los roles de seguridad que tienen asignados y de los equipos a los que pertenecen.

Para obtener más información, consulte Roles de seguridad y privilegios.

Ejemplo

Supongamos que una tabla Cliente incluye una columna Ciudad.

Cree tres filtros de registro:

  • Ciudad = Redmond.
  • Ciudad = Seattle.
  • Ciudad = Bellevue.

Asocie cada filtro de registro con la tabla Cliente mediante filtros de registros de entidad.

Cree tres roles de seguridad:

Función Privilegio de filtro
Ventas de Redmond Leer cliente donde Ciudad = Redmond
Ventas de Seattle Leer cliente donde City = Seattle
Ventas de Bellevue Leer cliente donde City = Bellevue

Cada rol concede acceso a los registros del cliente que coinciden con su filtro. Los usuarios pueden tener acceso más amplio a través de otros roles, pertenencias a equipos, propiedad o uso compartido.

Resumen

La seguridad basada en filtros otorga acceso a nivel de fila en función de los valores de los datos. Use filtros de registro, filtros de registro de entidades, privilegios de filtro y roles de seguridad para implementar el control de acceso basado en atributos en Dataverse.

Agregar seguridad basada en filtros con tablas de propiedad de registros de usuario o equipo y de organización para permitir un mayor acceso a los datos mediante condiciones de filtro. Elija el modelo de propiedad que se adapte a sus requisitos empresariales. Recuerde que solo las tablas de propiedad filtradas usan filtros como origen exclusivo del acceso a registros.

Pasos siguientes