Segurança baseada em filtro em Microsoft Dataverse (versão prévia)

[Este artigo é uma documentação de pré-lançamento e está sujeito a alterações.]

A segurança baseada na propriedade concede acesso com base na propriedade dos registros, em equipes, em unidades de negócios e em privilégios no nível da organização. A segurança baseada em filtro concede acesso por meio de dados de registro que atendem aos critérios de filtro. Por exemplo, você pode conceder acesso a registros cuja coluna City contém Redmond, Seattle ou Bellevue.

Você pode usar a segurança baseada em filtro com:

  • Tabelas de propriedade de registro filtradas.
  • Tabelas de propriedade de registros de usuários ou equipes.
  • Tabelas de propriedade dos registros da organização.

Entender como a segurança baseada em filtro funciona

Configure a segurança baseada em filtro com dois componentes primários:

  • Filtro de Registro: Usa FetchXML para identificar registros que se qualificam para acesso.
  • Filtro de registro de entidade: Associa um filtro de registro a uma tabela do Dataverse.

Quando você associa um filtro a uma tabela, o Dataverse cria privilégios de filtro. Atribua esses privilégios por meio de funções de segurança. Quando um usuário acessa dados, o Dataverse avalia os filtros das funções de segurança do usuário e das associações de equipe. Um filtro correspondente concede a operação de acesso a dados correspondente.

Para tabelas de propriedade de registro filtradas, os privilégios de filtro determinam o acesso ao registro. Para as tabelas de propriedade de registros de usuário, equipe e organização, os privilégios de filtro se somam ao acesso concedido por meio do modelo de segurança existente.

Componentes de segurança baseados em filtro

Componente Descrição
Filtro de registros Armazena a definição de filtro FetchXML.
Filtro de registro de entidade Associa um filtro de registro a uma tabela do Dataverse.
Privilégio de filtro Concede acesso filtrado para uma operação de acesso a dados específica.
Direito de acesso Atribui privilégios de filtro a usuários e equipes.

O Dataverse combina todos os filtros autorizados das funções de segurança do usuário e de suas participações em equipes. Um registro que corresponde a qualquer filtro autorizado recebe o acesso correspondente.

Comparar modelos de propriedade

A segurança baseada em filtro dá suporte a todos os tipos de propriedade do Dataverse.

Capacidade De propriedade do usuário ou da equipe De propriedade da organização Propriedade filtrada
Dá suporte a um proprietário de registro Yes No No
Dá suporte à atribuição Yes No No
Dá suporte ao compartilhamento Yes No No
Dá suporte ao acesso à hierarquia de unidade de negócios Yes No No
Usa privilégios baseados em propriedade Yes No No
Dá suporte ao acesso de toda a organização Por meio de privilégios de função Yes Por meio do privilégio de filtro de Todos os registros
Dá suporte à segurança baseada em filtro Yes Yes Yes
Usa apenas filtros para determinar o acesso No No Yes
Dá suporte à reatribuição de registro Yes No No
Casos de uso típicos Contas, casos, oportunidades e dados de negócios operacionais Dados de referência e configuração compartilhados Controle de acesso baseado em atributo, acesso baseado em direitos, segmentação geográfica e classificação de dados

Escolher um modelo de propriedade

Use as tabelas de propriedade de registros de usuário ou de equipe quando os registros tiverem um proprietário natural e os processos de negócios exigirem atribuição, compartilhamento, visibilidade para gerentes ou acesso à hierarquia da unidade de negócios.

Use tabelas de propriedade de registro da organização quando os usuários compartilham registros amplamente em toda a organização e não precisam de propriedade.

Use tabelas de propriedade de registro filtradas quando os atributos de negócios precisarem determinar o acesso em vez de propriedade. Esse modelo funciona bem para ABAC (controle de acesso baseado em atributo), segurança baseada em direitos, limites regulatórios e autorização baseada em confidencialidade.

Note

Você pode aplicar a segurança baseada em filtro ao usuário ou à equipe e à propriedade do registro da organização e às tabelas de propriedade de registros filtradas. Somente as tabelas de propriedade de registro filtradas dependem exclusivamente de privilégios de filtro para acesso a registros.

Segurança baseada em filtro com tabelas de propriedade filtradas

A propriedade de registro filtrada é um modelo de propriedade do Dataverse que determina o acesso inteiramente por meio de privilégios de filtro.

As tabelas de propriedade filtradas não usam proprietários de registro.

As tabelas de propriedade filtradas têm as seguintes características:

  • Não contém proprietários dos registros.
  • Não pode ser atribuído a usuários ou equipes.
  • Não é possível ser compartilhado com usuários ou equipes.
  • Não use privilégios de segurança baseados em propriedade.
  • Determine o acesso usando apenas privilégios de filtro.

Note

Quando você cria uma tabela filtrada de propriedade de registros, o Dataverse cria um privilégio de filtro global Todos os registros e o concede à função de segurança Administrador do Sistema.

Criar uma tabela de propriedade de registro filtrada

Ao criar uma tabela do Dataverse, selecione Filtrado como o tipo de propriedade. Para obter instruções, consulte Propriedade de registro filtrada.

Depois de criar a tabela:

  1. Crie um ou mais Filtros de Registro.
  2. Crie filtros de registro de entidade para associar os filtros à tabela.
  3. Conceda os privilégios de filtro gerados por meio de funções de segurança.
  4. Atribua as funções de segurança a usuários ou equipes.

