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

有关自管理部署的资源文档

在此页面上

  • 数据库和/或集合资源
  • 集群资源
  • anyResource

资源文档指定了权限允许 actions访问的资源。

要指定数据库和/或集合,请使用以下语法:

{ db: <database>, collection: <collection> }

如果资源文档将 dbcollection 字段都指定为非空字符串,资源将是指定数据库中的指定集合。例如,如下文档将指定 products 数据库中的 inventory 集合的资源:

{ db: "products", collection: "inventory" }

对于作用域为非 admin 数据库的用户定义角色,他们的权限的资源规范必须指定与角色相同的数据库。作用域为 admin 数据库的用户定义角色可以指定其他数据库。

如果仅collection字段为空字符串 ( "" ),则资源为指定数据库,不包括系统集合。例如,以下资源文档指定了test数据库的资源,不包括系统集合:

{ db: "test", collection: "" }

对于作用域为非 admin 数据库的用户定义角色,他们的权限的资源规范必须指定与角色相同的数据库。作用域为 admin 数据库的用户定义角色可以指定其他数据库。

注意

当您将一个数据库指定为资源时,将会排除系统集合,除非您明确命名它们,如下所示:

{ db: "test", collection: "system.js" }

系统集合包括但不限于以下内容:

如果只有 db 字段是空字符串 (""),资源将是所有数据库中具有指定名称的所有集合。例如,如下文档将指定所有数据库中的所有 accounts 集合的资源:

{ db: "", collection: "accounts" }

对于用户定义的角色,只有限定为 admin 数据库的角色才能为其权限使用此资源规范。

如果 dbcollection 字段都是空字符串 (""),资源将是所有数据库中的所有集合,不包括系统集合

{ db: "", collection: "" }

对于用户定义的角色,只有限定为 admin 数据库的角色才能为其权限使用此资源规范。

要将集群指定为资源,请使用如下语法:

{ cluster : true }

使用 cluster 资源执行将会影响系统状态的操作,而不是对一组特定的数据库或集合执行操作。此类操作的示例包括 shutdownreplSetReconfigaddShard。例如,如下文档将授权对 cluster 执行 shutdown 操作。

{ resource: { cluster : true }, actions: [ "shutdown" ] }

对于用户定义的角色,只有限定为 admin 数据库的角色才能为其权限使用此资源规范。

内部资源 anyResource 允许访问系统中的每个资源,但仅供内部使用。除特殊情况以外,请勿使用此资源。此资源的语法为 { anyResource: true }

后退

Systems.users 集合