Conceitos de segurança no Microsoft Dataverse

Um dos principais recursos do Dataverse é seu modelo rico de segurança que pode se adaptar a muitos cenários de uso empresarial. Esse modelo de segurança só funciona quando há um banco de dados do Dataverse no ambiente. Como administrador, você provavelmente não criará todo o modelo de segurança sozinho, mas estará frequentemente envolvido no processo de gerenciamento de usuários, de garantir que eles tenham a configuração adequada e de solucionar problemas relacionados ao acesso à segurança.

Segurança baseada em funções

O Dataverse usa a segurança baseada em função para agrupar uma coleção de privilégios. Esses direitos de acesso podem estar associados diretamente aos usuários, ou podem estar associadas com equipes e unidades de negócios do Dataverse. Os usuários podem então ser associados à equipe e, assim, todos os usuários associados à equipe se beneficiarão da função. O conceito principal de segurança do Dataverse é entender que todos os privilégios oferecidos são cumulativos com a maior quantidade de acesso prevalecendo. Se você concedeu acesso de leitura de nível amplo de organização a todos os registros do contato, não poderá voltar e ocultar um único registro.

Unidades de negócios

Dica

Símbolo de vídeo Confira o seguinte vídeo: Modernizar unidades de negócios..

As unidades de negócios trabalham com direitos de acesso para determinar a segurança efetiva de um usuário. Unidades de negócios são um bloco de construção de modelo de segurança que ajuda a gerenciar usuários e os dados que podem acessar. Unidades de negócios definem um limite de segurança. Cada banco de dados do Dataverse tem uma unidade de negócios raiz.

Você pode criar divisões secundárias para ajudar a segmentar seus usuários e dados. Cada usuário atribuído a um ambiente pertencerá a uma unidade de negócios. Enquanto as unidades de negócios podem ser usadas como modelo 1:1, uma verdadeira hierarquia de organização, mais eles aprendem sobre limites de segurança para ajudar a alcançar as necessidades de modelo de segurança.

Para entender melhor, vamos dar uma olhada no exemplo a seguir. Temos três unidades de negócios. O Woodgrove é a unidade de negócios raiz e sempre será exibida na parte superior, que não pode ser alterada. Criamos duas outras unidades de negócios filho, A e B. Os usuários dessas unidades de negócios têm necessidades de acesso muito diferentes. Se associarmos um usuário a esse ambiente, podemos definir o usuário a estar em uma dessas três unidades de negócios. Onde o usuário é associado determinará qual unidade de negócios terá os registros dos quais o usuário é proprietário. Com essa associação, podemos personalizar um direito de acesso para permitir que usuário veja todos os registros nessa unidade de negócios.

Estrutura hierárquica de acesso a dados

Os clientes podem usar uma estrutura organizacional em que os dados e o usuário sejam compartimentados em uma hierarquia estilo árvore.

Quando associamos um usuário a este ambiente, podemos definir o usuário para estar em uma dessas três unidades de negócios e atribuir um direito de acesso da unidade de negócios ao usuário. A unidade de negócios à qual o usuário está associado determina a unidade de negócios que possui os registros quando o usuário cria um registro. Por ter essa associação, podemos personalizar um direito de acesso que permite ao usuário ver os registros dessa unidade de negócios.

O usuário A está associado à Divisão A e recebe um direito de acesso Y da Divisão A. Isso permite que o usuário A acesse os registros do Contato nº 1 e do Contato nº 2. Enquanto o usuário B na Divisão B não pode acessar os registros de contato da Divisão A, mas pode acessar o registro do Contato nº 3.

Exemplo de estrutura de acesso a dados de matriz

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

Os clientes podem usar uma estrutura organizacional onde os dados são compartimentados em uma hierarquia estilo árvore, e os usuários podem trabalhar e acessar os dados de qualquer unidade de negócios, independentemente da unidade de negócios à qual o usuário está atribuído.

