Definición
revokeRolesFromRoleElimina los roles heredados especificados de un rol. El comando tiene la siguiente
revokeRolesFromRolesintaxis:Tip
mongoshEn, este comando también se puede ejecutar a través deldb.revokeRolesFromRole()método 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.
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, como se enumera en la matriz 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 en revokeRolesFromRole la emea base de datos elimina dos roles del purchaseAgents rol:
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" } ] }