Cấu hình tính năng xác thực trên Database MongoDB

MongoDB là một dạng phần mềm cơ sở dữ liệu sử dụng mã nguồn mở NoSQL, MongoDB hoạt động dựa vào các khái niệm Collection và Document. Nó có hiệu suất cao cùng với tính khả dụng tốt và dễ dàng mở rộng. Bản cài mặc định cấu hình authorization của MongoDB được set mặc

MongoDB là một dạng phần mềm cơ sở dữ liệu sử dụng mã nguồn mở NoSQL, MongoDB hoạt động dựa vào các khái niệm Collection và Document. Nó có hiệu suất cao cùng với tính khả dụng tốt và dễ dàng mở rộng.
Bản cài mặc định cấu hình authorization của MongoDB được set mặc định disabled, điều này có nghĩa rằng bất kỳ người dùng nào có được kết nối port 27017 của MongoDB đều có quyền truy cập đầy đủ vào cơ sở dữc liệu.

Để bảo vệ lỗ hổng này, chúng ta sẽ cần tạo một người dùng quản trị, sau đó chúng ta sẽ bật xác thực và kết nối đến với tư cách là người dùng quản trị để truy cập cơ sở dữ liệu.

Bước 1: Adding an Administrative User

# mongo
> show dbs
READ__ME_TO_RECOVER_YOUR_DATA  0.000GB
admin                          0.007GB
config                         0.000GB
> use admin
switched to db admin
> db.createUser({user: "AdminSammy",pwd: passwordPrompt(),roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]})
Enter password: 
> quit()

Bước 2: Enabling Authentication

vim /etc/mongod.conf
security:
  #authorization: disabled
  authorization: enabled
  
systemctl restart mongodb

Bước 3: Testing Authentication Setting

Truy cập mongo

# mongo
MongoDB shell version v4.4.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f446eda6-1a52-4cb0-94a2-0a5014e446df") }
MongoDB server version: 4.4.6
> show dbs

output: Không hiển thị thông tin database

Truy cập mongo với user vừa tạo bước 1

# mongo -u AdminSammy -p --authenticationDatabase admin
MongoDB shell version v4.4.6
Enter password: 
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("7c1e7712-da03-4573-8edf-468592fd16e3") }
MongoDB server version: 4.4.6
> show dbs;
READ__ME_TO_RECOVER_YOUR_DATA  0.000GB
admin                          0.007GB
config                         0.000GB
local                          0.000GB

output: Có hiển thị thông tin database

Vậy là chúng ta đã xong việc cấu hình tính năng xác thực trên Database MongoDB, các bạn có thể sử dụng các tools quản trị để kết nối. Mình đang dùng tool NoSQLBooster để kết nối.
Bạn có thể tạo thêm các database, user, phân quyền qua tool NoSQLBooster

image.png

image.png

Nguồn: viblo.asia

Bài viết liên quan

Thay đổi Package Name của Android Studio dể dàng với plugin APR

Nếu bạn đang gặp khó khăn hoặc bế tắc trong việc thay đổi package name trong And

Lỗi không Update Meta_Value Khi thay thế hình ảnh cũ bằng hình ảnh mới trong WordPress

Mã dưới đây hoạt động tốt có 1 lỗi không update được postmeta ” meta_key=

Bài 1 – React Native DevOps các khái niệm và các cài đặt căn bản

Hướng dẫn setup jenkins agent để bắt đầu build mobile bằng jenkins cho devloper an t

Chuyển đổi từ monolith sang microservices qua ví dụ

1. Why microservices? Microservices là kiến trúc hệ thống phần mềm hướng dịch vụ,