Entender os conceitos de segurança no Dataverse

Concluído

Um dos principais recursos do Dataverse é o modelo de segurança avançado que pode se adaptar a vários cenários de uso comercial. Esse modelo de segurança funciona apenas quando há um banco de dados do Dataverse no ambiente. Como administrador, você provavelmente não criará todo o modelo de segurança por conta própria. Frequentemente estará envolvido no processo de gerenciar os usuários e garantir que eles tenham a configuração adequada, além de solucionar problemas relacionados ao acesso à segurança.

Segurança baseada em função

O Dataverse usa a segurança baseada em função para agrupar uma coleção de privilégios. Esses direitos de acesso podem ser associados diretamente aos usuários ou a 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. Um conceito chave de segurança do Dataverse a ser entendido é que todos os privilégios são cumulativos, e prevalece o maior grau de acesso. Por exemplo, se um usuário tiver dois direitos de acesso, um com privilégios de exclusão, mas sem privilégios de gravação, e o outro com privilégios de gravação, mas sem privilégios de exclusão, o usuário poderá excluir e gravar no ambiente. Da mesma forma, 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 fornecem segurança e estrutura para agrupar usuários e costumam ser usadas para simular a estrutura departamental de uma organização. Cada usuário atribuído a um ambiente do Dataverse pertencerá a uma unidade de negócios. Cada banco de dados do Dataverse tem uma única unidade de negócios raiz, e várias unidades de negócios secundárias podem ser criadas conforme necessário. As unidades de negócios secundárias podem ser excluídas. Não é possível excluir a unidade de negócios raiz. Além disso, as unidades de negócios secundárias podem ter outras unidades de negócios secundárias.

  • Uma unidade de negócios primária é qualquer unidade de negócios com uma ou mais unidades de negócios subordinadas a ela na hierarquia.

  • Uma unidade de negócios secundária é aquela que está imediatamente sob outra unidade de negócios na hierarquia comercial de uma organização.

As unidades de negócios podem ser organizadas de acordo com uma estrutura organizacional tradicional para acesso hierárquico a dados. Também é possível estruturar unidades de negócios para que os dados sejam compartimentalizados em uma hierarquia do tipo árvore e o usuário possa trabalhar e acessar qualquer dado da unidade de negócios, independentemente de qual delas está associada ao usuário. Para mais informações sobre como obter uma estrutura de dados como essa, consulte o tópico sobre estrutura de acesso a dados da matriz (Unidades de Negócios Modernizadas).

Observação

Os direitos de acesso de um usuário são atribuídos em suas unidades de negócios. Se um usuário for movido para outra unidade de negócios, seus direitos de acesso deverão ser reatribuídos. Cada usuário é membro de apenas uma unidade de negócios, mas uma equipe pode ter membros de usuários de várias unidades de negócios. A implementação da segurança no nível da coluna será descrita mais adiante neste módulo.

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. Propriedade do registro é uma opção disponível no momento em que a tabela é criada e não pode ser alterada. Para fins de segurança, no caso dos 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 Divisão Secundária

  • ou somente os registros do próprio usuário.

Propriedade de registro em Unidades de Negócios Modernizadas

Nas Unidades de Negócios Modernizadas, você pode fazer com que os usuários sejam proprietários de registros em todas as unidades de negócios. Os usuários só precisam de um direito de acesso (qualquer unidade de negócios) que tenha privilégio de Leitura da tabela de registros. Os usuários não precisam ter um direito de acesso atribuído em cada unidade de negócios em que o registro reside. O uso desse recurso requer alguns ajustes nas Configurações da Organização. Você pode aprender mais sobre as configurações no tópico sobre Propriedade de Registro nas Unidades de Negócios Modernizadas.

Equipes (incluindo as de grupo)

