Definición
grantRolesToRoleOtorga roles a un rol definido por el usuario.
Tip
mongoshEn, este comando también se puede ejecutar a través del métododb.grantRolesToRole()auxiliar.Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.El comando afecta a los roles en la
grantRolesToRolegrantRolesToRolebase de datos donde se ejecuta el comando. tiene la siguiente sintaxis:{ grantRolesToRole: "<role>", roles: [ { role: "<role>", db: "<database>" }, ... ], writeConcern: { <write concern> }, comment: <any> } El comando tiene los siguientes
grantRolesToRolecampos:CampoTipoDescripcióngrantRolesToRolestring
El nombre de un rol para agregar roles subsidiarios.
rolesarreglo
Una serie 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).
commentany
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:
Mensajes de registro de mongod, en el campo
attr.command.cursor.comment.Salida del perfilador de base de datos, en el campo
command.comment.currentOpde salida, en el campocommand.comment.
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.Para especificar un rol que existe en la misma base de datos donde se ejecuta
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 comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M,0 M2 y5 M. Para obtener más información, consulte 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
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
El siguiente comando actualiza grantRolesToRole el productsReaderWriter rol en la products base de datos para heredar los privilegios del productsReader rol en la products base de datos:
use products db.runCommand( { grantRolesToRole: "productsReaderWriter", roles: [ "productsReader" ], writeConcern: { w: "majority" , wtimeout: 5000 } } )