Segurança baseada em propriedade no Microsoft Dataverse

O Dataverse fornece um modelo de segurança flexível para muitos cenários de negócios. O modelo se aplica somente a ambientes que têm um banco de dados do Dataverse. Como administrador, você gerencia os usuários, verifica a configuração de segurança e soluciona problemas de acesso.

Segurança baseada em funções

Dataverse usa funções de segurança para agrupar privilégios. Atribua funções de segurança diretamente aos usuários ou às equipes do Dataverse. Os membros da equipe recebem os privilégios atribuídos à equipe.

Os privilégios de segurança são cumulativos. Um usuário recebe o acesso mais amplo concedido por todas as suas funções e associações de equipe. Por exemplo, se uma função conceder acesso de leitura no nível da organização a todos os registros de contato, outra função não poderá ocultar um contato específico do usuário.

Unidades de negócios

Gorjeta

Assista a Modernizar unidades de negócio.

As unidades de negócios funcionam com funções de segurança para determinar o acesso de um usuário. Eles definem limites de segurança que ajudam você a gerenciar usuários e dados. Cada banco de dados do Dataverse tem uma unidade de negócios raiz.

Crie unidades de negócios secundárias para dividir usuários e dados em fronteiras de segurança menores. Cada usuário em um ambiente pertence a uma unidade de negócios. Sua estrutura de unidade de negócios pode corresponder à hierarquia organizacional, mas não precisa.

Os exemplos a seguir usam três unidades de negócios. Woodgrove é a unidade de negócios raiz e permanece no topo da hierarquia. As divisões A e B são unidades de negócios filho. Os usuários de cada divisão têm necessidades de acesso diferentes.

Estrutura hierárquica de acesso a dados

Use uma estrutura hierárquica para separar usuários e dados em uma hierarquia semelhante a uma árvore.

Atribua cada usuário a uma unidade de negócios e atribua ao usuário uma função de segurança dessa unidade de negócios. Por padrão, a unidade de negócios do usuário possui registros que o usuário cria. A função de segurança determina quais registros o usuário pode acessar nessa unidade de negócios.

Neste exemplo, o usuário A pertence à Divisão A e tem a função de segurança Y da Divisão A. O usuário A pode acessar o Contato nº 1 e o Contato nº 2. O usuário B pertence à Divisão B, portanto, o usuário B não pode acessar os contatos da Divisão A, mas pode acessar o Contato nº 3.

Diagrama de unidades de negócios hierárquicas em que o usuário A acessa os contatos da Divisão A e o usuário B acessa o Contato nº 3 da Divisão B.

Estrutura de acesso a dados de matriz (unidades de negócios modernizadas)

Use uma estrutura de matriz para organizar dados em uma hierarquia semelhante a uma árvore, permitindo que os usuários acessem dados em várias unidades de negócios, independentemente da unidade de negócios à qual pertencem.

Atribua ao usuário uma função de segurança de cada unidade de negócios cujos dados eles precisam acessar. Quando o usuário cria um registro, ele pode selecionar a unidade de negócios que o possui.

Neste exemplo, o usuário A pode pertencer a qualquer unidade de negócios, incluindo a unidade de negócios raiz. A função de segurança Y da Divisão A concede ao usuário A acesso ao Contato nº 1 e ao Contato nº 2. A função de segurança Y da Divisão B fornece ao usuário A acesso ao Contato nº 3.

Diagrama mostrando o usuário A acessando contatos na Divisão A e divisão B por meio da função Y atribuída de cada unidade de negócios.

Habilitar a estrutura de acesso a dados da matriz

Observação

Antes de habilitar esse recurso, publique todas as personalizações para que o recurso se aplique a novas tabelas. Se uma tabela não publicada não funcionar corretamente após ativar o recurso, use a ferramenta OrgDBOrgSettings para Microsoft Dynamics CRM para definir RecomputeOwnershipAcrossBusinessUnits como true. Essa configuração permite que você defina e atualize a coluna Unidade de Negócios Proprietária .

  1. Entre no centro de administração do Power Platform como administrador Dynamics 365 ou administrador Microsoft Power Platform.
  2. No painel de navegação, selecione Gerenciar.
  3. No painel Gerenciar , selecione Ambientes e selecione o ambiente.
  4. Selecione Definições>Produto>Recursos.
  5. Ative a propriedade do registro em todas as unidades de negócios.
  6. Selecione Salvar.

Depois de ativar o recurso, selecione uma unidade de negócios ao atribuir uma função de segurança a um usuário. Essa opção permite atribuir funções de unidades de negócios diferentes ao usuário. Para executar aplicativos baseados em modelos, o usuário também precisa de uma função de sua própria unidade de negócios que inclua os privilégios de configurações de usuário necessários. A função Usuário Básico mostra quais privilégios de configurações de usuário habilitar.

Você pode tornar um usuário o proprietário do registro em qualquer unidade de negócios se uma das funções de segurança dele conceder privilégio de Leitura na tabela do registro. O usuário não precisa de uma função de segurança da unidade de negócios proprietária do registro. Para obter mais informações, consulte Propriedade de registro em unidades de negócios modernizadas.