Se associarmos um usuário a esse ambiente, podemos definir o usuário a estar em uma dessas três unidades de negócios. Para cada unidade de negócios que um usuário precisa para acessar dados, um direito de acesso dessa unidade de negócios é atribuído ao usuário. Quando o usuário cria um registro, ele pode definir a unidade de negócios como proprietária do registro.

O usuário A pode ser associado a qualquer uma das unidades de negócios, incluindo a unidade de negócios raiz. Um direito de acesso Y da Divisão A é atribuído ao usuário A, o que dá ao usuário acesso aos registros do Contato nº 1 e do Contato nº 2. Um direito de acesso Y da Divisão B é atribuído ao usuário A, o que dá ao usuário acesso ao registro do Contato nº 3.

Exemplo de estrutura hierárquica de acesso a dados

Habilitar a estrutura de acesso a dados da Matriz

Observação

Antes de habilitar esse recurso, você precisa publicar todas as suas personalizações para habilitar todas as novas tabelas não publicadas para o recurso. Se você achar que tem tabelas não publicadas que não estão funcionando com esse recurso depois de ativá-lo, defina a configuração RecomputeOwnershipAcrossBusinessUnits usando a Ferramenta OrgDBOrgSettings para o Microsoft Dynamics CRM. Definir RecomputeOwnershipAcrossBusinessUnits como true permite que o campo Unidade de Negócios Proprietária seja definido e atualizado.

  1. Entre no centro de administração da Power Platform como um administrador (administrador do Dynamics 365, administrador global ou administrador da Microsoft Power Platform).
  2. Selecione Ambientes e escolha o ambiente para o qual deseja ativar esse recurso.
  3. Selecione Definições>Produto>Recursos.
  4. Ative a opção Propriedade do registro em unidades de negócios.

Depois que esse recurso for ativado, você poderá selecionar a unidade de negócios ao atribuir um direito de acesso a um usuário. Isso permite que você atribua direito de acesso de diferentes unidades de negócios a um usuário. O usuário também requer um direito de acesso da unidade de negócios à qual esteja atribuído com privilégios de configurações do usuário para executar aplicativos baseados em modelo. Você pode consultar o direito de acesso Usuário básico para saber como esses privilégios de configuração do usuário são ativados.

Você pode atribuir um usuário como proprietário do registro em qualquer unidade de negócios sem a necessidade de atribuir um direito de acesso na unidade de negócios proprietária do registro, desde que o usuário tenha um direito de acesso com privilégio de leitura na tabela de registros. Consulte Propriedade de registros em unidades de negócios modernizadas.

Nota

Esta alternância de recursos está armazenada na configuração EnableOwnershipAcrossBusinessUnits e também pode ser definida com a Ferramenta OrgDBOrgSettings para o Microsoft Dynamics CRM.

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

Você pode usar um grupo de segurança do Microsoft Entra para mapear sua unidade de negócios para simplificar a administração dos usuários e a atribuição de funções.

Crie um grupo de segurança do Microsoft Entra para cada unidade de negócios e atribua o direito de acesso da respectiva unidade de negócios a cada equipe do grupo.

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

Para cada unidade de negócios, crie um grupo de segurança do Microsoft Entra. Crie uma equipe do grupo do Dataverse para cada grupo de segurança do Microsoft Entra. Atribua o respectivo direito de acesso da unidade de negócios a cada equipe do grupo do Dataverse. O usuário no diagrama acima será criado na unidade de negócios raiz quando o usuário acessar o ambiente. Não há problemas se o usuário e as equipes do grupo do Dataverse estiverem na unidade de negócios raiz. Eles só têm acesso aos dados na unidade de negócios onde o direito de acesso está atribuído.

Adicione usuários ao respectivo grupo de segurança do Microsoft Entra para conceder a eles acesso à unidade de negócios. Os usuários poderão executar o aplicativo imediatamente e acessar seus recursos/dados.

No acesso a dados de matriz, em que os usuários podem trabalhar e acessar dados de várias unidades de negócios, adicione os usuários ao grupos de segurança do Microsoft Entra mapeados para essas unidades de negócios.