As equipes são outro importante bloco de construção de 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 nem remover membros manualmente da equipe padrão. Eles são ajustados dinamicamente pelo sistema à medida que novos usuários são associados às unidades de negócios ou /desassociados delas. Há dois tipos de equipes: proprietárias e de acesso.

  • As Equipes Proprietárias podem ter registros, oferecendo a qualquer membro da equipe acesso direto a eles. Os usuários podem ser membros de várias equipes. Isso proporcionará uma maneira poderosa de conceder permissões aos usuários amplamente, sem acesso por 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 lidar com exceções que não se enquadram na propriedade ou membro de registro de um modelo de acesso baseado em unidades 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 tanto no nível de usuário quanto de equipe. O compartilhamento com uma equipe é mais eficiente. As Equipes de Acesso são um conceito mais avançado de compartilhamento, pois permitem a criação automática de uma equipe e o compartilhamento de acesso a registros com ela com base 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, com adição/remoção manual de seus membros. As equipes de acesso têm melhor desempenho porque não permitem a propriedade de registros pela equipe nem a atribuição de direitos de acesso a ela. Os usuários obtêm acesso porque o registro é compartilhado com a equipe e o usuário é um membro.

Segurança de nível de registro no Dataverse

O acesso do usuário a um registro é a combinação de todos os direitos de acesso dele, da unidade de negócios à qual está associado, das equipes das quais ele é membro e dos registros compartilhados com ele. Todo acesso no Dataverse é cumulativo em todos esses conceitos no escopo de um ambiente de banco de dados do Dataverse. Esses direitos só são concedidos dentro de um banco de dados e são acompanhados individualmente em cada banco de dados do Dataverse, exigindo que um usuário tenha uma licença apropriada para acessar o Dataverse.

Segurança em nível de coluna para controlar o acesso

Quando o controle no nível de registro não é adequado para seu cenário de negócios, 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 pode ser habilitada em todas as colunas personalizadas e na maioria das colunas do sistema. Os metadados de cada coluna definem se essa é uma opção disponível para a coluna do sistema.

A segurança em nível de coluna é habilitada de acordo com cada coluna. Depois, o acesso é gerenciado pela criação de um Perfil de Segurança de Coluna. O perfil contém todas as colunas que têm segurança de nível de coluna habilitada e o acesso concedido por esse perfil específico. Cada coluna pode ser controlada no perfil para o acesso de Criação, Atualização e Leitura. Os Perfis de Segurança de Coluna são então associados a um usuário ou a Equipes para conceder esses privilégios aos usuários relacionados aos registros aos quais eles já têm acesso. Importante: as seguranças em nível de coluna e registro são diferentes. Um usuário já deve ter acesso ao registro do Perfil de Segurança de Coluna para ter acesso às colunas. A segurança em nível de coluna deve ser usada conforme necessário e não excessivamente, pois ela pode adicionar sobrecarga prejudicial.

Para saber mais sobre como implementar a segurança de coluna, incluímos um exemplo um pouco mais abaixo nesta unidade.

Gerenciando a segurança em vários ambientes

É possível empacotar e mover Direitos de acesso e Perfis de Segurança de Coluna de um ambiente para outro usando soluções do Dataverse. As Unidades de Negócios e Equipes devem ser criadas e gerenciadas em cada ambiente juntamente com a atribuição de usuários aos componentes de segurança necessários.

Configurando a segurança de ambiente dos usuários

Depois que as funções, as equipes e as unidades de negócios são criadas em um ambiente, você pode atribuir configurações de segurança aos usuários. 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ê pode atribuir os direitos de acesso necessários ao usuário. Você também pode adicioná-los como membros de qualquer equipe. As equipes também podem ter direitos de acesso. Portanto, os direitos do usuário são a combinação dos direitos de acesso diretamente atribuídos com outros de qualquer equipe da qual são membros. A segurança é sempre complementar, oferecendo a permissão menos restritiva de qualquer um dos direitos.

Além disso, se você tiver usado a segurança no nível da coluna, precisará associar o usuário ou uma equipe dele a um dos Perfis de Segurança de Coluna que você criou.

Devido à complexidade, o estabelecimento de um plano de segurança é melhor quando há um esforço conjunto entre os responsáveis pelo aplicativo e a equipe administrando as permissões dos usuários. Qualquer alteração importante deve ser bem coordenada antes da implantação das alterações no ambiente.

Exemplo de configuração de segurança de coluna

