Các phương thức quản lý người dùng:
- db.auth(): Xác thực người dùng vào cơ sở dữ liệu.
- db.changeUserPassword(): Thay đổi mật khẩu của người dùng.
- db.createUser(): Tạo mới người dùng
- db.dropUser(): Xóa người dùng
- db.dropAllUser(): Xoát tất cả người dùng được liên kết với Cơ sở dữ liệu.
- db.getUser(): Lấy thông tin người dùng chỉ định.
- db.getUsers(): Lấy thông tin tất cả người dùng được liên kết với Cơ sở dữ liệu.
- db.grantRolesToUser(): Phân quyền cho người dùng.
- db.removeUser(): Xóa người dùng khỏi Cơ sở dữ liệu.
- db.revokeRolesFromUser(): Xóa vai trò của người dùng.
- db.updateUser(): Cập nhật dữ liệu người dùng.
- passwordPrompt(): Nhắc mất khẩu thay thế cho việc chỉ định mật khẩu trực tiếp trong các phương pháp quản lý hoặc xác thực người dùng mongosh khác nhau.
Tạo tài khoản người dùng trong MongoDB:
Cú pháp:
db.createUser(user, writeConcern)
Ví dụ:
db.createUser({
user: "ntthu",
pwd: "MatKhau",
roles: [{role: "userAdminAnyDatabase" , db:"admin"}]
})
Trong đó:
- user: Tên người dùng
- pwd: Mật khẩu của người dùng
- roles: xác định vai trò của người dùng ntthu
- userAdminAnyDatabase: cho phéo có quyền quản trị đối với tất cả các Database trong MongoDB
- db: Chỉ định cơ sở dữ liệu lưu trữ thông tin người dùng này.
Tạo người dùng ntthu có quyền quản trị một Database duy nhất (Data0):
db.createUser({
user: "ntthu",
pwd: "MatKhau",
roles: [{role: "userAdmin" , db:"Data0"}]
})
Tạo người dùng ntthu chỉ đọc cơ sở dữ liệu Data0 và có quyền ghi vào Data1
db.createUser({
user: "ntthu",
pwd: "MatKhau",
roles: [{role: "read" , db:"Data0"},
{role: "readWrite" , db:"Data1"}]
})
Bạn có thể sử dụng PasswordPrompt() để nhập mật khẩu thay vì đặt mật khẩu ngay trong câu lệnh:
db.createUser({
user: "ntthu",
pwd:passwordPrompt(),
roles: [{role: "readWrite" , db:"Data0"}]
})
Đổi mật khẩu người dùng trong MongoDB:
Cú pháp:
db.changeUserPassword(username, password)
- username: tên user cần đổi mật khẩu
- password: Mật khẩu mới hoặc passwordPrompt() để nhắc nhập mật khẩu của người dùng.
Phân quyền cho người dùng trong MongoDB:
Cú pháp:
db.grantRolesToUser(username, roles, writeConcern)
- username: tên người dùng
- roles: các quyền bổ sung để cấp cho người dùng
Ví dụ phân quyền cho user ntthu có quyền đọc và ghi vào Data0:
db.grantRolesToUser(
"ntthu",
["readWrite", {role:"readWrite", db:"Data0"}]
)
Xóa người dùng trong MongoDB:
Cú pháp: db.dropUser(username, writeConcern)
Ví dụ xóa người dùng ntthu:
db.dropUser("ntthu")
Giải pháp tổng đài cho doanh nghiệp, Tư vấn thi công hạ tầng mạng, Tư vấn thi công Datacenter, Tư vấn thi công hệ thống máy tính, An toàn thông tin và ứng cứu sự cố