Definición
db.grantRolesToRole(rolename, roles, writeConcern)Otorga roles a un rol definido por el usuario.
Importante
Método mongosh
Esta página documenta a Método
mongosh. Esta no es la documentación de comandos de base de datos ni de controladores específicos del lenguaje, como Node.js.Para el comando de base de datos, consulta el comando
grantRolesToRole.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
El
db.grantRolesToRole()método utiliza la siguiente sintaxis:db.grantRolesToRole( "<rolename>", [ <roles> ], { <writeConcern> } ) El método
db.grantRolesToRole()toma los siguientes argumentos:ParameterTipoDescripciónrolenamestring
El nombre del rol al que se le otorgarán sub roles.
rolesarreglo
Un arreglo de roles de los cuales heredar.
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.Para especificar un rol que existe en la misma base de datos donde se ejecuta
db.grantRolesToRole(), puedes especificar el rol utilizando el nombre del rol:"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.
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
Si se ejecuta en un set de réplicas, db.grantRolesToRole() se ejecuta utilizando el nivel de confirmación de escritura "majority" por defecto.
Alcance
Un rol puede heredar privilegios de otros roles en su base de datos. Un rol creado en la base de datos admin puede heredar privilegios de roles en cualquier base de datos.
Acceso requerido
Debes tener la grantRole acción en una base de datos para conceder un rol en esa base de datos.
Ejemplo
La siguiente operación de db.grantRolesToRole() actualiza el rol productsReaderWriter en la base de datos products para heredar los privilegios del rol productsReader:
use products db.grantRolesToRole( "productsReaderWriter", [ "productsReader" ], { w: "majority" , wtimeout: 5000 } )