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

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th