Unidade de Negócios proprietária

Cada registro tem uma coluna Unidade de Negócios Proprietária que determina qual unidade de negócios tem a propriedade do registro. Esta coluna é padronizada para a unidade de negócios do usuário quando o registro é criado e não pode ser alterado, exceto quando a opção de recurso é ativada.

Nota

Ao alterar qual unidade de negócios possui um registro, verifique se estes itens apresentam efeitos em cascata: Usando SDK para .NET para configurar o comportamento em cascata.

É possível gerenciar se você deseja permitir que o usuário defina a coluna Unidade de Negócios Proprietária quando a opção de recurso estiver ATIVADA. Para definir a coluna Unidade de Negócios Proprietária, é necessário conceder ao usuário o direito de acesso ao privilégio Anexar a da tabela da unidade de negócios com permissão do nível local.

Para permitir que o usuário configure esta coluna, você pode habilitá-la com estes recursos:

  1. Formulário — corpo e cabeçalho.
  2. Visualização.
  3. Mapeamentos de colunas. Se estiver usando o AutoMapEntity, poderá especificar a coluna no mapeamento de coluna.

Nota

Se você tiver um trabalho/processo para sincronizar dados entre ambientes e a Unidade de negócios proprietária estiver incluída como parte do esquema, seu trabalho falhará com uma violação de restrição CHAVE estrangeira se o ambiente de destino não tiver o mesmo valor de Unidade de negócios proprietária.

Você pode remover a coluna Unidade de Negócios Proprietária do esquema de origem ou atualizar o valor da coluna Unidade de Negócios Proprietária da Origem para qualquer uma das unidades de negócios do destino.

Se tiver um trabalho/processo para copiar dados de um ambiente para um recurso externo, por exemplo PowerBI, você precisará selecionar ou desmarcar a coluna Unidade de Negócios Proprietária de sua fonte. Selecione o campo se o recurso puder recebê-lo, caso contrário, desmarque-o.

Propriedade de tabela/registro

O Dataverse dá suporte a dois tipos de propriedade de registro. Propriedade da Organização e propriedade do Usuário ou da Equipe. Essa é uma opção que ocorre no momento em que a tabela é criada e não pode ser alterada. Para fins de segurança, para os registros que são propriedade da organização, as únicas opções de nível de acesso são se o usuário pode executar a operação ou não. Para registros de propriedade do usuário e da equipe, as opções de nível de acesso para a maioria dos privilégios são Organização em camadas, Unidade de negócios, Unidade de negócios e Unidade de negócios filho ou apenas os próprios registros do usuário. Isso significa que para ler privilégios sobre o contato, eu posso definir como pertencido ao usuário e o usuário veria apenas seus próprios registros.

Para dar outro exemplo, digamos que o Usuário A está associado com a Divisão A e damos a eles acesso a leitura de nível de Unidade de negócios sobre Contato. Eles conseguiriam ver o contato nº 1 e nº 2, mas não o contato nº 3.

Ao configurar ou editar privilégios de direito de acesso, você está definindo o nível de acesso para cada opção. O exemplo a seguir é do editor de privilégio de direito de acesso.

Privilégios de direito de acesso.

Acima, você pode ver os tipos de privilégio padrão para cada tabela Criar, Ler, Gravar, Excluir, Anexar, Anexar a, Atribuir e Compartilhar. Você pode editar cada um deles individualmente. A exibição visual de cada um corresponderá à chave abaixo quanto ao nível de acesso que você concedeu.

Principais privilégios de direito de acesso.

No exemplo acima, demos acesso em nível organizacional ao Contato, o que significa que o usuário na Divisão A pode ver e atualizar contatos pertencidos por qualquer um. Na verdade, um dos erros administrativos mais comuns é se frustrar com permissões e dar acesso demais. Muito rapidamente, um modelo de segurança bem feito começa parecendo com um queijo suíço (cheio de buracos!).

