Authentification#
A savoir#
- MongoDB ne force pas l'authentification, ni les autorisations par défaut
- Les modeles de roles de MongoDB sont relativement limités
- ... mais ça s'améliore
Création d'un user pour le mode sécurisé#
Lancer MongoDB sans controle d'accès
$ mongod --port 27017 --dbpath /var/lib/mongodb
Lancer la commande mongosh
, puis taper :
> use admin
> db.createUser({
user: 'admin',
pwd: 'admin',
roles: [{
role: 'root',
db: 'admin'
}]
})
> exit
Lancement de MongoDB en mode sécurisé#
Eteindre MongoDB apres la création du user
> db.adminCommand( { shutdown: 1 } )
Relancer mongo avec l'option --auth
$ mongod --auth --port 27017 --dbpath /var/lib/mongodb
ou bien utiliser l'option security.authorization
dans le fichier de
configuration
security:
authorization: enabled
Authentification#
Ensuite relancer le client mongo en s'authentifiant :
$ mongosh --authenticationDatabase XXX -u admin -p
(où XXX vaut admin
ou $external
)