Segurança em aplicativos

Concluído

Ao configurar a segurança, você pode definir quatro camadas diferentes de segurança em um aplicativo:

  • Nível de aplicativo: restringe o acesso ao aplicativo.
  • Nível de formulário: para aplicativos baseados em modelo, com esse nível de segurança, você pode permitir que somente grupos de segurança específicos acessem determinados formulários. Esse nível é útil para restringir a forma como as pessoas inserem ou exibem os dados de acordo com as funções delas.
  • Nível de linha: o modelo de segurança do Dataverse controla o acesso a linhas.
  • Nível de coluna: controla o acesso a colunas individuais em uma tabela.

A segurança deve ocorrer na camada da plataforma, e não na camada do aplicativo. Você pode controlar a leitura e a gravação de dados em um aplicativo de várias maneiras. Você pode definir colunas como somente leitura no seu formulário baseado em modelo, usar JavaScript para mascarar colunas da experiência do usuário e ocultar colunas e campos de formulários e exibições. Nenhuma dessas abordagens implementa a segurança de fato. Elas não protegem os dados, e os usuários ainda podem acessá-los de outras maneiras, por exemplo, pelas opções Localização Avançada ou Editar no Excel Online.

Além disso, todos os usuários têm o direito de usar a API e podem usar ferramentas de parceiros e comunidades para acessar os dados. Para garantir a devida segurança, os recursos de segurança do Dataverse devem ser empregados.

Privilégios elevados e representação

Evite conceder altos níveis de privilégios aos usuários. Os assemblies de plug-in do .NET, os fluxos de trabalho clássicos e os fluxos da nuvem do Power Automate podem ser executados com acesso elevado para executar ações em nome do usuário. O código da API pode representar outro usuário, se necessário.

Automação

Os arquitetos de soluções devem considerar a automação de aspectos do gerenciamento de usuários e da segurança. Por exemplo, você pode controlar vários aspectos, desde a criação de equipes até o compartilhamento de linhas por meio da API.

Você pode disparar plug-ins ou fluxos do Power Automate com base em eventos que ocorrem no sistema para alterar a segurança de um usuário. Por exemplo, você pode promover o gerente substituto da conta automaticamente ou compartilhar os dados dele para que o usuário possa gerenciar a conta enquanto o gerente principal está de férias.

Desempenho

As soluções com maior número de usuários e/ou dados devem reconhecer o impacto das escolhas, por exemplo:

  • O compartilhamento excessivo pode criar uma sobrecarga considerável.
  • Muitas unidades de negócios podem tornar o acesso lento.
  • Muitos processos serão executados em eventos.
  • Design de plug-in deficiente.

Um design de segurança deficiente pode levar a um baixo desempenho. As técnicas que podem ser usadas para melhorar o desempenho da segurança incluem:

  • Buscar maneiras de escalonar a segurança, como compartilhar com uma equipe em vez de um usuário.
  • Minimizar o número de unidades de negócios.
  • Usar equipes de acesso em vez de equipes proprietárias.
  • Fazer o teste com volumes e cenários de segurança reais para validar o design.
  • Usar as ferramentas de análise no Centro de administração do Microsoft Power Platform para ver chamadas à API e processos de alto volume.

A melhor maneira de aprimorar o desempenho é manter o design de segurança o mais simples possível.

Separar e otimizar padrões de uso

Um arquiteto de soluções deve otimizar o aplicativo para diferentes padrões de uso. Especificamente, você precisa usar recursos diferentes do modelo de segurança para conceder o acesso necessário de modo que vários usuários tenham diversas maneiras de acessar o mesmo registro, conforme mostrado no diagrama a seguir.

Diagrama da otimização de padrões de uso separados.

É possível criar modelos distintos para áreas de negócios diferentes

Nem todos os usuários trabalham da mesma forma. O arquiteto de soluções deve refletir sobre os diferentes modelos de trabalho de vários aspectos da empresa e criar um modelo diferente para cada área a fim de chegar a uma solução ideal, conforme mostrado no diagrama a seguir.

Diagrama para criar um modelo diferente para as várias áreas da empresa.

Criar modelo com exceções

Os arquitetos de soluções devem visar à criação do modelo com padrões comuns de acesso da maneira mais eficiente possível e usar um modelo mais granular no qual o acesso complexo é necessário. O compartilhamento é um bom exemplo de processamento de exceção. O compartilhamento deve ser com equipes sempre que possível.

Diagrama de modelo com exceções.

Separar dados históricos dos dados ativos

Os dados históricos acessados com pouca frequência, mas com alto volume, podem afetar o acesso aos dados atuais. O arquiteto de soluções deve considerar o particionamento dos dados no modelo de segurança em tabelas separadas e incluir um mecanismo secundário para acesso ocasional.

Revisar o modelo de dados para ajudar a segurança

Alguns ajustes no modelo de dados podem facilitar a criação de modelos de segurança. O arquiteto de soluções deve determinar se a definição de novos limites de dados simplificará a criação de modelos de segurança. Por exemplo, em vez de ter um acesso individual definido para Registros de contas, você pode mover as informações do relatório financeiro dos Registros de contas para uma tabela de finanças separada, que permitirá que todos exibam a tabela de contas, mas manterá a tabela de finanças limitada somente aos gerentes.