MongoDb — User and Password
Essa vai ser rápida, é só pra deixar claro que apesar do mongo na instalação default dele não termos aquela segurança básica (login/senha), mas está lá, tá disponível pra você usar a segurança dele.
Para não restar dúvidas vamos configurar a segurança na nossa instância do mongo.
$ mongo
$ use admin
$ db.createUser(
{
user: "root",
pwd: "123",
roles: [ { role: "root", db: "admin" } ]
})
Editando nossas configs:
$ sudo vi /usr/local/etc/mongod.conf
```
security:
authorization: enabled
```
$ service mongod restart
Vamos nos logar com o usuário root que acabamos de criar, e criar um outro para a nossa base da aplicação.
$ mongo -u "root" -p "123" --authenticationDatabase "admin"
$ use appDb
$ db.createUser({
user: "userApp1",
pwd: "user123",
roles: ["readWrite"]
})
Agora vamos logar com o usuário da aplicação:
$ mongo -u "userApp1" -p "user123" --authenticationDatabase "appDb"
Agora é só você tentar fazer qualquer operação fora da base que você tem acesso.
Pronto, agora parem de falar que o mongo é inseguro e dá uma olhada na doc, você vai ver que tem uma infinidade de modos de autenticação, como:
- Autenticação usando certificado
- Autenticação Kerberos no Windows/Linux
- Autenticação LDAP com ActiveDirectory ou OpenLDAP
Para especificar o tipo de autenticação você define a propriedade authenticationMechanisms.
$ mongod --setParameter authenticationMechanisms=PLAIN --auth
Fui !