MongoDB Bảo mật, Giám sát & Sao lưu (Mongodump)

Mục lục:

Anonim

Một trong những khái niệm chính trong MongoDB là quản lý cơ sở dữ liệu. Các khía cạnh quan trọng như bảo mật, sao lưu, truy cập cơ sở dữ liệu đều là những khái niệm quan trọng khi nói đến quản trị cơ sở dữ liệu.

Trong hướng dẫn này, bạn sẽ học -

  • Tổng quan về bảo mật cơ sở dữ liệu
  • Thủ tục sao lưu - mongodump
  • Giám sát Mongodb
  • Lập chỉ mục và Cân nhắc Hiệu suất

Tổng quan về bảo mật MongoDB

MongoDB có khả năng xác định cơ chế bảo mật cho cơ sở dữ liệu. Theo mặc định, người ta sẽ không muốn mọi người có quyền truy cập mở vào mọi cơ sở dữ liệu trong MongoDB, do đó yêu cầu về việc có một số loại cơ chế bảo mật trong MongoDB là quan trọng.

Sau đây là các phương pháp hay nhất khi triển khai bảo mật trong cơ sở dữ liệu

  1. Bật kiểm soát truy cập - Tạo người dùng để tất cả các ứng dụng và người dùng bắt buộc phải có một số loại cơ chế xác thực khi truy cập cơ sở dữ liệu trên MongoDB.

  2. Định cấu hình kiểm soát truy cập dựa trên vai trò - Đôi khi có thể có một nhóm hợp lý các quyền có thể được yêu cầu, có thể được phân nhóm trong các vai trò. Người dùng sau đó có thể được chỉ định cho các vai trò này.

  3. Cố gắng định cấu hình MongoDB để sử dụng một số loại giao thức mã hóa như TLS hoặc SSL. Các giao thức này có thể được sử dụng để mã hóa lưu lượng truyền giữa máy khách và môi trường mongo DB.

  4. Định cấu hình kiểm toán - Các nhà quản trị thông thường cần biết ai đang làm gì, điều này giúp ích cho việc phân tích các vấn đề sau này. Cách tốt nhất là bật kiểm tra trong MongoDB.

  5. Chạy phiên bản máy chủ MongDB với một id người dùng riêng biệt có quyền truy cập vào các tài nguyên cần thiết trên môi trường máy chủ.

Quy trình sao lưu Mongodb - mongodump

Khi làm việc với MongDB, điều quan trọng là phải luôn đảm bảo quy trình sao lưu được thực hiện trong trường hợp dữ liệu trong MongoDB bị hỏng vì bất kỳ lý do gì.

Dưới đây là các cơ chế sao lưu có sẵn từ bên trong MongoDB

  1. Sao lưu bằng cách sao chép các tệp dữ liệu cơ bản - Đây có lẽ là cơ chế dễ dàng nhất, tất cả những gì cần làm là sao chép các tệp dữ liệu mà MongoDB cư trú và sao chép nó sang một vị trí khác mà lý tưởng là một máy chủ khác.
  2. Sao lưu cơ sở dữ liệu với mongodump - Công cụ mongodump đọc dữ liệu từ cơ sở dữ liệu MongoDB và tạo các tệp BSON có độ trung thực cao. Điều cần lưu ý là nếu tập dữ liệu có dung lượng lớn, thì mongodump có thể rất tốn tài nguyên, vì vậy để giảm thiểu vấn đề này, tiện ích nên được chạy trên một máy chủ phụ.
  3. MongoDB Cloud Manager Backup - MongoDB Cloud Manager liên tục sao lưu các bộ bản sao MongoDB và các cụm phân đoạn bằng cách đọc dữ liệu oplog từ môi trường MongoDB. MongoDB Cloud Manager có thể tạo khôi phục tại thời điểm bằng cách lưu trữ dữ liệu oplog để có thể tạo khôi phục vào bất kỳ thời điểm nào cho một nhóm bản sao cụ thể hoặc cụm phân đoạn.

