Trong khi ủy quyền xem xét việc đảm bảo máy khách truy cập vào hệ thống, xác thực sẽ kiểm tra loại quyền truy cập mà máy khách có trong MongoDB, khi họ đã được ủy quyền vào hệ thống.
Có nhiều cơ chế xác thực khác nhau, dưới đây chỉ là một số cơ chế trong số đó.
Xác thực MongoDB bằng chứng chỉ x.509
Sử dụng Chứng chỉ x.509 để xác thực máy khách - Chứng chỉ về cơ bản là chữ ký đáng tin cậy giữa máy khách và Máy chủ MongoDB.
Vì vậy, thay vì nhập tên người dùng và mật khẩu để kết nối với máy chủ, một chứng chỉ được chuyển giữa máy khách và Máy chủ MongoDB. Máy khách về cơ bản sẽ có một chứng chỉ máy khách sẽ được chuyển đến máy chủ để xác thực vào máy chủ. Mỗi chứng chỉ ứng dụng khách tương ứng với một người dùng MongoDB. Vì vậy, mỗi người dùng từ MongoDB phải có chứng chỉ riêng của họ để xác thực với máy chủ MongoDB.
Để đảm bảo điều này hoạt động, các bước sau đây phải được tuân theo;
- Chứng chỉ hợp lệ phải được mua từ cơ quan có thẩm quyền của bên thứ ba hợp lệ và cài đặt nó trên Máy chủ MongoDB.
- Chứng chỉ Máy khách phải có các thuộc tính sau (Một Tổ chức phát hành chứng chỉ (CA) phải cấp chứng chỉ cho cả máy khách và máy chủ. Chứng chỉ Máy khách phải chứa các trường sau - keyUsage và ExtendedKeyUsage.
- Mỗi người dùng kết nối với Máy chủ MongDB cần phải có một chứng chỉ riêng.
Xác thực Mongodb với Kerberos
Bước 1) Định cấu hình MongoDB với Xác thực Kerberos trên windows - Kerberos là một cơ chế xác thực được sử dụng trong môi trường máy khách-máy chủ lớn.
Đó là một cơ chế rất an toàn, trong đó mật khẩu chỉ được phép nếu nó được mã hóa. Chà, MongoDB có cơ sở để xác thực dựa trên hệ thống dựa trên Kerberos hiện có.
Bước 2) Bắt đầu quy trình máy chủ mongod.exe.
Bước 3) Bắt đầu quy trình máy khách mongo.exe và kết nối với máy chủ MongoDB.
Bước 4) Thêm người dùng trong MongoDB, về cơ bản là tên chính của Kerberos vào cơ sở dữ liệu $ bên ngoài. Cơ sở dữ liệu $ bên ngoài là một cơ sở dữ liệu đặc biệt yêu cầu MongoDB xác thực người dùng này với hệ thống Kerberos thay vì hệ thống nội bộ của chính nó.
use $externaldb.createUser({user: "This email address is being protected from spambots. You need JavaScript enabled to view it.",roles:[{role: "read" , db:"Marketing"}}]}
Bước 5) Bắt đầu mongod.exe với sự hỗ trợ của Kerberos bằng cách sử dụng lệnh sau
mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI
Và sau đó, bây giờ bạn có thể kết nối với người dùng Kerberos và xác thực Kerberos với cơ sở dữ liệu.
Tóm lược:
- Có nhiều cơ chế xác thực khác nhau để cung cấp bảo mật tốt hơn trong cơ sở dữ liệu. Một ví dụ là việc sử dụng chứng chỉ để xác thực người dùng thay vì sử dụng tên người dùng và mật khẩu.