MongoDB: db.grantPrivilegesToRole() method
db.grantPrivilegesToRole()
The db.grantPrivilegesToRole() method is used to assign additional privileges to a user-defined role.
Syntax:
db.grantPrivilegesToRole( "< rolename >", [ { resource: { <resource> }, actions: [ "<action>", ... ] }, ... ], { < writeConcern > } )
Parameters:
Name | Description | Required / Optional |
Type |
---|---|---|---|
rolename | The name of the role to grant privileges to. | Required | String |
privileges | The privileges to add to the role. For the format of a privilege. | Required | array |
writeConcern | The level of write concern for the modification. The writeConcern document takes the same fields as the getLastError command. | Optional | document |
The grantPrivilegesToRole() method can grant one or more privileges. Each <privilege>has the following syntax:
{ resource: { <resource> }, actions: [ "<action>", ... ] }
The db.grantPrivilegesToRole() method wraps the grantPrivilegesToRole command.
Example: MongoDB: db.grantPrivilegesToRole() method
The following db.grantPrivilegesToRole() operation grants two additional privileges to the myroll1, which exists on the admin database. The operation is run on that database:
use admin
db.grantPrivilegesToRole(
"myroll1",
[
{
resource: { db: "config", collection: "" },
actions: [ "insert" ]
},
{
resource: { db: "admin", collection: "system.js" },
actions: [ "find" ]
}
],
{ w: "majority" }
);
Output:
> db.getRole( "myroll1", { showPrivileges: true } ); { "role" : "myroll1", "db" : "admin", "isBuiltin" : false, "roles" : [ { "role" : "read", "db" : "admin" } ], "inheritedRoles" : [ { "role" : "read", "db" : "admin" } ], "privileges" : [ { "resource" : { "db" : "config", "collection" : " " }, "actions" : [ "createCollection", "createIndex", "update" ] }, { "resource" : { "db" : "config", "collection" : "" }, "actions" : [ "insert" ] }, { "resource" : { "db" : "admin", "collection" : "system.js" }, "actions" : [ "find" ] } ], "inheritedPrivileges" : [ { "resource" : { "db" : "config", "collection" : " " }, "actions" : [ "createCollection", "createIndex", "update" ] }, { "resource" : { "db" : "config", "collection" : "" }, "actions" : [ "insert" ] }, { "resource" : { "db" : "admin", "collection" : "system.js" }, "actions" : [ "collStats", "dbHash", "dbStats", "find", "killCursors", "planCacheRead" ] }, { "resource" : { "db" : "admin", "collection" : "" }, "actions" : [ "collStats", "dbHash", "dbStats", "find", "killCursors", "planCacheRead" ] }, { "resource" : { "db" : "admin", "collection" : "system.indexes" }, "actions" : [ "collStats", "dbHash", "dbStats", "find", "killCursors", "planCacheRead" ] }, { "resource" : { "db" : "admin", "collection" : "system.namespaces" }, "actions" : [ "collStats", "dbHash", "dbStats", "find", "killCursors", "planCacheRead" ] } ] }
Retrieve the restaurants data from here
Previous:
db.dropAllRoles() method
Next:
db.revokeRolesFromRole() method
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/mongodb/shell-methods/role-management/db-grantPrivilegesToRole.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics