文档菜单
文档首页
/
MongoDB 手册
/ / /

自管理部署中的集合级访问控制

本页内容

  • 权限与范围
  • 更多信息

集合级访问控制允许管理员授予用户针对特定集合的权限。

管理员可以通过自定义角色实现集合级访问控制。通过创建具有权限的角色,这些权限限于特定数据库中的特定集合,管理员可以为用户提供在集合级别授予权限的角色。

权限由操作和允许执行这些操作的资源组成;即资源定义了该权限的作用范围。

通过在权限的资源文档中指定数据库和集合,管理员可以将权限操作仅限制在特定数据库的特定集合中。角色中的每个权限操作都可以作用到不同的集合。

例如,一个用户定义的角色可以包含以下权限

privileges: [
{ resource: { db: "products", collection: "inventory" }, actions: [ "find", "update", "insert" ] },
{ resource: { db: "products", collection: "orders" }, actions: [ "find" ] }
]

第一个权限将其操作范围限定在inventory 集合的 products 数据库。第二个权限将其操作范围限定在 orders 集合的 products 数据库。

作为一个最佳实践,避免将 createCollection 权限分配给没有对集合读取权限的用户。

有关用户定义角色和MongoDB授权模型的更多信息,请参阅自托管部署中的基于角色的访问控制。有关创建用户定义角色的教程,请参阅自托管部署上的用户和角色管理

返回

更改密码与自定义数据