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

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

本页内容

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

资源文档指定了权限允许的操作所依赖的资源操作.

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

{ 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 集合