即使用户拥有数据库的读/写访问权限,我们是否可以限制数据库中特定集合的读/写访问?
例如:我有一个名为: PRODCAST的DB,它包含collA、collB、collC和collD。假设我们有10个用户,他们都可以访问PRODCAST数据库,并能够对DB中存在的所有集合执行读/写操作。
这里我的问题是,我们是否可以阻止所有用户执行读/写操作,特别是在 collC 上,因为collC具有一些敏感数据,因此即使他们拥有DB访问权限,我也不会向所有人展示。
发布于 2018-03-26 04:16:33
即使用户拥有数据库的读/写访问权限,我们是否可以限制数据库中特定集合的读/写访问?
在MongoDB 3.6中,角色和特权是附加的:您可以向用户授予额外的权限,但不能删除或限制已授予或继承的现有权限。
例如:我有一个名为: PRODCAST的DB,它包含collA、collB、collC和collD。假设我们有10个用户,他们都可以访问PRODCAST数据库,并能够对DB中存在的所有集合执行读/写操作。
建议的限制访问collC的方法是:
PRODCAST数据库的读/写访问),或如果您的所有用户都需要一组公共访问权限,您可以创建一个用户定义(自定义)角色来简化管理。然后你就可以授予自定义角色了。PRODCAST),并在添加具有共享访问权限的新集合/数据库时,根据需要更新角色。
这里我的问题是,我们是否可以阻止所有用户执行读/写操作,特别是在 collC 上,因为collC具有一些敏感数据,因此即使他们拥有DB访问权限,我也不会向所有人展示。
对于访问敏感数据的进一步限制,可以使用上述任何一种方法来限制总的读/写访问,然后创建集合的只读视图 (MongoDB 3.4+)。与集合类似,对视图的访问需要读取访问权限。但是,对视图的读取权限可以在没有基础集合的读取权限的情况下被授予,因此敏感字段可以被完全编辑。
https://stackoverflow.com/questions/49436041
复制相似问题