Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

grantPrivilegesToRole (comando de banco de dados)

grantPrivilegesToRole

Atribui privilégio adicionais a um role definido pelo usuário no reconhecimento de data center no qual o comando é executado.

Dica

In mongosh, this command can also be run through the db.grantPrivilegesToRole() helper method.

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.

The grantPrivilegesToRole command uses the following syntax:

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

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Importante

This command is not supported in M0 and Flex clusters. For more information, see Unsupported Commands.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

O comando tem os seguintes campos:

Campo
Tipo
Descrição

grantPrivilegesToRole

string

O nome do role definido pelo usuário ao qual conceder privilégios.

privileges

array

Os privilégios para adicionar à role. Para saber o formato de um privilégio, consulte privileges.

writeConcern

documento

Opcional. O nível da write concern para a operação. Consulte Especificação de write concern.

comment

any

Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:

Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc).

Os privilégios de um role se aplicam ao banco de dados onde o role é criado. Uma role criada no reconhecimento de data center admin pode incluir privilégio que se aplicam a todos os reconhecimento de data center ou ao cluster.

Você deve ter a ação grantRole no banco de dados que é alvo do privilégio para conceder o privilégio. Para conceder um privilégio em vários bancos de dados ou no recurso cluster, você deve ter a ação grantRole no banco de dados admin.

The following grantPrivilegesToRole command grants two additional privileges to the service role that exists in the products database:

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 }
}
)

O primeiro privilégio na array privileges permite ao usuário pesquisar em todas as collections que não sejam do sistema no banco de banco de dados products . O privilégio não permite queries em collections do sistema, como a collection system.js . Para conceder acesso a essas collections de sistema, provisione explicitamente o acesso na array privileges . Consulte o Documento de recursos sobre implementações autogerenciadas.

O segundo privilégio permite explicitamente a ação find em collection system.js em todos os reconhecimento de data center.