Acesso ao Dataverse

Concluído

Os dados devem ser sempre considerados um ativo valioso. Portanto, é importante que o projeto de segurança crie um modelo de segurança que garanta o uso e o acesso adequados a esse ativo valioso. O Microsoft Dataverse armazena os dados do Microsoft Power Platform e oferece serviços aos aplicativos. O Microsoft Power Platform conta com segurança em camadas para controlar o acesso a um ambiente Dataverse, mas depois que um usuário acessa o ambiente, o arquiteto de soluções precisa controlar o acesso dentro do banco de dados. Um recurso importante do Dataverse é o modelo de segurança avançado que pode se adaptar a vários cenários de uso comercial.

Diagrama dos recursos de API do Dataverse.

Autorização

Autorização é a função que especifica os direitos de acesso, ou privilégios, aos recursos. O projeto de segurança implementa a autorização para acessar dados e recursos. Decidir quem pode obter acesso e a quais dados e serviços é uma parte essencial do projeto de qualquer solução.

Um projeto de segurança inadequado pode levar a um design de sistema deficiente, e esses fatores podem ter um impacto de longo alcance e podem ser caros para corrigir:

  • Gerenciabilidade: dificuldade em gerenciar o acesso individual.
  • Desempenho: por exemplo, crescimento da tabela PrincipalAccessObject (POA) ao compartilhar.
  • Usabilidade: procedimentos complicados para conceder acesso.
  • Visibilidade: impossível discernir quem tem acesso ao registro.

Cada solução tem requisitos únicos, mas é possível identificar e reutilizar recursos e padrões comuns.

Padrões comuns

Os padrões de uso comuns em vários aplicativos de negócios incluem:

  • Envolvimento ativo: envolvimento frequente e significativo diretamente com o cliente e os dados. Informado, com conhecimento existente do cliente/dados e da atividade relacionada atual, além de ações pessoais com base em um relacionamento direto com as pessoas envolvidas.
  • Envolvimento secundário: envolvimento informado, mantendo o conhecimento ativo da atividade, mas sem participar diretamente ou agir com o cliente ou com base nos dados, como oferecer cobertura para ausência de funcionários ativamente envolvidos. Ajudar outras pessoas que tenham um relacionamento pessoal com o cliente, como aconselhar ou prestar atendimento a pessoas ativamente envolvidas ou providenciar conhecimento especializado a dados ou a um cliente específico.
  • Interação transacional: envolvimento orientado por atividades específicas, por exemplo, receber e atender a uma solicitação para atualizar o endereço de um cliente. Nenhuma participação pessoal ou contínua, como em uma central de contatos.
  • Supervisão de gerenciamento: responsabilidade gerencial ou de governança em relação a um negócio ou uma área geográfica. Exibir e direcionar o envolvimento de outras pessoas, em vez de um envolvimento específico.
  • Relatórios: relatórios comerciais agregados. Os dados são organizados para manter o anonimato em vez de conceder acesso direto a clientes/acordos.
  • Conformidade: supervisionar o acesso somente leitura a todos os registros de uma área de negócios.

Ao planejar a segurança, o arquiteto de soluções precisa saber como os usuários trabalham. Em outras palavras, ele precisa determinar se os usuários trabalham sozinhos, como parte de uma equipe estática ou em equipes dinâmicas que mudam conforme algumas regras. Esses fatores afetam o projeto de segurança. Depois de determinar esses fatores, o arquiteto de soluções precisa saber como a outra equipe oferece suporte. Por exemplo, o arquiteto de soluções deve consultar se os usuários atribuíram uma equipe de suporte e se essa equipe é compartilhada com outros usuários. O arquiteto de soluções também deve questionar o que acontecerá se a equipe de suporte não estiver disponível, o que acontecerá durante a noite e aos fins de semana e como administrar a supervisão.

Princípios de projeto

Ao planejar a segurança, os arquitetos de soluções precisam seguir alguns princípios:

  • A responsabilidade atribuída nem sempre precisa de acesso restrito.
  • Trate as exceções como exceções e prefira padrões de acesso frequentes.
  • Não é possível revogar o acesso de um registro ao qual você concedeu acesso para um conjunto mais amplo de dados que o contém.
  • Use as unidades de negócios para gerenciabilidade e contenção, e não para combinar com a estrutura organizacional.
  • Use o projeto mais simples que tenha um bom desempenho e atenda aos requisitos.

Observação

Às vezes, a estrutura organizacional se alinha à estrutura de segurança necessária, embora isso seja raro. Ao criar a segurança, não use somente a estrutura organizacional como padrão.

Recursos de segurança

O Dataverse oferece vários recursos de segurança para acessar dados:

  • Propriedade da tabela
  • Usuários
  • Equipes
  • Unidades de negócios
  • Direitos de acesso
  • Compartilhamento
  • Grupos de segurança do Microsoft Entra ID
  • Segurança em nível de coluna
  • Segurança hierárquica
  • Auditoria

Diagrama dos recursos de segurança da unidade de negócios do Dataverse.

Os arquitetos de soluções precisam conhecer cada um desses recursos e como eles se combinam para criar o modelo de segurança para a sua solução. Esta unidade não detalha cada um desses recursos de segurança, mas explica como eles podem ser usados em conjunto para criar um modelo de segurança para a sua solução.

Propriedade da tabela

As tabelas no Dataverse podem ser de propriedade do usuário/equipe ou da organização. As tabelas de propriedade do usuário/equipe têm um campo de proprietário, e cada linha da tabela pode ser atribuída a um proprietário. O proprietário de uma linha é usado com os outros recursos de segurança para determinar quem tem acesso à linha, ou seja, o acesso às linhas é granular e pode ser particionado horizontalmente. Como alternativa, o acesso a linhas individuais em tabelas de propriedade da organização não pode ser restrito, e os usuários terão acesso a todos os registros ou a nenhum registro.

Observação

Não é possível alterar o tipo de propriedade após a criação de uma tabela. Em caso de dúvida, especifique o tipo de propriedade de usuário/equipe ao criar as tabelas.

Equipes

Equipes é uma coleção de usuários que permite que eles acessem os dados. As equipes são uma forma poderosa de conceder permissões a usuários de uma maneira abrangente sem acesso por microgerenciamento no nível de usuário individual. Os usuários podem ser membros de várias equipes.

Os três tipos de equipe são:

  • Proprietária: essas equipes têm a propriedade das linhas, o que concede a qualquer membro acesso direto a essas linhas.
  • Acesso: um método para que os usuários compartilhem facilmente uma linha com outra em um formulário.
  • Grupo do Microsoft Entra ID: semelhante às Equipes proprietárias, mas a participação da equipe é controlada no Microsoft Entra ID.

Direitos de acesso

Os direitos de acesso são fundamentais para a segurança dos dados no Dataverse. Não conceda privilégios distintos aos usuários, crie direitos de acesso. O Dataverse usa a segurança baseada em função para agrupar uma coleção de privilégios.

Os direitos de acesso podem ser atribuídos a usuários e equipes. Equipes e usuários podem ter direitos de acesso com privilégios agregados.

Importante

Todas as concessões de privilégios são cumulativas, em que a maior quantidade de acesso predomina. Se você concedeu acesso de leitura no nível amplo da organização a todos os registros de contato, não poderá retroceder e ocultar um único registro.

Unidades de negócios

As unidades de negócios atuam como limites de segurança e contêm usuários e equipes. As unidades de negócios são o principal método para controlar o acesso a subconjuntos de dados em uma tabela, ou seja, para particionar os dados horizontalmente. Com as unidades de negócios, é possível segmentar os usuários e os dados deles.

Cada banco de dados do Dataverse tem apenas uma unidade de negócios raiz. É possível criar divisões secundárias para representar grupos de usuários em uma hierarquia estrita.

Diagrama de uma hierarquia de unidades de negócios.

Observação

As unidades de negócios têm uma equipe padrão que contém todos os usuários da unidade de negócios. Não é possível adicionar ou remover manualmente os usuários das equipes padrão para que eles possam se tornar bloqueadores em alguns cenários à medida que a solução evolui.

Importante

A base do modelo de segurança do Dataverse é a combinação de direitos de acesso e unidades de negócios.

