Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

grantPrivilegesToRole (comando de base de datos)

grantPrivilegesToRole

Asigna adicionales Privilegios a un rol definido por el usuario en la base de datos donde se ejecuta la orden.

Tip

En mongosh, este comando también puede ejecutarse a través del método asistente db.grantPrivilegesToRole().

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 grantPrivilegesToRole utiliza la siguiente sintaxis:

db.runCommand(
{
grantPrivilegesToRole: "<role>",
privileges: [
{
resource: { <resource> }, actions: [ "<action>", ... ]
},
...
],
writeConcern: { <write concern> },
comment: <any>
}
)

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 M0 y Flex. Para obtener más información, 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.

El comando tiene los siguientes campos:

Campo
Tipo
Descripción

grantPrivilegesToRole

string

El nombre del rol definido por el usuario al cual se otorgarán privilegios.

privileges

arreglo

Los privilegios para añadir al rol. Para conocer el formato de un privilegio, consulta privileges.

writeConcern

Documento

comment

any

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:

Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.).

Los privilegios de un rol se aplican a la base de datos donde se creó. Un rol creado en la admin base de datos puede incluir privilegios que se aplican a todas las bases de datos o al clúster.

Debe tener la grantRole acción en la base de datos a la que se dirige un privilegio para otorgar el privilegio. Para otorgar un privilegio en varias bases de datos o en el cluster recurso, debe tener la acción en grantRole la admin base de datos.

El siguiente comando otorga dos privilegios adicionales grantPrivilegesToRole al service rol que existe en la products base de datos:

use products
db.runCommand(
{
grantPrivilegesToRole: "service",
privileges: [
{
resource: { db: "products", collection: "" }, actions: [ "find" ]
},
{
resource: { db: "products", collection: "system.js" }, actions: [ "find" ]
}
],
writeConcern: { w: "majority" , wtimeout: 5000 }
}
)

El primer privilegio del arreglo privileges permite al usuario buscar en todas las colecciones que no son del sistema en la base de datos products. El privilegio no permite queries en colecciones del sistema, como la colección system.js. Para conceder acceso a estas colecciones del sistema, aprovisione explícitamente el acceso en el arreglo privileges. Consulta el Documento de recurso sobre implementaciones autogestionado.

El segundo privilegio permite explícitamente la find acción en colecciones en todas las bases de system.js datos.

Volver

dropAllRolesFromDatabase

En esta página