grantRolesToRole
On this page
Definition
grantRolesToRole
Grants roles to a user-defined role.
The
grantRolesToRole
command affects roles on the database where the command runs.grantRolesToRole
has the following syntax:{ grantRolesToRole: "<role>", roles: [ { role: "<role>", db: "<database>" }, ... ], writeConcern: { <write concern> }, comment: <any> } The
grantRolesToRole
command has the following fields:FieldTypeDescriptiongrantRolesToRole
stringThe name of a role to add subsidiary roles.roles
arrayAn array of roles from which to inherit.writeConcern
documentOptional. The level of write concern for the operation. See Write Concern Specification.
comment
anyOptional. A user-provided comment to attach to this command. Once set, this comment appears alongside records of this command in the following locations:
mongod log messages, in the
attr.command.cursor.comment
field.Database profiler output, in the
command.comment
field.currentOp
output, in thecommand.comment
field.
A comment can be any valid BSON type (string, integer, object, array, etc).
New in version 4.4.
In the
roles
field, you can specify both built-in roles and user-defined roles.To specify a role that exists in the same database where
grantRolesToRole
runs, you can either specify the role with the name of the role:"readWrite" Or you can specify the role with a document, as in:
{ role: "<role>", db: "<database>" } To specify a role that exists in a different database, specify the role with a document.
Behavior
A role can inherit privileges from other roles in its database. A role
created on the admin
database can inherit privileges from roles in
any database.
Required Access
You must have the grantRole
action on a database to grant a role on that database.
Example
The following grantRolesToRole
command updates the
productsReaderWriter
role in the products
database to inherit the privileges of the productsReader
role in the products
database:
use products db.runCommand( { grantRolesToRole: "productsReaderWriter", roles: [ "productsReader" ], writeConcern: { w: "majority" , wtimeout: 5000 } } )