MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso implementare le autorizzazioni a livello di campo per MongoDB?

Come in MongoDB 3.4, la granularità del controllo di accesso integrato arriva solo fino al controllo di accesso a livello di raccolta.

Ad esempio, puoi creare un ruolo definito dall'utente che limiti i privilegi per una raccolta:

privileges: [
  { resource: { db: "db_ANIMAL", collection: "tb_BIRD" },  actions: [ "find", "update" ] }
]

Per limitare l'accesso in sola lettura a un sottoinsieme di dati di raccolta, potresti prendere in considerazione l'utilizzo della nuova funzionalità Views in MongoDB 3.4 o l'implementazione della Redazione a livello di campo utilizzando $redact fase di aggregazione (MongoDB 2.6+).

Se hai bisogno di un controllo dell'accesso più granulare per gli aggiornamenti a livello di campo, dovrai attualmente implementarlo nella tua API o nel codice dell'applicazione.

Ci sono alcune richieste di funzionalità rilevanti che potresti voler guardare/approvare nel tracker dei problemi di MongoDB:

  • SERVER-648:controllo dell'accesso a livello di documento
  • SERVER-27698:viste materializzate