Giám sát Mongodb

Giám sát là một trong những hoạt động quản trị quan trọng nhất trong MongoDB. Điều này là do bạn có thể chủ động hơn bằng cách theo dõi môi trường để biết các vấn đề có thể xảy ra.

Dưới đây là một số ví dụ để thực hiện giám sát

  1. mongostat sẽ cho bạn biết có bao nhiêu thời gian các hoạt động cơ sở dữ liệu như chèn, truy vấn, cập nhật, xóa, v.v. thực sự xảy ra trên máy chủ. Điều này sẽ cung cấp một ý tưởng tốt về mức độ tải mà máy chủ đang xử lý và sẽ cho biết liệu bạn có cần tài nguyên bổ sung trên máy chủ hoặc có thể là các máy chủ bổ sung để phân phối tải hay không.
  2. mongotop theo dõi và báo cáo hoạt động đọc và ghi hiện tại của một phiên bản MongoDB và báo cáo các thống kê này trên cơ sở mỗi bộ sưu tập.
  3. MongoDB cung cấp giao diện web hiển thị thông tin chẩn đoán và giám sát trong một trang web đơn giản. Người ta có thể duyệt đến url dưới đây trên máy chủ cục bộ của bạn để mở tiện ích quản trị web http: // localhost: 28017
  4. Lệnh serverStatus, hoặc db.serverStatus () từ shell, trả về tổng quan về trạng thái của cơ sở dữ liệu, với các chi tiết về việc sử dụng đĩa, sử dụng bộ nhớ, kết nối được thiết lập với môi trường MongoDB, v.v.

Cân nhắc về hiệu suất và lập chỉ mục MongoDB

  1. Chỉ mục rất quan trọng trong bất kỳ cơ sở dữ liệu nào và có thể được sử dụng để cải thiện hiệu quả của các truy vấn tìm kiếm trong MongoDB. Nếu bạn liên tục thực hiện các tìm kiếm trong tài liệu của mình, thì tốt hơn là thêm các chỉ mục trên các trường của tài liệu được sử dụng trong tiêu chí tìm kiếm.
  2. Cố gắng luôn giới hạn số lượng kết quả truy vấn trả về. Giả sử bạn có 2 tên trường trong một tài liệu, nhưng bạn chỉ muốn xem 2 trường từ tài liệu. Sau đó, hãy đảm bảo rằng truy vấn của bạn chỉ nhắm mục tiêu để hiển thị 2 trường bạn yêu cầu chứ không phải tất cả các trường.
  3. Nếu bạn muốn xem các giá trị trường nhất định, thì chỉ sử dụng các trường đó trong truy vấn. Không truy vấn tất cả các trường trong bộ sưu tập nếu chúng không được yêu cầu.

Tóm lược:

  • Việc thực hiện bảo mật trong cơ sở dữ liệu là rất quan trọng để đảm bảo rằng dữ liệu trong cơ sở dữ liệu được giữ an toàn.
  • Người dùng có thể được tạo trong cơ sở dữ liệu bằng lệnh createUser. Các vai trò cụ thể có thể được chỉ định cho người dùng để cấp cho họ các quyền cụ thể trên chính cơ sở dữ liệu.
  • Quản trị viên có thể được thêm vào cho tất cả các cơ sở dữ liệu chỉ dành cho các cơ sở dữ liệu cụ thể. Điều này đạt được bằng cách cấp cho userAdmin hoặc userAdminAnyDatabase vai trò.
  • Luôn sao lưu môi trường MongoDB của bạn để trong trường hợp xảy ra bất kỳ thảm họa nào, dữ liệu sẽ có thể khôi phục dễ dàng.
  • Luôn theo dõi môi trường MongoDB của bạn để chủ động hơn và xem các vấn đề trước khi chúng xảy ra.