Antes de começarmos nosso exemplo, vamos discutir como implementar a segurança em nível de coluna. Um administrador do sistema precisará executar as seguintes tarefas:

  1. Habilitar a segurança em uma ou mais colunas de uma tabela específica.

  2. Associar mais um perfil de segurança ou criar um ou mais novos perfis de segurança para conceder o acesso apropriado a equipes ou usuários específicos.

    Um perfil de segurança determina:

    • Permissões para as colunas seguras

    • Usuários e equipes

    Um perfil de segurança pode ser configurado para conceder ao usuário ou aos membros da equipe as seguintes permissões no nível da coluna:

    • Ler. Acesso somente leitura aos dados da coluna.

    • Criar. Os usuários ou as equipes nesse perfil podem adicionar dados a essa coluna ao criar um registro.

    • Atualizar. Os usuários ou as equipes nesse perfil podem atualizar os dados da coluna depois que ela é criada.

    É possível definir uma combinação dessas três permissões para determinar os privilégios do usuário para uma coluna de dados específica.

    Importante

    A menos que um ou mais perfis de segurança sejam atribuídos a um campo com a segurança habilitada, somente os usuários com direito de acesso de administrador do sistema terão acesso ao campo.

Agora, eis o contexto do exemplo: a política de sua empresa é que apenas gerentes de contas e administradores do sistema possam exibir o limite de crédito de um cliente.

Para restringir o acesso, é possível implementar a segurança em nível de coluna concluindo as tarefas abaixo:

Habilitar segurança de colunas

  1. Entre no Power Apps como administrador.

  2. Selecione um ambiente.

  3. No painel esquerdo, selecione o Dataverse.

  4. Selecione Tabelase, depois, a exibição Tudo.

  5. Selecione a tabela Account.

  6. No painel Esquema, selecione Colunas. Localize e selecione a coluna Limite de crédito (você pode usar o campo de pesquisa na parte superior direita do modo de exibição de Colunas ou rolar para baixo na lista).

  7. No painel direito, selecione Opções avançadas.

  8. Selecione Habilitar segurança de colunas.

  9. Selecione Salvar. Depois que você salvar, a segurança da coluna será habilitada.

Configurar o perfil de segurança

  1. Entre no Power Apps como administrador.

  2. Selecione o ícone de engrenagem (Configurações) na parte superior direita e, depois, Centro de administração. Isso abre uma instância separada do navegador do Centro de administração do Power Platform.

  3. Selecione Ambientes no menu de navegação do lado esquerdo e selecione o ambiente no qual você deseja configurar o perfil de segurança.

  4. Na faixa de opções do cabeçalho, selecione Configurações.

  5. Selecione o menu suspenso ao lado de Usuários + permissões e selecione Perfis de segurança de coluna. Também é possível procurar essa configuração no campo de pesquisa, no cabeçalho da tela Configurações.

  6. Na faixa de opções superior, selecione + Novo Perfil. Um painel chamado Criar novo perfil de segurança da coluna aparecerá no lado direito da tela. Insira um nome como Gerente de Contas. Você também poderá adicionar uma descrição, se desejar.

  7. Selecione Salvar. O painel será fechado para revelar seu novo perfil listado em Perfis de Segurança de Coluna.

  8. Selecione o perfil Gerente de Contas. Em seguida, adicionaremos alguns usuários a esse perfil. Há três guias ilustradas no cabeçalho da tela, incluindo Permissão da Coluna (onde você está por padrão), Equipes e Usuários. Selecione a guia Usuários.

    Captura de tela do perfil de segurança Gerente de Conta com a guia Usuários destacada.

  9. Selecione + Clique aqui para Adicionar Usuários. Isso abre o painel Adicionar Usuários no lado direito da tela. Insira os nomes de usuário ou endereços de email dos usuários que deseja adicionar e, em seguida, selecione o nome no menu suspenso que aparece. Eles serão adicionados à lista. Se você adicionar um nome por engano, poderá selecionar o X à direita do usuário para removê-lo da lista.

  10. Quando estiver satisfeito com a lista de usuários, selecione Adicionar na parte inferior do painel Adicionar Usuários. Se precisar adicionar outros usuários, use o botão + Adicionar Usuários na parte superior da tela.

  11. Agora, selecione a guia Permissão da Coluna.

  12. Selecione a coluna Limite de Crédito e, na parte superior, selecione Editar.

  13. No painel Editar segurança da coluna no lado direito, em Ler, selecione Permitido.

  14. Selecione Salvar. O painel será fechado, e a guia Permissão da Coluna exibirá as novas configurações dos Gerentes da Conta da coluna Limite de Crédito.

