Trong khóa đào tạo MongoDB miễn phí này, chúng ta đã thảo luận về việc tạo Người dùng và gán vai trò trong MongoDB trong hướng dẫn trước của chúng tôi
Trong hướng dẫn này, chúng ta sẽ tìm hiểu sâu về Xác thực người dùng trong MongoDB
Đây là một quá trình MongoDB xác định ứng dụng khách nào hợp lệ và được kết nối. MongoDB phải xác thực người dùng để cung cấp quyền truy cập vào bất kỳ bộ sưu tập nào.
Ủy quyền và xác thực gần như được kết nối chặt chẽ. Ủy quyền cho phép truy cập vào tài nguyên và xác thực xác thực thông tin người dùng
Chúng tôi có thể xác thực người dùng với sự trợ giúp của tên người dùng và mật khẩu được liên kết với phiên bản cơ sở dữ liệu. Nhưng trước đó, chúng ta phải xây dựng mối quan hệ của người dùng với bộ sưu tập cơ sở dữ liệu
Bạn sẽ học được gì
Tạo người dùng
Trước khi bắt đầu xác thực, chúng ta cần tạo một người dùng có tất cả quyền truy cập vào cơ sở dữ liệu hiện tại. Sau khi tạo người dùng, chúng ta có thể xác thực người dùng đó theo thể hiện của cơ sở dữ liệu
Từ đoạn mã sau, chúng ta có thể tạo người dùng cho cơ sở dữ liệu quản trị
cú pháp
db.createUser[user, writeConcern]
- người dùng – Đây là loại tài liệu và chứa xác thực liên quan đến thông tin người dùng mà bạn muốn chèn vào hệ thống
- writeConcern – Đây là mức độ cho phép được sử dụng để viết một cái gì đó trên bộ nhớ vật lý
Mã số
use admin db.createUser[ { user: " AdminSTH", pwd: " AdminSTH", customData: { employeeId: 12345 }, roles: [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite"] }, { w: "majority" , wtimeout: 5000 } ]
Hoạt động cung cấp các vai trò sau cho AdminSTH
- Cụm cơ sở dữ liệu quản trị Vai trò quản trị viên và readAnyDatabase
- Vai trò readWrite trong cơ sở dữ liệu sản phẩm
xác thực
MongoDB cung cấp một phương thức để chúng ta có thể xác thực bất kỳ người dùng nào với một phiên bản của cơ sở dữ liệu. Phương thức này yêu cầu hai tham số, trong tham số đầu tiên chúng ta phải khai báo tên người dùng và trong tham số thứ hai, chúng ta phải khai báo mật khẩu
Nếu người dùng được xác thực, câu trả lời kết quả sẽ là một và nếu nó không được xác thực thì câu trả lời sẽ là không
MongoDB cung cấp nhiều cách để xác định ứng dụng khách và xác thực thông tin của nó. Cơ chế xác thực mặc định là “SCRAM”. MongoDB cũng hỗ trợ xác thực “LDAP”
cú pháp
db.auth[“username”,”password”]
Mã số
use admin db.auth[“AdminSTH”,”AdminSTH”]
Hình 1. Trong vỏ Mongo
Hình 2. Trong Robo 3T
Phần kết luận
Xác thực là quan điểm quan trọng nhất theo tính bảo mật của MongoDB. Nó sẽ cho phép chúng tôi xác thực và xác minh thông tin của người dùng được kết nối với phiên bản MongoDB hiện tại
Nếu bất kỳ người dùng nào không có liên kết với bộ sưu tập cơ sở dữ liệu được gọi thì quyền truy cập sẽ tự động bị từ chối
Chúng tôi đã thảo luận về hai điều chính trong hướng dẫn này. Trong phần đầu tiên, chúng tôi đã thảo luận về người dùng và trong phần thứ hai, chúng tôi đã thảo luận về xác thực người dùng. Không có mối quan hệ người dùng với cơ sở dữ liệu, chúng tôi không thể xác thực người dùng
Một mã được cung cấp để tạo người dùng, bằng cách chuyển mật khẩu và tên người dùng, chúng tôi có thể xác thực bất kỳ người dùng nào trong phản hồi trả về của Boolean
Theo mặc định, MongoDB không yêu cầu tên người dùng hoặc mật khẩu để truy cập hoặc sửa đổi cơ sở dữ liệu. Anaconda khuyên bạn nên bật và định cấu hình xác thực bắt buộc
Mở trình bao MongoDB
mongo
Kho lưu trữ yêu cầu quyền truy cập đọc/ghi vào cơ sở dữ liệu
binstar
. Nhập các lệnh sau vào trình bao MongoDB để tạo người dùng quản trị và người dùng dịch vụuse admin
Tạo người dùng quản trị để quản lý người dùng cơ sở dữ liệu
db.createUser[{user:'siteUserAdmin', pwd: '', roles:['userAdminAnyDatabase']}]
Ủy quyền với tư cách là người dùng đó để xác minh mật khẩu
db.auth['siteUserAdmin', '']
Tạo người dùng dịch vụ cho Kho lưu trữ
________số 8_______
Kích hoạt xác thực bắt buộc trong MongoDB
Nếu bạn đang sử dụng định dạng cấu hình MongoDB kế thừa, hãy thêm khóa vào
/etc/mongod.conf
auth=true
Nếu bạn đang sử dụng định dạng cấu hình MongoDB hiện tại, hãy thêm khóa vào
/etc/mongod.conf
security: authorization: enabled
Khởi động lại MongoDB để tải lại cấu hình
sudo service mongod restart
Chỉnh sửa tệp cấu hình Kho lưu trữ và đặt tham số
use admin
1 thànhuse admin
2Sau khi chỉnh sửa file cấu hình, khởi động lại Repository để thay đổi có hiệu lực
Chỉnh sửa tệp cấu hình Kho lưu trữ và đặt tham số
use admin
1 thànhuse admin
2Sau khi chỉnh sửa file cấu hình, khởi động lại Repository để thay đổi có hiệu lực
GHI CHÚ. Để biết thêm thông tin về xác thực và ủy quyền MongoDB, hãy xem https. // tài liệu. mongodb. com/v2. 6/lõi/xác thực/ và https. // tài liệu. mongodb. com/v2. 6/lõi/ủy quyền/