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

Hvordan kan jeg implementere tilladelser på feltniveau til MongoDB?

Som ved MongoDB 3.4 går granulariteten af ​​den indbyggede adgangskontrol kun så langt som adgangskontrol på samlingsniveau.

For eksempel kan du oprette en brugerdefineret rolle, der begrænser privilegier for en samling:

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

For at begrænse skrivebeskyttet adgang til et undersæt af indsamlingsdata kan du overveje at bruge den nye Views-funktionalitet i MongoDB 3.4 eller implementere feltniveauredigering ved hjælp af $redact aggregeringstrin (MongoDB 2.6+).

Hvis du har brug for mere detaljeret adgangskontrol til opdateringer på feltniveau, skal du i øjeblikket implementere dette i din API eller applikationskode.

Der er et par relevante funktionsanmodninger, du måske ønsker at se/stemme op i MongoDB-problemsporingen:

  • SERVER-648:Adgangskontrol på dokumentniveau
  • SERVER-27698:Materialiserede visninger


  1. Få en liste over indekser i MongoDB

  2. Farerne ved at bygge indekser på MongoDB

  3. MongoDB $setOnInsert

  4. Hvad er profil? og Web og Worker