翻译或纠错本页面

集合层访问控制

集合层访问控制允许管理员赋予针对某集合的用户权限。

管理员可以通过 user-defined roles 实施集合层访问控制。通过建立一个拥有 权限 的角色并局限于某数据库的某集合,管理员可以创建一些包含用户,这些用户拥有发放集合层权限的角色。

Privileges and Scope

一个权限包括一系列 操作 和操作权限允许被操作的 资源 。也可以说是这些资源决定了一个权限操作的范围。

通过在某权限的 资源文档 中指定数据库和集合,管理员可以限制需要权限的操作于某数据库中的某集合。一个用户的不同权限操作可以被允许适用于不同的集合。

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

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

第一个权限限制其涵盖的操作在 products 数据库里的 inventory 集合。第二个权限显示操作在 products``数据库里的 ``orders 集合

附加信息

For more information on user-defined roles and MongoDB authorization model, see Role-Based Access Control. For a tutorial on creating user-defined roles, see Manage Users and Roles.