MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

como obter a autenticação mongodb correta


Sempre que você configurar o mongodb, você deve criar um usuário administrador com a função userAdminAnyDatabase, e você poderá criar esse usuário mesmo que o mongod seja iniciado com --auth ou não. você pode criar este usuário pelo comando abaixo.
use admin

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

Depois disso, se a autorização não estiver ativada, execute-o executando o mongod com o sinalizador --auth ou ative a autorização no mongod.conf e reinicie o servidor mongod.

Em seguida, faça login no shell mongo pelo comando abaixo com o usuário administrador
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

Vá para o banco de dados e crie um usuário com permissão readWrite.
use myapplication

db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "myapplication" }]
  }
)

Agora você pode usar o usuário myTester para ler/gravar no banco de dados myapplication e, sempre que criar um novo banco de dados, inicie o shell mongo com o usuário myUserAdmin e crie um novo usuário para o novo banco de dados.

No mongodb você também pode criar um único usuário, e dar a ele todas as permissões para todo banco de dados, mas isso você não deve fazer.

Se você quiser pesquisar mais, você pode verificar o link abaixo. https://docs.mongodb.com/v3.2/tutorial/ habilitar autenticação/

E quando você acidentalmente bloqueou o mongodb, você pode desativar a autorização do arquivo mongod.conf e acessar seus dados.