Como criar usuário & adicionar função no MongoDB

Índice:

Anonim

MongoDB Criar usuário administrador

A criação de um administrador de usuário no MongoDB é feita usando o método createUser. O exemplo a seguir mostra como isso pode ser feito.

db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

Explicação do código:

  1. O primeiro passo é especificar o "nome de usuário" e a "senha" que precisam ser criados.
  2. A segunda etapa é atribuir uma função ao usuário. Uma vez que precisa ser um administrador de banco de dados, nesse caso atribuímos a função "userAdminAnyDatabase". Esta função permite que o usuário tenha privilégios administrativos para todos os bancos de dados no MongoDB.
  3. O parâmetro db especifica o banco de dados admin, que é um banco de dados Meta especial dentro do MongoDB que contém as informações desse usuário.

Se o comando for executado com sucesso, a seguinte saída será mostrada:

Resultado:

A saída mostra que um usuário chamado "Guru99" foi criado e esse usuário tem privilégios sobre todos os bancos de dados no MongoDB.

MongoDB Criar Usuário para Banco de Dados Único

Para criar um usuário que gerenciará um único banco de dados, podemos usar o mesmo comando mencionado acima, mas precisamos usar apenas a opção "userAdmin".

O exemplo a seguir mostra como isso pode ser feito;

db.createUser({user: "Employeeadmin",pwd: "password",roles:[{role: "userAdmin" , db:"Employee"}]})

Explicação do código:

  1. O primeiro passo é especificar o "nome de usuário" e a "senha" que precisam ser criados.
  2. A segunda etapa é atribuir uma função ao usuário que, neste caso, como ele precisa ser um administrador de banco de dados, é atribuída à função "userAdmin". Esta função permite que o usuário tenha privilégios administrativos apenas no banco de dados especificado na opção db.
  3. O parâmetro db especifica o banco de dados no qual o usuário deve ter privilégios administrativos.

Se o comando for executado com sucesso, a seguinte saída será mostrada:

Resultado:

A saída mostra que um usuário chamado "Employeeadmin" foi criado e esse usuário tem privilégios apenas no banco de dados "Employee".

Gerenciando usuários

Primeiro entenda as funções que você precisa definir. Existe uma lista completa de funções disponíveis no MongoDB. Por exemplo, existe a função de "leitura" que permite apenas acesso de leitura aos bancos de dados e, em seguida, existe a função de "leitura e gravação" que fornece acesso de leitura e gravação ao banco de dados, o que significa que o usuário pode emitir o inserir, excluir e comandos de atualização em coleções nesse banco de dados.

db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})

O fragmento de código acima mostra que um usuário chamado Mohan foi criado e recebeu várias funções em vários bancos de dados. No exemplo acima, ele recebe permissão somente leitura para o banco de dados "Marketing" e permissão readWrite para o banco de dados "Vendas".