Както при MongoDB 3.4, детайлността на вградения контрол на достъпа стига само до контрола на достъп на ниво колекция.
Например, можете да създадете дефинирана от потребителя роля, ограничаваща привилегиите за колекция:
privileges: [
{ resource: { db: "db_ANIMAL", collection: "tb_BIRD" }, actions: [ "find", "update" ] }
]
За да ограничите достъпа само за четене до подмножество от данни за колекция, можете да помислите за използването на новата функционалност Views в MongoDB 3.4 или да внедрите редакция на ниво поле с помощта на $redact
етап на агрегиране (MongoDB 2.6+).
Ако имате нужда от по-подробен контрол на достъпа за актуализации на ниво поле, в момента ще трябва да внедрите това във вашия API или код на приложението.
Има няколко подходящи заявки за функции, които може да искате да гледате/гласувате в програмата за проследяване на проблеми на MongoDB:
- SERVER-648:Контрол на достъпа на ниво документ
- SERVER-27698:Материализирани изгледи