Hướng dẫn mongodb root role - vai trò gốc mongodb

This entry is part 19 of 24 in the series MongoDB

  • MongoDB là gì? Các khái niệm trong MongoDB
  • Hướng dẫn cài đặt, cấu hình MongoDB trên Windows 10
  • Cài đặt và sử dụng Robo 3T (RoboMongo) trên Windows
  • Hướng dẫn cài đặt MongoDB trên Linux (Ubuntu 16.04)
  • Hướng dẫn MongoDB – Tạo database trong MongoDB
  • Hướng dẫn MongoDB – Xóa, DROP database trong MongoDB
  • Tạo bảng, collections trong MongoDB (Tạo bằng dòng lệnh, Robo3t)
  • Xóa bảng, collections trong MongoDB (Xóa bằng lệnh/ Robo3T)
  • Insert document, bản ghi trong MongoDB (Insert bằng lệnh, Robo3T)
  • Truy vấn dữ liệu/document, find(), Select, Where trong MongoDB
  • Xóa document, row trong MongoDB (bằng dòng lệnh, Robo3T)
  • Update document, dữ liệu trong MongoDB
  • Projection trong MongoDB (SELECT field/column trong MongoDB)
  • Sắp xếp trong MongoDB(orderBy, sorting() trong MongoDB)
  • Ưu nhược điểm của MongoDB, khi nào nên dùng MongoDB
  • Xóa cột, field, trường của collections trong MongoDB ($unset)
  • Kiểm tra null, check tồn tại trong MongoDB với $exists
  • Đổi tên field trong MongoDB với $rename
  • Tạo user/roles, phân quyền người dùng trên MongoDB
  • Các loại roles, vai trò, quyền trong MongoDB.
  • Đăng nhập mongodb với username và password (database mongo)
  • Tạo Replica Set trong MongoDB, Ví dụ Replica Set MongoDB
  • Replication, Replica Set trong MongoDB là gì?
  • Phân trang trong MongoDB (skip(), limit() paging trong MongoDB)

Tạo user/roles, phân quyền người dùng trên MongoDB

Các loại roles, vai trò, quyền trong MongoDB.

db.createUser(
  {
    user: "username",
    pwd: "password",
    roles: [ { role: "role_name", db: "db_name" } ]
  }
)

Đăng nhập mongodb với username và password (database mongo)

Tạo Replica Set trong MongoDB, Ví dụ Replica Set MongoDB

Replication, Replica Set trong MongoDB là gì?

Phân trang trong MongoDB (skip(), limit() paging trong MongoDB)

Để tạo user trong MongoDB ta sử dụng method createUser()

use admin

db.createUser({ user: "kai", pwd: "123456", roles: [ { role: "root", db: "admin" } ] })

Trong đó roles: sẽ chứa 1 list các role cho user vừa tạo, mỗi role sẽ bao gồm tên database + role tương ứng với database đó.

(Xem lại: Các loại roles, vai trò, quyền trong MongoDB)

use demo

db.createUser({ user: "sena", pwd: "123456", roles: [ { role: "read", db: "demo" } ] })

Tạo System user

Để tạo system user, ta sẽ tạo user trên database admin, các system user này có thể truy cập, chỉnh sửa các database khác nếu được cấp quyền.

Ví dụ mình tạo user kai/123456 với role cao nhất là root

Tạo user cho từng database

Hướng dẫn mongodb root role - vai trò gốc mongodb

Ví dụ tạo user sena/123456 với quyền chỉ đọc

use admin

db.createUser({ user: "kai", pwd: "123456", roles: [ { role: "root", db: "admin" } ] })

0 với database
use admin

db.createUser({ user: "kai", pwd: "123456", roles: [ { role: "root", db: "admin" } ] })

1

Ví dụ mình tạo user kai/123456 với role cao nhất là root

Tạo user cho từng database

Ví dụ tạo user sena/123456 với quyền chỉ đọc

use admin

db.createUser({ user: "kai", pwd: "123456", roles: [ { role: "root", db: "admin" } ] })

0 với database
use admin

db.createUser({ user: "kai", pwd: "123456", roles: [ { role: "root", db: "admin" } ] })

1

mongo -u username -p password host:port/database_name

Demo

mongo -u kai -p 123456 localhost:27017/admin

Để tạo user trên MongoDB, trước hết bạn phải đăng nhập bằng chế độ non-auth.

(Xem lại: Bật, tắt chức năng đăng nhập MongoDB với username, password.)

Ví dụ tạo user kai/123456 với role root

Hướng dẫn mongodb root role - vai trò gốc mongodb

Sau khi thêm được user, ta bật chức năng auth của MongoDB và khởi động lại MongoDB.

Để đăng nhập MongoDB với username password ta có 2 cách:

Hướng dẫn mongodb root role - vai trò gốc mongodb

Cách 1: chỉ rõ username, password và database khi connect:

Hướng dẫn mongodb root role - vai trò gốc mongodb

Ví dụ: đăng nhập MongoDB với account (kai/123456) vừa tạo ở trên.

Hướng dẫn mongodb root role - vai trò gốc mongodb
Hướng dẫn mongodb root role - vai trò gốc mongodb

Cách 2: sử dụng method db.auth()

References:

https://docs.mongodb.com/manual/reference/method/db.createUser/