Gerir armazenamento de PrincipalObjectAccess

Os utilizadores num ambiente com a base de dados do Microsoft Dataverse podem colaborar com outros utilizadores ao conceder acesso a um registo de propriedade do utilizador. O utilizador pode partilhar um registo com outro utilizador ou equipa, ou reatribuir um registo a outro utilizador ou equipa.

Para gerir esta colaboração ao nível do registo e para fornecer acesso a utilizadores a dados partilhados, toda a partilha de registos e as respetivas permissões são armazenadas na tabela PrincipalObjectAccess (POA). Sempre que os utilizadores tentam aceder a um registo de que não são proprietários ou para o qual não têm o privilégio apropriado no respetivo direito de acesso, o sistema verifica a tabela POA para autorizar o acesso do utilizador.

Origens de POA

Os tópicos que se seguem descrevem as definições ou a utilização que criam registo de POA, uma vez que permitem a partilha de registos. As definições devem ser revistas e atualizadas em conformidade, para evitar a partilha excessiva e o aumento do armazenamento POA.

Partilhar registos reatribuídos com o proprietário original

Por predefinição, a definição Definir se os registos reatribuídos são partilhados com o proprietário original é Não. É aqui que o proprietário original do registo deixa de ter acesso ao registo quando a propriedade do registo é reatribuída a outro utilizador. Quando esta definição está definida como Sim, é criado um registo na tabela POA sempre que um utilizador atribui um registo a outro utilizador ou equipa. O proprietário original é adicionado automaticamente como quem Partilhar.

Gerir armazenamento de PrincipalObjectAccess.

Equipas de acesso

Quando uma equipa de acesso é utilizada para colaboração de registos, os registos são criados na tabela POA sempre que um utilizador é adicionado à equipa de acesso. Existem dois tipos de equipas de acesso:

  • Geridos pelo sistema: são criados através de modelos e estão incorporados num formulário para permitir que o utilizador efetue a gestão facilmente da lista de membros. O sistema cria automaticamente uma equipa de acesso para um registo que é partilhado. Por exemplo, a Conta n.º 1 tem uma equipa de acesso que é diferente da Conta n.º 2.

  • Adicionados manualmente: são equipas de acesso individuais em que um admin/proprietário da equipa gere a lista de membros da equipa.

Partilha direta

  • Quando um utilizador partilha explicitamente um registo com outro utilizador, é criado um registo na tabela POA.

Partilha indireta

  • Quando um utilizador partilha um registo com uma equipa, é partilhado com todos os membros da equipa indiretamente.

  • A partilha indireta também ocorre com um registo que tem uma relação de partilha em cascata ou numa tabela com uma relação principal/subordinado. Quando um registo principal é partilhado com um utilizador ou uma equipa, o utilizador ou a equipa com quem foi partilhado tem acesso a todos os registos em cascata ou subordinados. Todas estas permissões para aceder aos registos subordinados são criadas na tabela POA.

    Exemplo de relação de tabelas.

    É possível definir uma tabela para que tenha relações outras tabelas (por exemplo, Conta para Caso). Por predefinição, a relação da opção Re-hierarquizar está definida como Tudo em Cascata. Todos os registos subordinados relacionados são partilhados com o proprietário do registo principal.

    Por exemplo: o Utilizador n.º 1 é o proprietário da Conta n.º 1. O Utilizador n.º 1 partilha a Conta n.º 1 com o Utilizador n.º 2. O Utilizador n.º 2 cria um Caso n.º 1 abaixo da Conta n.º 1. Com as opções de re-hierarquização de origem, o Utilizador n.º 1 tem acesso ao Caso n.º 1. Todas estas permissões de utilizador são capturadas na tabela POA.

Origem da partilha

A API RetrieveAccessOrigin pode ser utilizada para determinar a origem do acesso de um utilizador ou de uma equipa a uma tabela específica. A API necessita de um objectId, logicalName e principalId no pedido, e a resposta é uma cadeia que descreve onde o acesso à tabela foi obtido.

Gestão do crescimento da tabela POA

  • Avalie as necessidades do seu negócio e ative Definir se os registos reatribuídos são partilhados com o proprietário original sempre que necessário. Note que se trata de uma definição ao nível do sistema. Depois de ativada, a definição é aplicada a todos os registos.
  • Partilhe com os utilizadores para colaboração onde a lista de utilizadores não é a mesma nos diferentes registos que partilhou.
  • Utilize a equipa como a proprietária do registo se partilhar frequentemente registos com a mesma lista de utilizadores ou partilhar o registo com a equipa.
  • Se tiver uma estrutura de unidade de negócio complexa e utilização frequente de partilha:
    • Partilhe apenas quando for necessário.
    • Minimize o número de unidades de negócio.
    • Certifique-se de que os utilizadores são colocados na unidade de negócio apropriada.
    • Partilhe com a equipa para permitir que os utilizadores de diferentes unidades de negócio acedam a registos.
  • Quando várias equipas de acesso podem aceder a um registo – por exemplo, uma equipa de representante de vendas que só pode ler o registo e outra equipa de gestor de vendas com acesso total de leitura e de escrita – considere utilizar diferentes formulários baseados em funções para representantes de vendas e gestores de vendas.
  • Gerir o ciclo de vida dos membros da sua equipa de acesso. Remover utilizadores que já não são necessários para a colaboração.
  • Remover todos os membros da equipa de acesso quando a colaboração terminar.

Eliminar registos POA

A tabela POA é gerida pelo sistema para assegurar o acesso adequado dos utilizadores ou equipas aos respetivos registos. A eliminação direta nesta tabela não é suportada, uma vez que pode quebrar o modelo de segurança definido para a organização. A forma correta de limpar a tabela POA é ajustar o modelo de segurança e revogar o acesso que foi previamente concedido.

Guias de resolução de problemas

Quando a configuração em cascata de uma relação de tabela é alterada de Re-hierarquizar ou Partilhar para Sem Cascata, utilize este artigo para limpar o acesso herdado. Isto remove registos POA desnecessários. Mais informações: Como limpar o acesso herdado.

A limpeza de direitos de acesso herdados é uma tarefa de sistema que limpa os direitos de acesso herdados legados que permanecem depois de o comportamento em cascata ser alterado para Sem Cascata. Para obter mais informações: Limpeza de direitos de acesso herdados

Para saber se o acesso de utilizador foi concedido devido a POA, consulte Determinar porque é que um utilizador tem acesso.

Consulte também

Capacidade de armazenamento do Dataverse