Sử dụng db.createUser() trong database admin với role userAdminAnyDatabase (quyền quản trị user trên tất cả database).
Cú pháp:
use admin
db.createUser({
user: "yourUserName",
pwd: "yourPassword",
roles: [ { role: "yourRoleName", db: "yourDatabaseName" } ]
})
Ví dụ tạo user "David Miller" với role userAdminAnyDatabase trên database admin:
> use admin
switched to db admin
> db.createUser({
... user: "David Miller",
... pwd: "123456",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... });
Kết quả:
Successfully added user: { "user" : "David Miller", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Các role built-in phổ biến:
userAdminAnyDatabase: Quản trị user/role tất cả DBreadWriteAnyDatabase: Đọc/ghi tất cả DBdbAdminAnyDatabase: Quản trị DB (index, stats, v.v.)root: Toàn quyền (superuser)readWrite,read,dbAdmintrên DB cụ thể
Lưu ý bảo mật: Luôn dùng mật khẩu mạnh, nguyên tắc least privilege (chỉ cấp quyền cần thiết), bật authentication (--auth).