Làm cách nào để tạo xác thực cho MongoDB?

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.

Làm cách nào để tạo xác thực cho MongoDB?

Ủ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

Làm cách nào để tạo xác thực cho MongoDB?

Hình 2. Trong Robo 3T

Làm cách nào để tạo xác thực cho MongoDB?

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

  1. Mở trình bao MongoDB

    mongo
    

  2. 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
    

  3. 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']})
    

  4. Ủy quyền với tư cách là người dùng đó để xác minh mật khẩu

    db.auth('siteUserAdmin', '')
    

  5. Tạo người dùng dịch vụ cho Kho lưu trữ

    ________số 8_______

  6. 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
      

  7. Khởi động lại MongoDB để tải lại cấu hình

    sudo service mongod restart
    

  8. Chỉnh sửa tệp cấu hình Kho lưu trữ và đặt tham số

    use admin
    
    1 thành
    use admin
    
    2

    Sau khi chỉnh sửa file cấu hình, khởi động lại Repository để thay đổi có hiệu lực

  9. Chỉnh sửa tệp cấu hình Kho lưu trữ và đặt tham số

    use admin
    
    1 thành
    use admin
    
    2

    Sau 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/

Làm cách nào để thiết lập xác thực trong MongoDB?

Cách bật xác thực trong MongoDB .
Tạo quản trị viên trong cơ sở dữ liệu quản trị với vai trò userAdminAnyDatabase. .
Ngắt kết nối khỏi vỏ mongo ( Ctrl+D )
Định vị đoạn mã sau trong tệp cấu hình mongod ( /etc/mongod. .
Thay đổi ủy quyền bị vô hiệu hóa thành được kích hoạt và lưu tệp

MongoDB có xác thực không?

Xác thực là quá trình xác minh danh tính của khách hàng. Khi kiểm soát truy cập (ủy quyền) được bật, MongoDB yêu cầu tất cả các máy khách tự xác thực để xác định quyền truy cập của họ

Làm cách nào để tạo người dùng và mật khẩu cho MongoDB?

Trong MongoDB, người dùng được tạo bằng phương thức createUser(). .
người sử dụng. Tên người dùng
pwd. Mật khẩu người dùng. .
dữ liệu tùy chỉnh. Thông tin liên kết người dùng. .
vai trò. Cấp truy cập hoặc Đặc quyền của người dùng

Xác thực mặc định cho MongoDB là gì?

SCRAM-SHA-256 là phương thức xác thực mặc định cho MongoDB bắt đầu từ MongoDB 4. 0. SCRAM-SHA-256 là cơ chế xác thực phản hồi thử thách có muối (SCRAM) sử dụng tên người dùng và mật khẩu của bạn, được mã hóa bằng thuật toán SHA-256, để xác thực người dùng của bạn.