Definición
grantRolesToUserOtorga roles adicionales a un usuario.
Tip
In
mongosh, this command can also be run through thedb.grantRolesToUser()helper method.Helper methods are convenient for
mongoshusers, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
Sintaxis
The grantRolesToUser command uses the following syntax:
db.runCommand( { grantRolesToUser: "<user>", roles: [ <roles> ], writeConcern: { <write concern> }, comment: <any> } )
Campos de comandos
El comando toma los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| string | El nombre del usuario al que se le deben otorgar roles adicionales. |
| arreglo | Un arreglo de roles adicionales para conceder al usuario. |
| Documento | Opcional. El nivel de confirmación de escritura (write concern) de la operación. Consulte Especificación de nivel de confirmación de escritura (write concern). |
| any | Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:
Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.). |
En el campo roles, puede especificar tanto roles de funcionalidad incorporada como roles definidos por el usuario.
To specify a role that exists in the same database where grantRolesToUser runs, you can either specify the role with the name of the role:
"readWrite"
O puede especificar el rol con un documento, como en:
{ role: "<role>", db: "<database>" }
Para especificar un rol que existe en una base de datos diferente, especifique el rol mediante un documento.
Acceso requerido
Debes tener la grantRole acción en una base de datos para conceder un rol en esa base de datos.
Ejemplo
Dado un usuario accountUser01 en la base de datos products con los siguientes roles:
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]
The following grantRolesToUser operation gives accountUser01 the read role on the stock database and the readWrite role on the products database.
use products db.runCommand( { grantRolesToUser: "accountUser01", roles: [ { role: "read", db: "stock"}, "readWrite" ], writeConcern: { w: "majority" , wtimeout: 2000 } } )
El usuario accountUser01 en la base de datos products ahora tiene los siguientes roles:
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]