Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Conceder funções à funções

Nesta página

  • Definição
  • Comportamento
  • Acesso obrigatório
  • Exemplo
grantRolesToRole

Concede roles a um role definido pelo usuário.

Dica

Em mongosh, este comando também pode ser executado por meio do método auxiliar db.grantRolesToRole() .

Os métodos auxiliares são convenientes para os usuários mongosh , 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.

O comando grantRolesToRole afeta roles no banco de dados onde o comando é executado. grantRolesToRole tem a seguinte sintaxe:

{ grantRolesToRole: "<role>",
roles: [
{ role: "<role>", db: "<database>" },
...
],
writeConcern: { <write concern> },
comment: <any>
}

O comando grantRolesToRole tem os seguintes campos:

Campo
Tipo
Descrição
grantRolesToRole
string
O nome de um role para adicionar roles secundários.
roles
variedade
Uma série de funções das quais herdar.
writeConcern
documento

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

comment
qualquer

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 grantRolesToRole é executado, você pode especificar a role com o nome 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.

Um papel pode herdar privilégios de outros papéis em seu banco de dados. Um papel criado no banco de dados do admin pode herdar privilégios de papéis em qualquer banco de dados.

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

O seguinte comando grantRolesToRole atualiza a role productsReaderWriter no banco de dados products para herdar os privilégios da role productsReader no banco de dados products :

use products
db.runCommand(
{ grantRolesToRole: "productsReaderWriter",
roles: [
"productsReader"
],
writeConcern: { w: "majority" , wtimeout: 5000 }
}
)
← conceder privilégios à função