Definición
revokeRolesFromRoleElimina los roles heredados especificados de un rol. El comando
revokeRolesFromRoletiene la siguiente sintaxis:Tip
En
mongosh, este comando también se puede ejecutar a través deldb.revokeRolesFromRole()método asistente.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.
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.
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { revokeRolesFromRole: "<role>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, comment: <any> } The command has the following fields: .. list-table:: :header-rows: 1 :widths: 20 20 80 * - Field - Type - Description * - ``revokeRolesFromRole`` - string - The role from which to remove inherited roles. * - ``roles`` - array - The inherited roles to remove. * - ``writeConcern`` - document - .. include:: /includes/fact-write-concern-spec-link.rst * - ``comment`` - any - .. include:: /includes/extracts/comment-content.rst .. |local-cmd-name| replace:: :dbcommand:`revokeRolesFromRole` .. include:: /includes/fact-roles-array-contents.rst
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 revokeRolesFromRole operación en la base de datos emea remueve dos roles del rol purchaseAgents:
use emea db.runCommand( { revokeRolesFromRole: "purchaseAgents", roles: [ "writeOrdersCollection", "readOrdersCollection" ], writeConcern: { w: "majority" , wtimeout: 5000 } } )
El rol purchaseAgents ahora contiene solo un rol:
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readAccountsCollection", "db" : "emea" } ] }