Isso significa que os usuários que não estejam no perfil Gerente de Conta da coluna não terão acesso à coluna de limite de crédito nos modos de exibição ou na tabela de Conta. O valor do campo exibe um ícone de Cadeado com ********, indicando que o campo está protegido.

Segurança da hierarquia para controlar o acesso

O modelo de segurança de hierarquia estende a segurança do Dataverse permitindo que os gerentes acessem os registros de seus subordinados ou trabalhem em nome deles. Ele pode ser usado com todos os outros modelos de segurança existentes.

Dois modelos de segurança podem ser usados para hierarquias: a Hierarquia de gerentes e a Hierarquia de cargos. Com a Hierarquia de gerentes, para ter acesso aos dados do subordinado, um gerente deve estar na mesma unidade de negócios que o subordinado ou na divisão primária da unidade de negócios do subordinado. A Hierarquia de cargos permite o acesso aos dados nas unidades de negócios.

Hierarquia de gerentes

O modelo de segurança de hierarquia de Gerente é baseado na cadeia de gerenciamento ou na estrutura de subordinação direta. O relacionamento do gerente e do subordinado é estabelecido usando o campo Gerente na tabela do usuário. Com esse modelo de segurança, os gerentes podem acessar os dados aos quais os subordinados têm acesso. Eles podem executar o trabalho em nome de seus subordinados diretos ou acessar as informações que precisam de aprovação. O gerente pode ter acesso total aos dados dos subordinados diretos. Para subordinados não diretos, um gerente só pode ter acesso somente leitura aos os dados.

Hierarquia de cargos

Com a segurança de hierarquia de cargos, vários cargos de trabalho na organização podem ser definidos e organizados na hierarquia usando a tabela Cargos. Em seguida, você pode adicionar usuários a qualquer cargo específica usando a coluna de pesquisa de Cargo no registro do usuário. Os usuários nos cargos mais altos da hierarquia têm acesso aos dados dos usuários nos cargos inferiores, no caminho de ancestral direto. De maneira semelhante à hierarquia de gerentes, os cargos primários têm acesso total aos dados dos cargos secundários, mas os cargos mais elevados do que um principal direto têm acesso somente leitura.

Observação

Nos dois modelos de hierarquia, um usuário em posição mais alta na hierarquia deve ter pelo menos o privilégio de Leitura no nível de usuário em uma tabela para ver os dados dos subordinados. -Por exemplo, se um gerente não tiver o acesso de Leitura para a entidade Caso, o gerente não poderá ver os casos aos quais os subordinados têm acesso.

Exemplo de configuração de Segurança de Hierarquia

Vamos analisar como configurar a segurança de hierarquia em um ambiente na sua organização. Primeiro, definiremos as configurações, depois o gerente e as hierarquias de cargo.

Definir configurações do sistema de segurança de hierarquia

Verifique se você tem permissões de Administrador do Sistema para atualizar as configurações. Se você não tiver as permissões corretas, contate o administrador do sistema.

A segurança de hierarquia é desabilitada por padrão. Para habilitá-la:

  1. Entre no Power Apps (como administrador).

  2. Selecione o ícone de engrenagem (configurações) na parte superior direita e, depois, Centro de administração.

  3. Selecione Ambientes no menu do lado esquerdo e selecione o ambiente que você deseja configurar.

  4. Na faixa de opções superior, selecione Configurações.

    Captura de tela das configurações com a segurança selecionada em sistemas.

  5. Selecione a lista suspensa Usuários + permissões e, em seguida, selecione Segurança da hierarquia.

    Captura de tela da segurança com a segurança de hierarquia selecionada.

  6. Após alguns momentos, uma nova guia do navegador intitulada Segurança da hierarquia será aberta. Marque a caixa de seleção ao lado de Habilitar Modelagem de Hierarquia, e as opções de modelo de hierarquia estarão disponíveis. Nesse caso, vamos verificar se a Hierarquia de Gerentes está selecionada e se a Profundidade da Hierarquia está definida como 3 (esses são os valores padrão). A profundidade da hierarquia é o número de níveis de profundidade que um gerente tem acesso somente Leitura aos dados de seus relatórios.

    Importante

    Para fazer alterações na Segurança da hierarquia, você deve ter o privilégio Alterar Configurações de Segurança de Hierarquia.

    Captura de tela da modelagem de hierarquia habilitada, com o modelo selecionado e a profundidade definida.

