Definir permissões de acesso aos dados
Visão geral
Nos aplicativos tradicionais, um servidor de aplicativos expõe uma API aos aplicativos do cliente e lida com queries de banco de dados em seu nome. Para evitar operações maliciosas, impróprias ou incorretas de leitura e escrita, os clientes não executam query do banco de dados diretamente.
O Atlas App Services fornece um mecanismo de permissões configurável e dinâmico que permite executar queries ao MongoDB e ao Device Sync a partir de aplicativos clientes e, ao mesmo tempo, impedir de forma transparente leituras e gravações não autorizadas. As permissões são definidas para coleções inteiras em um cluster do MongoDB Atlas vinculado e se aplicam a documentos individuais na coleção dinamicamente com base no usuário do aplicativo que emite uma query ou usa a Device Sync. Você também pode definir papéis padrão que servem como um fallback para qualquer coleção que não tenha seus próprios papéis.
Observação
As fontes de dados federadas não suportam regras ou esquemas. Você só pode acessar uma fonte de dados federada a partir de uma função do sistema.
Conceitos chave
Para entender como o mecanismo de permissões funciona e como configurá-lo para seu caso de uso, consulte Permissões baseadas em funções.
Você define permissões com expressões de regra, uma linguagem específica de domínio baseada em JSON.
Você pode otimizar o desempenho do mecanismo de permissões com filtros. Consulte Filtrar queries de entrada.
Se você estiver usando a sincronização de dispositivos (modo flexível), as permissões funcionam de forma um pouco diferente. Consulte Permissões compatíveis com a sincronização de dispositivos para considerações importantes.
O editor de regras padrão ou "Modo básico" na UI do App Services abrange a maioria dos casos de uso de regras da coleção. No entanto, há momentos em que você precisa de um controle mais refinado do que o fornecido pela UI. Nesses horários, consulte Configurar Regras Avançadas.
Por fim, para ajudá-lo a colocar esses conceitos em prática, fornecemos alguns exemplos de funções de acesso a dados.