On this page
grantRolesToRole
在本页面
Definition
grantRolesToRole
- 将角色授予user-defined role。
grantRolesToRole命令影响该命令运行所在的数据库上的角色。 grantRolesToRole具有以下语法:
{ grantRolesToRole: "<role>",
roles: [
{ role: "<role>", db: "<database>" },
...
],
writeConcern: { <write concern> }
}
grantRolesToRole命令具有以下字段:
Field | Type | Description |
---|---|---|
grantRolesToRole |
string | 要添加辅助角色的角色名称。 |
roles |
array | 继承角色的数组。 |
writeConcern |
document | 可选的。修改的write concern级别。 writeConcern 文档具有与getLastError命令相同的字段。 |
在roles
字段中,您可以同时指定built-in roles和user-defined roles。
要指定运行grantRolesToRole的同一数据库中存在的角色,可以使用该角色的名称指定该角色:
"readWrite"
或者,您可以通过文档指定角色,如:
{ role: "<role>", db: "<database>" }
要指定存在于其他数据库中的角色,请与文档一起指定该角色。
Behavior
角色可以从其数据库中的其他角色继承特权。在admin
数据库上创建的角色可以从任何数据库中的角色继承特权。
Required Access
您必须在数据库上拥有grantRole action才能在该数据库上授予角色。
Example
以下grantRolesToRole命令将products
数据库中的productsReaderWriter
角色更新为products
数据库中productsReader
角色的privileges:
use products
db.runCommand(
{ grantRolesToRole: "productsReaderWriter",
roles: [
"productsReader"
],
writeConcern: { w: "majority" , wtimeout: 5000 }
}
)