Vediamo come abilitare Access Control e autenticazione in MongoDB, e come creare l'utente Admin. Questa guida รจ stata testata con le seguenti versioni:
mongod --port 27017 --dbpath /var/lib/mongodb
mongo --port 27017
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: passwordPrompt(), // o scrivere direttamente la password
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
mongod
. Per esempio, dalla shell mongo, inserire il seguente comando:db.adminCommand( { shutdown: 1 } )
mongo
mongod
con access control abilitato
mongod
viene avviato dalla riga di comando:mongod --auth --port 27017 --dbpath /var/lib/mongodb
mongod
viene avviato utilizzando un file di configurazione:
security:
authorization: enabled
mongo --port 27017 --authenticationDatabase "admin" -u "myUserAdmin" -p
utenteProva
al database provaDb
, col ruolo di readWrite
nel database provaDb
e col ruolo di read
nel database altroDb
:
use provaDb
db.createUser(
{
user: "utenteProva",
pwd: passwordPrompt(), // o scrivere direttamente la password
roles: [ { role: "readWrite", db: "provaDb" },
{ role: "read", db: "altroDb" } ]
}
)
utenteProva
:mongo --port 27017 -u "utenteProva" --authenticationDatabase "provaDb" -p