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