As unidades de negócios são uma forma eficiente de gerenciar vários usuários e registrar acesso. As unidades de negócios não são visíveis para os usuários nos aplicativos, somente para os administradores. Você não deve somente espelhar o organograma de uma organização, mas também projetar a hierarquia de unidades de negócios para atender aos requisitos de segurança. Às vezes, essa abordagem pode envolver a criação de unidades de negócios para atender a um requisito de segurança, como controlar as unidades de negócios de Vendas e Marketing para permitir que alguns usuários as acessem e impedir o acesso à unidade de negócios Operações.

Compartilhar linhas

As linhas individuais podem ser compartilhadas com usuários e equipes. Esse recurso permite que os usuários acessem registros restritos pelo modelo de segurança gerado pelas unidades de negócios. O compartilhamento permite que as linhas sejam acessadas fora da hierarquia de unidades de negócios estrita.

Direitos de acesso e equipes

Os direitos de acesso podem ser associados a equipes. Como é possível associar usuários à equipe, todos os usuários associados à equipe se beneficiarão desses direitos. Os usuários terão acesso às linhas pertencentes à equipe e, dependendo de outros recursos de segurança, podem ter acesso a linhas que pertencem a outros usuários da equipe.

As opções de direito de acesso que controlam como ele funciona com uma equipe são:

  • Padrão: somente privilégios da equipe
  • Nível de acesso do Usuário Direto (Básico) e Privilégios da equipe

Captura de tela dos direito de acesso e detalhes das equipes.

O uso da opção Usuário Direto trata os privilégios como se tivessem sido diretamente atribuídos ao usuário. Ao usar essa opção, você evita ter que atribuir direitos de acesso aos usuários e, em vez disso, usa as equipes e os direitos de acesso atribuídos às equipes.

Observação

As equipes proprietárias pertencem a unidades de negócios. Um usuário só pode pertencer a uma unidade de negócios por vez, mas pode ser adicionado a uma equipe em outra unidade de negócios. Esse recurso permite que os usuários acessem os dados de uma unidade de negócios que não esteja na hierarquia deles.

Segurança em nível de coluna

Os privilégios concedidos pelos direitos de acesso operam no nível da linha. Se um usuário tiver privilégios de atualização em uma linha, ele poderá atualizar todas as colunas dessa linha. Em alguns casos, o controle de acesso em nível de linha não é adequado, como colunas que contêm informações de identificação pessoal. 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 em nível de coluna opera separadamente dos direitos de acesso. Os perfis de segurança da coluna definem o privilégio de leitura/gravação nas colunas e são atribuídos a usuários e equipes.

Observação

Se um usuário não tiver os privilégios para ler uma coluna protegida, ele ainda poderá ver a coluna no formulário, mas não poderá ver seu conteúdo, em outras palavras, o valor dos dados. Ao usar um código para acessar um campo protegido, o valor será nulo se o usuário não tiver privilégios de leitura.

Segurança hierárquica

Um problema com o uso de unidades de negócios é sua hierarquia estrita. O acesso aos dados pode seguir somente a hierarquia das unidades de negócios. No diagrama das unidades de negócios, um usuário em Vendas pode ter acesso às unidades de negócios Norte, Central e Sul. Por outro lado, um usuário na unidade de negócios Operações não pode acessar os dados que pertencem a Vendas sem ter acesso a todos os dados da organização.

Diagrama da segurança hierárquica de uma organização.

Na segurança hierárquica, o usuário na posição acima pode ler e gravar todos os dados de seus subordinados. Eles também podem ler os dados dos usuários que estão abaixo na hierarquia.

A segurança hierárquica é um modelo de segurança alternativo projetado para cenários em que um usuário que requer supervisão de gerenciamento não está na mesma parte da hierarquia de unidades de negócios. A segurança hierárquica é útil em situações em que os gerentes estão em países/regiões ou departamentos diferentes de seus subordinados diretos.

A segurança hierárquica tem duas opções:

  • Hierarquia de gerentes: essa opção usa a hierarquia de usuários na tabela de usuários do sistema. A restrição é que um gerente na mesma unidade de negócios ou na cadeia direta de unidades de negócios acima não pode ler e gravar os dados dos usuários em outros departamentos.
  • Hierarquia de cargos: essa opção usa a tabela de cargos. Ela é mais flexível e ignora a estrutura da unidade de negócios. A hierarquia de cargos também permite mais de uma pessoa em um cargo.

