Definición
db.revokeRolesFromRole(rolename, roles, writeConcern)Elimina los roles heredados especificados de un rol.
Importante
Método mongosh
Esta página documenta un método
mongosh. No se trata de la documentación de comandos de base de datos ni de controladores específicos de lenguajes de programación, como Node.js.Para el comando de base de datos, consulta el comando
revokeRolesFromRole.Para obtener información sobre los controladores de la API de MongoDB, consulte la documentación del controlador de MongoDB específica del lenguaje.
El método
db.revokeRolesFromRole()utiliza la siguiente sintaxis:db.revokeRolesFromRole( "<rolename>", [ <roles> ], { <writeConcern> } ) El método
db.revokeRolesFromRole()toma los siguientes argumentos:ParameterTipoDescripciónrolenamestring
El nombre del rol del cual se deben revocar roles.
rolesarreglo
Los roles heredados a remover.
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.revokeRolesFromRole(), puede especificar el rol con 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 la compatibilidad de Atlas con todos los comandos, 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
Set de réplicas
Si se ejecuta en un conjunto de réplicas, db.revokeRolesFromRole() se ejecuta utilizando la preocupación de escritura "majority" de forma predeterminada.
Acceso requerido
Se debe tener la revokeRole sobre una base de datos para revocar un rol en esa base de datos.
Ejemplo
El rol purchaseAgents en la base de datos emea hereda privilegios de varios otros roles, según se indica en el arreglo roles:
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readOrdersCollection", "db" : "emea" }, { "role" : "readAccountsCollection", "db" : "emea" }, { "role" : "writeOrdersCollection", "db" : "emea" } ] }
La siguiente operación db.revokeRolesFromRole() en la base de datos emea elimina dos roles del rol purchaseAgents:
use emea db.revokeRolesFromRole( "purchaseAgents", [ "writeOrdersCollection", "readOrdersCollection" ], { w: "majority" , wtimeout: 5000 } )
El rol purchaseAgents ahora contiene un solo rol:
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readAccountsCollection", "db" : "emea" } ] }