Mongodb v3.4
Aby utworzyć bezpieczną bazę danych, musisz wykonać następujące czynności:
Upewnij się, że użytkownik rozpoczynający proces ma uprawnienia i że katalogi istnieją (/data/db
w tym przypadku).
1) Uruchom MongoDB bez kontroli dostępu.
mongod --port 27017 --dbpath /data/db
2) Połącz się z instancją.
mongo --port 27017
3) Utwórz administratora użytkownika (w bazie danych uwierzytelniania administratora) .
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
4) Uruchom ponownie instancję MongoDB z kontrolą dostępu.
mongod --auth --port 27017 --dbpath /data/db
5) Połącz się i uwierzytelnij jako administrator użytkownika.
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
6) Utwórz dodatkowych użytkowników zgodnie z potrzebami do wdrożenia (np. w testowej bazie danych uwierzytelniania) .
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
7) Połącz się i uwierzytelnij jako myTester.
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
W zasadzie właśnie wyjaśniłem krótką wersję oficjalnych dokumentów tutaj:https://docs.mongodb.com/master/tutorial/enable-authentication/