Propriedade de registros em unidades de negócios modernizadas

Em Unidades de negócios modernizadas, você pode ter usuários como proprietários de registros em qualquer unidade de negócios. Todos os usuários precisam de um direito de acesso (qualquer unidade de negócios) que tenha privilégio de leitura na tabela de registros. Os usuários não precisam ter um direito de acesso atribuído em cada unidade de negócios onde o registro reside.

Se Propriedade do registro em unidades de negócios foi habilitada em seu ambiente de produção durante o período de versão prévia, será necessário realizar as seguintes ações para habilitar esta propriedade de registro na unidade de negócios:

  1. Instalar o Editor de Configurações da Organização
  2. Defina as configurações da organização RecomputeOwnershipAcrossBusinessUnits como verdadeiras. Quando essa configuração é definida como true, o sistema é bloqueado e pode levar até 5 minutos para fazer o recálculo para habilitar o recurso em que os usuários agora podem possuir registros em unidades de negócios sem a necessidade de ter um direito de acesso separado atribuído de cada unidade de negócios. Isso permite que o proprietário de um registro atribua esse registro a alguém fora da unidade de negócios proprietária do registro.
  3. Defina AlwaysMoveRecordToOwnerBusinessUnit como falso. Isso faz com que o registro permaneça na unidade de negócios proprietária original quando a propriedade do registro for alterada.

Para todos os ambientes de não produção, só é necessário definir AlwaysMoveRecordToOwnerBusinessUnit como falso para usar esse recurso.

Nota

Se você desativar o recurso Propriedade do registro em unidades de negócios ou definir a configuração RecomputeOwnershipAcrossBusinessUnits como false usando a ferramenta OrgDBOrgSettings para Microsoft Dynamics CRM, não será possível definir ou atualizar o campo Unidade de Negócios Proprietária, e todos os registros nos quais o campo Unidade de Negócios Proprietária for diferente da unidade de negócios do proprietário serão atualizados para a unidade de negócios do proprietário.

Equipes (incluindo equipes de grupo)

As equipes são outro importante bloco de construção da segurança. As equipes são de propriedade de uma Unidade de Negócios. Cada Unidade de Negócios tem uma equipe padrão que é criada automaticamente quando a Unidade de Negócios é criada. Os membros da equipe padrão são gerenciados pelo Dataverse e sempre contêm todos os usuários associados a essa Unidade de Negócios. Não é possível adicionar ou remover membros da equipe padrão manualmente, eles são ajustados de forma dinâmica pelo sistema como novos usuários são associados/desassociados de unidades de negócios. Existem dois tipos de equipes, equipes proprietárias e de acesso.

  • Equipes proprietárias podem possuir registros, o que dá a qualquer membro da equipe acesso direto a esse registro. Os usuários podem ser membros de várias equipes. Isso a torna uma maneira poderosa de dar permissões aos usuários de forma ampla sem acesso de microgerenciamento no nível de usuário individual.
  • As equipes de acesso são discutidas na próxima seção como parte do compartilhamento de registros.

Compartilhamento de registros

Os registros individuais podem ser compartilhados um a um com outro usuário. Essa é uma forma eficiente de manipular exceções que não vão para o proprietário do registro ou é um membro de um modelo de acesso de unidade de negócios. No entanto, deve ser uma exceção, pois é uma forma menos eficaz de controlar o acesso. Os problemas de compartilhamento são mais complexos porque esse controle de acesso não tem uma implementação consistente. O compartilhamento pode ser feito no nível de usuário e de equipe. O compartilhamento com uma equipe é mais eficiente. Um conceito mais avançado de compartilhamento com Equipes de Acesso, que fornece criação automática de uma equipe e compartilhamento de acesso de registro com a equipe baseado em um Modelo de Equipe de Acesso (modelo de permissões) que é aplicado. As equipes de acesso também podem ser usadas sem os modelos, apenas com a adição/remoção manual de seus membros. As equipes de acesso são mais eficazes porque não permitem a posse de registros pela equipe ou ter direitos de acesso atribuídos à equipe. Os usuários obtém acesso ao registro compartilhado com a equipe e o usuário é um membro.

