MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como posso implementar permissões em nível de campo para o MongoDB?


Como no MongoDB 3.4, a granularidade do controle de acesso integrado só vai até o controle de acesso em nível de coleção.

Por exemplo, você pode criar privilégios de limitação de função definidos pelo usuário para uma coleção:
privileges: [
  { resource: { db: "db_ANIMAL", collection: "tb_BIRD" },  actions: [ "find", "update" ] }
]

Para limitar o acesso somente leitura a um subconjunto de dados de coleta, você pode considerar usar a nova funcionalidade Views no MongoDB 3.4 ou implementar a redação em nível de campo usando o $redact estágio de agregação (MongoDB 2.6+).

Se você precisar de controle de acesso mais granular para atualizações em nível de campo, será necessário implementar isso em sua API ou código do aplicativo.

Existem algumas solicitações de recursos relevantes que você pode querer assistir/votar no rastreador de problemas do MongoDB:
  • SERVER-648:controle de acesso no nível do documento
  • SERVER-27698:visualizações materializadas