Observação

A configuração EnableOwnershipAcrossBusinessUnits armazena o estado desse recurso. Você também pode alterar a configuração com a ferramenta OrgDBOrgSettings para Microsoft Dynamics CRM.

Associar uma unidade de negócios a um grupo de segurança do Microsoft Entra

Mapeie unidades de negócios para grupos de segurança do Microsoft Entra para simplificar o gerenciamento de usuários e a atribuição de funções.

Crie um grupo de segurança Microsoft Entra para cada unidade de negócios.

Para cada unidade de negócios:

  1. Crie um grupo de segurança do Microsoft Entra.
  2. Crie uma equipe de grupo do Dataverse para o grupo de segurança.
  3. Atribua a função de segurança da unidade de negócios à equipe de grupo do Dataverse.
  4. Adicione usuários ao grupo de segurança Microsoft Entra.

Quando um usuário acessa o ambiente pela primeira vez, o Dataverse cria o usuário na unidade de negócios raiz. O usuário e as equipes de grupo do Dataverse podem permanecer na unidade de negócios raiz. Suas funções de segurança atribuídas concedem acesso aos dados nas unidades de negócios correspondentes.

Para acesso a dados de matriz, adicione usuários ao grupo de segurança Microsoft Entra para cada unidade de negócios que eles precisam acessar.

Unidade de negócios proprietária

Cada registro tem uma coluna chamada Unidade de Negócios Proprietária que identifica a unidade de negócios à qual o registro pertence. Quando um usuário cria um registro, a coluna usa como padrão a unidade de negócios do usuário. Você só pode alterar o valor quando a propriedade dos registros entre unidades de negócios estiver habilitada.

Observação

Alterar a unidade de negócios proprietária pode causar alterações em cascata. Para obter mais informações, consulte Usar o SDK para .NET para configurar o comportamento em cascata.

Para permitir que um usuário defina a coluna Unidade de Negócios proprietária, conceda à função de segurança do usuário o privilégio Anexar a no nível local da tabela Unidade de Negócios.

Adicione a coluna a:

Observação

Se um trabalho de sincronização de dados incluir a Unidade de Negócios Proprietária em seu esquema, o trabalho falhará com uma violação de restrição de chave estrangeira quando o ambiente de destino não contiver o mesmo valor. Remova a coluna do esquema de origem ou altere seu valor de origem para uma unidade de negócios que existe no ambiente de destino.

Ao copiar dados para um recurso externo, como o Power BI, inclua Unidade de Negócios Proprietária somente se o destino oferecer suporte à coluna.

Propriedade de tabelas e registros

O Dataverse dá suporte a dois tipos de propriedade de registro:

  • Propriedade da organização: Um privilégio se aplica a todos os registros ou não se aplica.
  • De propriedade do usuário ou da equipe: A maioria dos privilégios oferece suporte aos níveis de acesso de usuário, unidade de negócios, unidade de negócios pai e filho e organização.

Você seleciona o tipo de propriedade ao criar uma tabela e não pode alterá-la mais tarde. Por exemplo, o acesso Leitura de nível de usuário à tabela Contato permite que os usuários leiam apenas os registros de contato dos quais são proprietários.

Se o usuário A pertence à Divisão A e tem acesso Read no nível da unidade de negócios à tabela de Contato, o usuário A pode ler o Contato #1 e o Contato #2, mas não o Contato #3.

Ao configurar uma função de segurança, selecione um nível de acesso para cada privilégio.

Captura de tela da guia Registros Principais da função de segurança mostrando Criar por meio de níveis de privilégio de compartilhamento, com a tabela Contato realçada.

Configure os privilégios de tabela padrão separadamente: Criar, Ler, Gravar, Excluir, Acrescentar, Acrescentar, Atribuir e Compartilhar. O ícone de privilégio mostra o nível de acesso concedido.

Captura de tela da chave de privilégio de função de segurança mostrando ícones para Nenhum Selecionado, Usuário, Unidade de Negócios, Pai: Unidades de Negócios Filho e Organização.

Neste exemplo, o acesso no nível da organização à tabela Contato permite que um usuário na Divisão A visualize e atualize contatos pertencentes a qualquer pessoa. Conceda apenas o acesso de que os usuários precisam. Privilégios amplos podem enfraquecer um modelo de segurança bem projetado.

Registrar a propriedade em unidades de negócios modernizadas

Com unidades de negócios modernizadas, os usuários podem possuir registros em qualquer unidade de negócios. Um usuário precisa de um perfil de segurança em qualquer unidade de negócios que conceda o privilégio de Leitura na tabela do registro. O usuário não precisa de uma função de cada unidade de negócios que contenha um registro do qual ele é proprietário.