Configurar hierarquias de Gerentes e Cargos

Podemos criar uma hierarquia de Gerentes usando o relacionamento de gerente no registro de usuário do sistema. Use o campo de pesquisa de Gerente (ParentsystemuserID) para especificar o gerente do usuário. Se você já criou a hierarquia de Cargos, também pode marcar o usuário com uma posição específica nessa hierarquia.

Na guia do navegador Segurança da Hierarquia em que você ativou Habilitar Modelagem de Hierarquia e Hierarquia de Gerentes, faça o seguinte:

  1. Em Hierarquia de Gerentes, selecione Configurar.

  2. Atribua um gerente e um cargo a cada usuário (opcional). Você pode procurar um usuário por meio do campo de filtro no canto superior direito. Selecione um usuário em Usuários Habilitados para exibir a janela pop-up Usuário.

Captura de tela da janela de usuários habilitados.

No exemplo a seguir, selecionamos a usuária Adele Vance. Adele Vance está subordinada a Nestor Wilke na Hierarquia de gerentes e também tem o cargo de Vendedora na Hierarquia de cargos:

Captura de tela da janela de usuário de Adele Vance.

Para adicionar um usuário a um cargo específico na Hierarquia de cargos, selecione o campo de pesquisa chamado Cargo no formulário do registro do usuário. Os cargos existentes na hierarquia organizacional aparecerão, e você poderá procurar as posições usando o campo de pesquisa.

Captura do campo de cargos com vendedor selecionado.

Você pode adicionar cargos conforme necessário, selecionando + Nova Posição, que exibirá uma janela pop-up Nova Posição. Em seguida, insira o Nome e, se quiser, o Cargo Principal. Se você salvar esse cargo, ele estará disponível na hierarquia.

Captura de tela da janela Nova Posição.

Para criar uma hierarquia de cargos

  1. Entre no Centro de administração do Power Platform.

  2. Selecione Ambientes e escolha seu ambiente para modificar.

  3. Selecione Configurações na faixa de opções.

    Captura de tela da segurança selecionada em sistema na tela de configurações.

  4. Expanda Usuários + permissões e selecione Segurança da hierarquia. Também é possível inserir hierarquia no campo Pesquisar uma configuração no cabeçalho.

    Captura de tela da segurança de hierarquia realçada na janela de segurança.

  5. Selecione o botão de opção próximo a Habilitar Modelo de Hierarquia de Gerentes e verifique se a Profundidade está definida como 3 (padrão).

    Captura de tela da modelagem de hierarquia habilitada, com a hierarquia de cargos definida como personalizada e a profundidade definida como três.

  6. Selecione Configurar.

  7. Para cada cargo, forneça o nome do cargo, o principal do cargo e a descrição. Adicione usuários a esse cargo usando o campo de pesquisa chamado Usuários nesse cargo. Abaixo está um exemplo de Hierarquia de Cargos com os cargos ativos. Você pode selecionar qualquer um dos cargos e atribuir/adicionar outros na sua hierarquia.

    Captura de tela dos cargos ativos.

  8. Se você selecionar um cargo, poderá ver uma lista de usuários com ele. É possível selecionar qualquer usuário. A seleção de um usuário leva à tela de administração do Usuário, na qual você pode alterar os detalhes dele conforme a necessidade. As setas para trás na parte superior esquerda da janela levam às telas anteriores.

    Captura da tela Vendedor mostrando Adele Vance nos Usuários com esse cargo.

  9. Você pode usar a tela Cargos Ativos para garantir que cada usuário seja configurado com os cargos corretos na sua hierarquia.

Considerações de desempenho

Para melhorar o desempenho, recomendamos:

  • Mantenha a segurança da hierarquia para no máximo 50 usuários subordinados a um gerente/cargo. Sua hierarquia pode ter mais de 50 usuários sob um gerente/posição, mas você pode usar a configuração Profundidade para reduzir o número de níveis para acesso somente leitura e com isso limitar o número efetivo de usuários sob um gerente/posição para 50 usuários ou menos.

  • Use modelos de segurança de hierarquia com outros modelos de segurança existentes para cenários mais complexos. Evite criar um grande número de unidades de negócios. Em vez disso, crie menos unidades de negócios e adicione segurança de hierarquia.