sql >> Databáze >  >> NoSQL >> MongoDB

Jak mohu implementovat oprávnění na úrovni pole pro MongoDB?

Stejně jako ve verzi MongoDB 3.4 sahá granularita vestavěného řízení přístupu pouze k řízení přístupu na úrovni kolekce.

Můžete například vytvořit uživatelsky definovanou roli omezující oprávnění pro kolekci:

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

Chcete-li omezit přístup pouze pro čtení k podmnožině dat kolekce, můžete zvážit použití nové funkce zobrazení v MongoDB 3.4 nebo implementaci Field Level Redaction pomocí $redact fáze agregace (MongoDB 2.6+).

Pokud potřebujete podrobnější řízení přístupu pro aktualizace na úrovni pole, budete to v současnosti muset implementovat do kódu API nebo aplikace.

Existuje několik relevantních požadavků na funkce, které byste mohli chtít sledovat/hlasovat v nástroji pro sledování problémů MongoDB:

  • SERVER-648:Řízení přístupu na úrovni dokumentu
  • SERVER-27698:Materializovaná zobrazení


  1. Jak používat desítkový typ v MongoDB

  2. Odesílání zpráv skupinám v Django Channels 2

  3. získat objekt z redis bez eval?

  4. 'process.nextTick(function() { throw err; })' - Nedefinováno není funkce (mongodb/mongoose)