在本页面
资源文档指定特权允许的资源actions。
要指定数据库和/或集合,请使用以下语法:
如果资源文档将db和和collection
字段都列为非空字符串,则该资源是指定数据库中的指定集合。例如,以下文档指定数据库中inventory集合
的资源products:
对于以非admin数据库为范围的用户定义角色,其特权的资源说明必须指定与该角色相同的数据库。范围为admin数据库的用户定义角色
可以指定其他数据库。
如果仅该collection字段为空字符串(""),则资源为指定的数据库(系统集合除外)。例如,以下资源文档指定test
数据库资源,但不包括系统集合:
对于以非admin数据库为范围的用户定义角色,其特权的资源说明必须指定与该角色相同的数据库。范围为admin数据库的用户定义角色
可以指定其他数据库。
注意
当您将数据库指定为资源时,系统集合将被排除,除非您明确命名它们,如下所示:
系统集合包括但不限于以下各项:
<database>.system.profile<database>.system.jsadmin数据库admin数据库如果只有db字段是空字符串(""),则资源是所有数据库中具有指定名称的所有集合。例如,以下文档指定了accounts所有数据库中所有集合的资源:
对于用户定义的角色,只有作用域为admin数据库的角色才能具有此资源规范的特权。
要将群集指定为资源,请使用以下语法:
将cluster资源用于影响系统状态的操作,而不是对特定的数据库或集合集进行操作。这种行为的例子是shutdown,replSetReconfig和
addShard。例如,下面的文件授予的动作
shutdown上cluster。
对于用户定义的角色,只有作用域为admin数据库的角色才能具有此资源规范的特权。
anyResource¶内部资源anyResource可访问系统中的每个资源,仅供内部使用。除特殊情况外,请勿使用此资源。此资源的语法为
。{ anyResource: true }