Somente um dos tipos hierárquicos pode ser usado ao mesmo tempo.

Auditoria

A auditoria captura todas as alterações de dados. A auditoria pode ajudar a monitorar quem fez as alterações e a analisar como os usuários usam o sistema. A funcionalidade de auditoria no Dataverse não captura leituras ou ações de dados, como a exportação para o Microsoft Excel.

Outras auditorias disponíveis são chamadas de log de atividades, localizadas no Centro de Conformidade e Segurança do Microsoft 365. O log de atividades inclui leituras de dados e outras operações. O log de atividades deve ser habilitado e ajuda a cumprir os objetivos de conformidade.

Gerenciar a segurança em vários ambientes

Os direitos de acesso e os perfis de segurança de coluna podem ser empacotados em soluções e transportados para outros ambientes. Os modelos Equipe de Acesso fazem parte dos metadados da tabela e são incluídos na tabela quando adicionados à solução. Outros recursos de segurança, como unidades de negócios e equipes, não podem ser empacotados em soluções, e o arquiteto de soluções precisa planejar como incluí-los nos ambientes.

Estratégias para definir direitos de acesso

Veja a seguir três estratégias básicas para a criação de direitos de acesso:

  • Específica do cargo
  • Linha de base + cargo
  • Linha de base + recurso

A estratégia específica do cargo é a criação de um único direito de acesso com todos os privilégios exigidos pela função de trabalho. As funções prontas para uso são específicas do cargo e recebem o nome de acordo com função de trabalho, por exemplo, Vendedor. É possível seguir esse modelo de direito para funções de trabalho específicas, mas isso pode resultar em muitos direitos de acesso semelhantes que devem ser mantidos. Por exemplo, adicionar uma nova tabela personalizada significa alterar muitos, se não todos os direitos.

Existe um modelo de segurança em camadas que é mais moderno. Nesse modelo, você copia uma função pronta para uso, como Vendedor ou Usuário Básico, e altera os níveis de acesso para os níveis comuns ou mínimos exigidos por todos os usuários. Você pode chamar essa função de Linha de base. Em seguida, crie novas funções e defina os níveis de acesso para os poucos privilégios que cada grupo de usuários precisa, além da função base. Essas funções mínimas contêm os outros privilégios necessários para o cargo ou o recurso necessário.

No diagrama a seguir, a função de linha de base é denominada Todos os Funcionários e todos os usuários serão atribuídos a ela. Todos os usuários em Vendas também receberão a função denominada Vendas, uma função de cargo, com alguns usuários de vendas atribuídos à função Móvel, uma função de recurso que tem o privilégio Internet Móvel, e um gerente que recebe as funções Vendas e Gerente.

Diagrama dos direitos de acesso em camadas de uma organização.

Talvez isso não seja óbvio, mas os direitos de acesso são vinculados às unidades de negócios. As funções criadas na unidade de negócios raiz são herdadas por todas as divisões secundárias. É possível criar um direito de acesso para uma unidade de negócios específica para limitá-lo aos usuários nessa unidade de negócios. No entanto, saiba que os direitos de acesso em soluções são sempre adicionados à unidade de negócios raiz quando a solução é importada.

Equipes do grupo do Microsoft Entra ID

Uma equipe de grupo do Microsoft Entra ID é semelhante a uma equipe proprietária porque ela pode ter registros e direitos de acesso atribuídos à equipe. A diferença é que a participação da equipe no Dataverse é derivada dinamicamente da participação do grupo do Microsoft Entra ID associado. A participação do grupo do Microsoft Entra ID pode ser atribuída manualmente ou derivada da atribuição baseada em regras conforme os atributos do usuário no Microsoft Entra ID.

Combinar equipes de grupo do Microsoft Entra ID com atribuição de direitos de acesso a equipes com a opção Usuário Direto pode simplificar bastante o gerenciamento de adição de novos usuários.

Os grupos de segurança e os grupos do Office 365 podem ser usados ​​para equipes de grupo do Microsoft Entra ID.