Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tạo người dùng mới và phân quyền trong MongoDB

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ả DB
  • readWriteAnyDatabase: Đọc/ghi tất cả DB
  • dbAdminAnyDatabase: Quản trị DB (index, stats, v.v.)
  • root: Toàn quyền (superuser)
  • readWrite, read, dbAdmin trê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).