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

grantRolesToUser (comando de banco de dados)

grantRolesToUser

Concede funções adicionais a um usuário.

Dica

mongoshEm, esse comando também pode ser executado por meio do método db.grantRolesToUser() assistente.

Os métodos auxiliares são convenientes para os mongosh usuários, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados . Nos casos em que a conveniência não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.

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

  • 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

Importante

Este comando não é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

O comando utiliza a seguinte grantRolesToUser sintaxe:

db.runCommand(
{
grantRolesToUser: "<user>",
roles: [ <roles> ],
writeConcern: { <write concern> },
comment: <any>
}
)

O comando utiliza os seguintes campos:

Campo
Tipo
Descrição

grantRolesToUser

string

O nome do usuário para fornecer funções adicionais.

roles

array

Uma série de funções adicionais a serem concedidas ao usuário.

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

No campo roles, é possível especificar roles incorporadas e roles definidas pelo usuário.

Para especificar uma role que existe no mesmo banco de dados onde o é executado, você pode especificar a role com o nome grantRolesToUser dela:

"readWrite"

Ou você pode especificar a role com um documento, como feito a seguir:

{ role: "<role>", db: "<database>" }

Para especificar uma role existente em outro banco de dados, especifique-a com um documento.

Você deve ter grantRole como uma ação em um banco de dados para conceder uma função neste banco de dados.

Dado um usuário accountUser01 no banco de dados do products com os seguintes roles:

"roles" : [
{ "role" : "assetsReader",
"db" : "assets"
}
]

A operação a seguir fornece grantRolesToUser accountUser01 a função read no stock banco de dados e a função readWrite no products banco de dados.

use products
db.runCommand( { grantRolesToUser: "accountUser01",
roles: [
{ role: "read", db: "stock"},
"readWrite"
],
writeConcern: { w: "majority" , wtimeout: 2000 }
} )

O usuário accountUser01 no banco de dados de products agora tem os seguintes roles:

"roles" : [
{ "role" : "assetsReader",
"db" : "assets"
},
{ "role" : "read",
"db" : "stock"
},
{ "role" : "readWrite",
"db" : "products"
}
]