Kích hoạt chứng thực trên dịch vụ MongoDB

Kích hoạt chứng thực trên dịch vụ MongoDB Cuongquach.com | Mặc định khi cài đặt MongoDB lần đầu tiên xong thì dịch vụ MongoDB không có bật tính năng chứng thực người dùng truy cập vào CSDL MongoDB. Điều này khá là nguy hiểm trong hệ thống production, nên khi cài đặt xong chúng ta cần thực hiện việc cấu hình kiểm soát quyền truy cập đối với MongoDB bằng cách kích hoạt chứng thực để xác thực người truy cập. Khi truy cập hệ thống MongoDB với quyền kiểm soát truy cập đã kích hoạt, user sẽ chỉ có thể thực hiện các thao tác được cho phép bởi role (vai trò) chỉ định.

kich-hoat-chung-thuc-trong-mongodb

Có thể bạn quan tâm chủ đề khác
Cài đặt MongoDB 4 trên CentOS 7

1. Tạo user ‘admin’ trong database ‘admin’

Đầu tiên chúng ta cần tạo một tài khoản ‘admin‘ có toàn quyền hoạt động với quyền hạn role ‘userAdminAnyDatabase‘ cho database ‘admin‘ của dịch vụ MongoDB. User này có thể quản trị các thao tác về user liên quan đến các database khác nữa như : tạo người dùng mới, phân quyền hạn, truy hồi quyền hạn, xoá hoặc chỉnh sửa các quyền hạn tuỳ biến. Rồi sau đó mới bật chế độ chứng thực người dùng vào dịch vụ MongoDB. Giờ chúng ta login mongo shell khi lần đầu cài đặt sẽ không yêu cầu chứng thực user nào cả.

# mongo

Chuyển đổi sử dụng sang database ‘admin‘.

> use admin

Kế đến chúng ta sẽ tạo user với quyền hạn ‘userAdminAnyDatabase‘ , quyền hạn này giúp user của bạn được phép khởi tạo các user khác trên các database khác trong MongoDB.

> db.createUser(
  {
    user: "admin",
    pwd: "cuongquachpass",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

Thoát khỏi Mongo Shell (Ctrl+D).

Việc tạo tài khoản ‘admin‘ cho database ‘admin‘ chỉ quản lý quyền truy cập với database ‘admin‘ trong MongoDB. Nếu bạn có các database khác thì cần phải tạo user và phân quyền hạn (role) khác nhau cho user đó đối với các database khác.

2. Kích hoạt chứng thực trên dịch vụ MongoDB

Thay đổi cấu hình ở phần ‘authorization‘ thành ‘enabled‘ trong file config dịch vụ ‘mongod‘.

# vi /etc/mongod.conf
security:
    authorization: "enabled"

Khởi động lại dịch vụ MongoDB để áp dụng cấu hình mới.

# systemctl restart mongod

3. Kiểm tra đăng nhập MongoDB

Giờ sau khi đã kích hoạt tính năng chứng thực cho MongoDB thì mỗi lần bạn kết nối MongoDB. Có nhu cầu quản trị với các database khác thì sẽ cần nhập thông tin user và mật khẩu để chứng thực người dùng được phép kết nối tương tác. Ví dụ dưới, bạn muốn đăng nhập sử dụng database ‘admin‘ thì cần nhập thông tin user/pass đã tạo ở trên.

Cú pháp 1:

# mongo mongodb://<host>:<port>

Cú pháp 2:

# mongo mongodb://<user>:<pass>@<host>:<port>

VÍ dụ :

# mongo mongodb://127.0.0.1:27017
> use admin
> db.auth("admin", "cuongquachpass")

Khá là đơn giản để kích hoạt tính năng chứng thực trên dịch vụ MongoDB phải không nào ? Chúc các bạn thành công.

Nguồn: https://cuongquach.com/

Previous articleEbook Code Complete 2 (PDF)
Next articleEbook VMware vSphere 6.7 Clustering Deep Dive (PDF)
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !