Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

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

在此页面上

  • 特权和范围
  • 更多信息

通过集合层级的访问控制,管理员可授予用户仅限于特定集合的权限。

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

特权由动作和允许对其进行动作的资源组成;也就是说,资源定义了该特权的操作范围。

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

例如,用户定义的角色可以包含以下特权:

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

第一个特权会将其动作范围限定为 products 数据库的 inventory 集合。第二个特权会将其动作范围限定为 products 数据库的 orders 集合。

最佳做法是避免向对集合没有读取权限的用户分配createCollection权限。

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

后退

更改密码和自定义数据