Aplicar segurança baseada em filtros a tabelas de propriedade de registros de usuários ou equipes

Você também pode aplicar segurança baseada em filtro a tabelas existentes de propriedade de registros de usuário ou de equipe.

Os privilégios de filtro adicionam acesso ao modelo de segurança baseado em propriedade existente:

  • Os usuários continuam a possuir registros.
  • Você pode continuar atribuindo e compartilhando registros.
  • O acesso à hierarquia de unidade de negócios permanece inalterado.
  • Privilégios de filtro concedem acesso adicional em nível de linha.

Por exemplo, um vendedor pode acessar oportunidades que possui. Um filtro pode conceder ao vendedor acesso a oportunidades adicionais em um território específico.

O filtro a seguir concede acesso a contas ativas em um território 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>

O exemplo a seguir usa um link-entity para conceder a um vendedor acesso a contas ativas pertencentes a um colega que eles cobrem:

<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>

Acesso efetivo

Em tabelas com propriedade de registros de usuário ou equipe, os privilégios de filtro adicionam acesso em nível de linha à segurança baseada na propriedade. Eles não substituem nem reduzem o acesso concedido por meio de privilégios de propriedade, compartilhamento ou função de segurança.

Para tabelas de propriedade filtradas, os privilégios de filtro determinam o acesso ao registro. Para tabelas de propriedade de registros da organização, os privilégios de filtro são adicionados ao acesso concedido pelos privilégios da função de segurança.

Esse modelo aditivo permite que você introduza o acesso baseado em atributo, preservando as regras de acesso existentes.

Para obter mais informações sobre segurança de propriedade, consulte Propriedade e acesso aos registros.

Aplicar segurança baseada em filtros a tabelas de propriedade de registros da organização

Você também pode aplicar a segurança baseada em filtros às tabelas de propriedade de registros da organização.

Privilégios padrão para uma tabela de propriedade de registro da organização concedem acesso a todos os registros na tabela. Os privilégios de filtro fornecem outra maneira de conceder acesso aos registros correspondentes. Eles não reduzem o acesso mais amplo que uma função de segurança já concede.

Cenários comuns incluem:

  • Acesso baseado em território.
  • Acesso baseado em departamento.
  • Controles de classificação de dados.
  • Dados de referência compartilhados com visibilidade delimitada por escopo.

Por exemplo, conceda aos usuários acesso a registros cuja coluna Territory corresponde a uma região específica. Verifique se os privilégios de suas outras funções de segurança não concedem acesso mais amplo à mesma tabela.

Os privilégios de filtro adicionam uma autorização granular, preservando o modelo de dados de propriedade de registros da organização.

Para obter mais informações sobre tabelas de propriedade de registro da organização, consulte Propriedade e acesso a registros.

Filtrar privilégios

Quando você associa um Filtro de Registro a uma tabela por meio de um Filtro de Registro de Entidade, o Dataverse cria privilégios de filtro. Atribua esses privilégios por meio de funções de segurança.

Os privilégios de filtro dão suporte a essas operações de acesso a dados:

  • Create.
  • Leia.
  • Gravar.
  • Delete.
  • Acrescentar.
  • Anexar a.

Cada privilégio está associado a um filtro específico e a uma tabela específica.

O exemplo a seguir mostra privilégios para vários filtros de cidade:

Filter Privilégio
Cidade = Redmond Read
Cidade = Redmond Write
Cidade = Redmond Delete
Cidade = Seattle Read
Cidade = Bellevue Read

Crie vários filtros e atribua privilégios diferentes a cada função de segurança conforme necessário.

Conceder privilégios de filtro em funções de segurança

Gerenciar privilégios de filtro por meio de funções de segurança do Dataverse.

Para conceder acesso filtrado:

  1. Abra uma função de segurança.
  2. Selecione a tabela de destino.
  3. Selecione o privilégio de filtro.
  4. Conceda o privilégio à função.
  5. Atribua a função a usuários ou equipes.

Os usuários recebem todos os privilégios de filtro das funções de segurança atribuídas e da participação em equipes.

Para obter mais informações, consulte Funções de segurança e privilégios.

Exemplo

Suponha que uma tabela Cliente inclua uma coluna Cidade.

Criar três filtros de registro:

  • Cidade = Redmond.
  • Cidade = Seattle.
  • Cidade = Bellevue.

Associe cada Filtro de Registro à tabela Customer usando Filtros de Registro de Entidade.

Crie três funções de segurança:

Função Privilégio de filtro
Vendas de Redmond Ler Cliente onde Cidade = Redmond
Vendas de Seattle Ler Cliente onde Cidade = Seattle
Vendas do Bellevue Ler Cliente onde Cidade = Bellevue

Cada função concede acesso aos registros de clientes que correspondem ao filtro. Os usuários podem ter acesso mais amplo por meio de outras funções, associações de equipe, propriedade ou compartilhamento.

Resumo

A segurança baseada em filtro concede acesso em nível de linha com base nos valores de dados. Use filtros de registro, filtros de registro de entidade, privilégios de filtro e funções de segurança para implementar o controle de acesso baseado em atributo no Dataverse.

Adicione segurança baseada em filtro para usuário ou equipe e tabelas de propriedade de registros da organização para fornecer maior acesso aos dados por meio de condições de filtro. Escolha o modelo de propriedade que atenda aos seus requisitos de negócios. Lembre-se de que apenas as tabelas de propriedade filtradas usam filtros como a fonte exclusiva de acesso ao registro.

Próximas Etapas