Definición
db.grantRolesToUser(username, roles, writeConcern)Otorga roles adicionales a un usuario.
Importante
Método mongosh
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.Para el comando de base de datos, consulta el comando
grantRolesToUser.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
The
db.grantRolesToUser()method uses the following syntax:db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } ) The
db.grantRolesToUser()method takes the following arguments:ParameterTipoDescripciónuserstring
El nombre del usuario al que se le van a conceder los roles.
rolesarreglo
Un arreglo de roles adicionales para conceder al usuario.
writeConcernDocumento
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).
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
db.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.
The
db.grantRolesToUser()method wraps thegrantRolesToUsercommand.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
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.
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.
Comportamiento
Set de réplicas
If run on a replica set, db.grantRolesToUser() is executed using "majority" write concern by default.
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 db.grantRolesToUser() operation gives accountUser01 the readWrite role on the products database and the read role on the stock database.
use products db.grantRolesToUser( "accountUser01", [ "readWrite" , { role: "read", db: "stock" } ], { w: "majority" , wtimeout: 4000 } )
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" } ]