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

向角色授予角色

本页内容

  • 定义
  • 兼容性
  • 行为
  • 所需访问权限
  • 示例
grantRolesToRole

授予子角色给用户定义的角色.

提示

mongosh中,此命令也可以通过db.grantRolesToRole()辅助方法运行.

辅助方法对mongosh用户来说很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要方便或需要额外的返回字段的情况下,请使用数据库命令。

grantRolesToRole命令会影响运行此命令的数据库中的角色。

命令具有以下语法

db.runCommand(
{
grantRolesToRole: "<role>",
roles: [
{ role: "<role>", db: "<database>" },
...
],
writeConcern: { <write concern> },
comment: <any>
}
)

命令具有以下字段

字段
类型
描述
向角色授予角色
字符串
要添加子角色的角色的名称。
角色
数组
要从其继承角色的数组。
writeConcern
文档

可选。操作的写入关注级别。请参阅写入关注规范。

comment
任何

可选。用户提供的附加到此命令的注释。一旦设置,此注释将出现在以下位置的此命令的记录旁边

注释可以是任何有效的 BSON 类型(字符串、整数、对象、数组等)。

roles 字段中,您可以指定内置角色和 内置角色 以及 用户定义的角色

要指定与运行 grantRolesToRole 命令的同一数据库中存在的角色,您可以使用角色的名称来指定该角色

"readWrite"

或者您可以使用文档来指定该角色,如下所示

{ role: "<role>", db: "<database>" }

要指定存在于不同数据库中的角色,请使用文档指定该角色。

此命令在以下环境中托管的应用程序中可用

重要

此命令不支持 M0、M2 和 M5 集群。有关更多信息,请参阅 不受支持的命令

角色可以从其数据库中的其他角色继承权限。在 admin 数据库上创建的角色可以继承任何数据库中的角色的权限。

您必须具有数据库上的 grantRole 操作 权限,才能在该数据库上授予角色。

以下 grantRolesToRole 命令更新了 productsReaderWriter 角色在 products 数据库中,以 继承 products 数据库中 productsReader 角色的 权限

use products
db.runCommand(
{ grantRolesToRole: "productsReaderWriter",
roles: [
"productsReader"
],
writeConcern: { w: "majority" , wtimeout: 5000 }
}
)

返回

向角色授予权限