Se você habilitou propriedade de registros entre unidades de negócios em um ambiente de produção durante o período de visualização:

  1. Instale o editor de Configurações da Organização.
  2. Defina RecomputeOwnershipAcrossBusinessUnits como true. O sistema fica bloqueado durante o recálculo, que pode levar até cinco minutos. Após o recálculo, os usuários podem possuir registros entre unidades de negócios sem uma função de segurança separada de cada unidade de negócios. Os proprietários de registro também podem atribuir registros a usuários fora da unidade de negócios proprietária do registro.
  3. Defina AlwaysMoveRecordToOwnerBusinessUnit para false. Os registros permanecem na unidade de negócios proprietária original quando a propriedade é alterada.

Para ambientes de não produção, defina AlwaysMoveRecordToOwnerBusinessUnit como false.

Observação

Se você desativar propriedade de registros entre unidades de negócios ou definir RecomputeOwnershipAcrossBusinessUnits como false, não será possível definir ou atualizar a coluna Unidade de Negócios proprietária. O Dataverse também altera a unidade de negócios proprietária de cada registro afetado para corresponder à unidade de negócios do proprietário do registro.

Equipes (incluindo equipes de grupo)

Cada equipe pertence a uma unidade de negócios. O Dataverse cria automaticamente uma equipe padrão para cada unidade de negócios e gerencia sua associação. A equipe padrão sempre inclui todos os usuários na unidade de negócios. Você não pode adicionar ou remover manualmente seus membros. O Dataverse atualiza a associação quando você associa ou desassocia os usuários à unidade de negócios.

O Dataverse fornece dois tipos de equipes:

  • As equipes proprietárias podem possuir registros. Cada membro da equipe recebe acesso direto aos registros da equipe. Um usuário pode pertencer a várias equipes proprietárias.
  • As equipes de acesso fornecem acesso a registros compartilhados, mas não possuem registros ou têm funções de segurança.

Compartilhamento de registros

Compartilhe registros individuais com um usuário ou equipe para lidar com exceções que seu modelo de unidade de negócios e propriedade não abrange. Use o compartilhamento apenas para exceções porque ele tem um desempenho menos eficiente e pode ser mais difícil de solucionar problemas do que o acesso baseado em função. O compartilhamento com uma equipe é mais eficiente do que compartilhar separadamente com cada usuário.

Use um modelo de equipe de acesso para criar uma equipe de acesso automaticamente e definir suas permissões para um registro. Você também pode criar equipes de acesso sem um modelo e gerenciar seus membros manualmente. As equipes de acesso não possuem registros e não podem ter funções de segurança. Os membros da equipe recebem acesso porque o registro é compartilhado com a equipe.

Segurança no nível de registro no Dataverse

O acesso aos registros de um usuário é determinado pela combinação de todas as suas funções de segurança, seu vínculo com a unidade de negócios, suas participações em equipes e os registros compartilhados. O acesso é cumulativo em um banco de dados do Dataverse. O Dataverse controla o acesso separadamente para cada banco de dados e o usuário deve ter uma licença apropriada do Dataverse.

Segurança em nível de coluna no Dataverse

Use a segurança em nível de coluna quando a segurança em nível de registro não fornecer controle suficiente. Habilite-o para todas as colunas personalizadas e a maioria das colunas do sistema. A maioria das colunas do sistema que contêm informações de identificação pessoal (PII) dão suporte à segurança em nível de coluna. Os metadados de uma coluna do sistema indicam se você pode protegê-la.

Habilite a segurança em nível de coluna separadamente para cada coluna. Em seguida, crie um perfil de segurança de coluna que conceda permissões de Criar, Atualizar e Ler para colunas protegidas. Atribua o perfil a usuários ou equipes.

A segurança em nível de coluna não concede acesso a um registro. Um usuário já deve ter acesso de registro antes que um perfil de segurança de coluna possa conceder acesso a colunas protegidas. Use a segurança em nível de coluna somente quando necessário, pois o uso excessivo pode reduzir o desempenho.

Gerenciar a segurança em vários ambientes

Use soluções do Dataverse para mover funções de segurança e perfis de segurança de coluna entre ambientes. Crie e gerencie equipes e unidades de negócios separadamente em cada ambiente. Você também deve atribuir usuários aos componentes de segurança apropriados em cada ambiente.

Configurar segurança do usuário

Depois de criar funções, equipes e unidades de negócios, configure o acesso de cada usuário:

  1. Associe o usuário a uma unidade de negócios. O Dataverse usa a unidade de negócios raiz por padrão e adiciona o usuário à equipe padrão dessa unidade de negócios.
  2. Atribua as funções de segurança de que o usuário precisa.
  3. Adicione o usuário às equipes apropriadas.
  4. Se você usar a segurança em nível de coluna, atribua um perfil de segurança de coluna ao usuário ou a uma de suas equipes.

O acesso efetivo de um usuário combina funções de segurança atribuídas diretamente com funções atribuídas por meio de equipes. O Dataverse sempre concede a permissão mais ampla dessas funções. Para obter um passo a passo detalhado, consulte Configurar a segurança do ambiente.

Coordene as principais alterações de segurança com os criadores de aplicativos e os administradores que gerenciam permissões de usuário antes de implantar as alterações.

Consulte também