Segurança no nível de registro no Dataverse

Talvez você esteja se perguntando - o que determina acesso a um registro? Soa como uma pergunta simples, mas para qualquer usuário é a combinação de todos os seus direitos de acesso, a unidade de negócios com a qual estão associados, as equipes das quais são membros e os registros que são compartilhados com eles. É importante lembrar que todo acesso é cumulativo entre todos aqueles conceitos no escopo de um ambiente de banco de dados do Dataverse. Esses direitos são concedidos apenas em um único banco de dados e são rastreados individualmente em cada banco de dados do Dataverse. Isso tudo requer que eles tenham uma licença apropriada para acessar o Dataverse.

Segurança em nível de coluna no Dataverse

Ás vezes, controle de nível de registro de acesso não é adequado para alguns cenários empresariais. O Dataverse tem um recurso de segurança em nível de coluna para permitir um controle mais granular da segurança no nível da coluna. A segurança no nível da coluna pode ser habilitada em todas as colunas personalizados e na maioria das colunas de sistema. A maioria das colunas de sistema que inclui informações pessoais identificáveis (PII) é capaz de ser protegida individualmente. Cada metadados de coluna define se é uma opção disponível para a coluna do sistema.

A segurança de nível de coluna é habilitada coluna por coluna. O acesso é gerenciado criando um perfil de segurança de coluna. O perfil contém todas as colunas que possuem acesso no nível de campo habilitado e o acesso fornecido pelo perfil específico. Cada coluna pode ser controlada no perfil para acesso Criar, Atualizar e Ler. Perfis de segurança de coluna são associados a um usuário ou equipes para oferecer esses privilégios aos usuários dos registros aos quais já têm acesso. É importante observar que a segurança em nível de coluna não tem qualquer relação com a segurança em nível de registro. Um usuário já deve ter acesso ao registro do Perfil de Segurança de Coluna para conceder qualquer acesso às colunas. A segurança em nível de coluna pode ser usada conforme necessário e não excessivamente, já que pode adicionar sobrecarga que é prejudicial se usada em excesso.

Gerenciamento de segurança entre vários ambientes

Direitos de acesso e perfis de segurança de coluna podem ser empacotados e movidos de um ambiente a outro usando soluções do Dataverse. As unidades de negócios e as equipes devem ser criadas em cada ambiente juntamente com a atribuição de usuários aos componentes de segurança necessários.

Configuração de segurança de ambiente de usuários

Depois que funções, equipes e unidades de negócios forem criadas em um ambiente, é hora de atribuir aos usuários suas configurações de segurança. Primeiro, ao criar um usuário, você o associará a uma unidade de negócios. Por padrão, essa é a unidade de negócios raiz na organização. Eles também são adicionados à equipe padrão dessa unidade de negócios.

Além disso, você as atribuiria quaisquer direitos de acesso que o usuário precisa. Você também os adicionaria como membros de quaisquer equipes. Lembre-se de que as equipes também podem ter direitos de acesso, portanto, os direitos reais do usuário são a combinação de direitos de acesso atribuídos diretamente e os direitos de quaisquer equipes das quais sejam membros. A segurança é sempre aditiva, oferecendo a permissão menos restritiva de qualquer um de seus direitos. A seguir veja um bom passo a passo para configurar segurança de ambiente.

Se você tiver usado segurança em nível de coluna, precisará associar o usuário ou uma equipe do usuário a um dos Perfis de Segurança de Coluna que você criou.

A segurança é um artigo complexo e é melhor realizado como um esforço conjunto entre os fabricantes de aplicativos e a equipe que administra as permissões dos usuários. Qualquer alteração maior deve ser coordenada bem antecipadamente à implantação das mudanças no ambiente.

Consulte também

Configurar segurança do ambiente
Direitos de acesso e privilégios