Rate this post

Tìm hiểu về Authentication Commands trong MongoDB giới thiệu về các lệnh và cách sử dụng chúng để xác thực người dùng và bảo mật trong MongoDB. Trong bài viết, các độc giả sẽ được tìm hiểu về các lệnh cơ bản để đăng nhập, tạo người dùng, quản lý vai trò và phân quyền, và các lệnh khác để bảo vệ cơ sở dữ liệu của mình.

Để sử dụng MongoDB một cách an toàn và hiệu quả, việc biết cách sử dụng các lệnh Authentication là rất quan trọng. Bài viết này sẽ cung cấp cho bạn các kiến thức cơ bản về Authentication Commands để bạn có thể bảo vệ cơ sở dữ liệu của mình trước các cuộc tấn công mạng.

Những lệnh Authentication cơ bản trong MongoDB

Trong MongoDB, có một số lệnh cơ bản liên quan đến xác thực (authentication) mà bạn có thể sử dụng để quản lý người dùng và phân quyền trong cơ sở dữ liệu. Dưới đây là một số lệnh authentication quan trọng trong MongoDB:

Lệnh Cú pháp Ví dụ
Lệnh use admin use admin use admin
Lệnh db.createUser({}) db.createUser({ user: “username”, pwd: “password”, roles: [“role1”, “role2”] }) db.createUser({ user: “admin”, pwd: “admin123”, roles: [“root”] })
Lệnh db.auth(username, password) db.auth(“username”, “password”) db.auth(“admin”, “admin123”)
Lệnh db.grantRolesToUser(username, roles) db.grantRolesToUser(“username”, [“role1”, “role2”]) db.grantRolesToUser(“admin”, [“dbOwner”])
Lệnh db.updateUser(username, {}) db.updateUser(“username”, { $set: { “field”: “value” } }) db.updateUser(“admin”, { $set: { “pwd”: “newpassword” } })
Lệnh db.dropUser(username) db.dropUser(“username”) db.dropUser(“admin”)
Lệnh db.revokeRolesFromUser(username, roles) db.revokeRolesFromUser(“username”, [“role1”, “role2”]) db.revokeRolesFromUser(“admin”, [“dbOwner”])

Lưu ý rằng trong các ví dụ trên, “username”, “password”, “role1”, “role2” và các giá trị khác phải được thay thế bằng các giá trị thực tế phù hợp trong môi trường MongoDB của bạn.

Chú ý rằng các lệnh trên cần được thực thi trong một phiên làm việc với quyền hạn quản trị viên (administrator) hoặc người dùng có quyền hạn phù hợp.

Xem thêm Truy vấn Document trong MongoDB

Lệnh Auth

Lệnh xác thực đang sử dụng cơ chế xác thực được gọi là x.509. Khi chúng ta sử dụng mongo shell, chúng ta có thể sử dụng helper db.auth () như sau:

Cú pháp:

db.auth ("userID", passwordPrompt ())

Trong phiên bản trước của Mongo Shell, chúng ta có thể chỉ định mật khẩu trực tiếp. Tuy nhiên, bắt đầu từ phiên bản 4.2, chúng ta có thể sử dụng phương thức passwordPrompt () với nhiều phương thức / lệnh quản lý hoặc xác thực người dùng khác nhau để nhắc mật khẩu mà không cần chỉ định mật khẩu trực tiếp.

Trong phiên bản trước, chúng tôi sẽ sử dụng phương thức db.auth () như sau:

Cú pháp:

db.auth( "username", "password" )  

Lệnh getnonce trong MongoDB

Lệnh getnone được sử dụng để tạo mật khẩu dùng một lần để xác thực. Máy khách bị ngắt kết nối trước khi hoạt động hoàn tất nếu máy khách đã được cấp quyền truy cập.

Xem thêm addslashes trong php là gì ?

Lệnh đăng xuất MongoDB

Lệnh đăng xuất chấm dứt phiên đang chạy được xác thực hiện tại khi được sử dụng như sau:

Cú pháp:

{ logout: 1 }  

MongoDB cho phép người dùng có quyền truy cập vào cơ sở dữ liệu khác và chúng ta phải gọi đăng xuất trong khi sử dụng cùng ngữ cảnh cơ sở dữ liệu mà chúng ta được xác thực.

Ví dụ – Nếu bạn được xác minh với bất kỳ cơ sở dữ liệu nào, bạn phải đăng xuất cho cơ sở dữ liệu đó để đăng xuất thành công từ đó.

Ví dụ:

dbdb = db.getSiblingDB ('<database-name>')

khi chúng ta đặt bối cảnh cơ sở dữ liệu và đối tượng cơ sở dữ liệu, chúng ta có thể sử dụng lệnh đăng xuất để đăng xuất khỏi cơ sở dữ liệu như sau:

db.runCommand ({logout: 1})

Xem thêm Xuất dữ liệu trong R sang các định dạng file khác

Cách sử dụng các lệnh Authentication trong MongoDB

Để sử dụng các lệnh Authentication trong MongoDB, bạn cần phải bật tính năng Authentication trong MongoDB. Để bật tính năng này, bạn có thể thêm tùy chọn --auth khi khởi động MongoDB hoặc chỉnh sửa file cấu hình mongod.conf.

Sau khi tính năng Authentication được bật, bạn có thể sử dụng các lệnh sau để thực hiện Authentication trong MongoDB:

  1. mongo: Lệnh này sử dụng để kết nối vào MongoDB. Nếu Authentication được bật, bạn sẽ cần phải cung cấp tên đăng nhập và mật khẩu để kết nối vào MongoDB. Ví dụ:
mongo -u myuser -p mypassword --authenticationDatabase mydatabase
  1. db.auth(): Lệnh này sử dụng để xác thực tên đăng nhập và mật khẩu trong cơ sở dữ liệu hiện tại. Ví dụ:
db.auth("myuser", "mypassword")
  1. db.createUser(): Lệnh này sử dụng để tạo một người dùng mới trong MongoDB. Bạn cần cung cấp tên đăng nhập và mật khẩu cho người dùng mới. Ví dụ:
db.createUser(
   {
     user: "myuser",
     pwd: "mypassword",
     roles: [ { role: "readWrite", db: "mydatabase" } ]
   }
)
  1. db.updateUser(): Lệnh này sử dụng để cập nhật thông tin người dùng hiện có trong MongoDB. Ví dụ:
db.updateUser(
   "myuser",
   {
     roles: [ { role: "read", db: "mydatabase" } ]
   }
)
  1. db.dropUser(): Lệnh này sử dụng để xóa người dùng trong MongoDB. Ví dụ:
db.dropUser("myuser")
  1. db.dropAllUsers(): Lệnh này sử dụng để xóa tất cả người dùng trong MongoDB. Ví dụ:
db.dropAllUsers()

Lưu ý rằng khi sử dụng các lệnh Authentication trong MongoDB, bạn cần phải có quyền quản trị viên hoặc quyền người dùng với các đặc quyền tương ứng để thực hiện các thao tác này.

Xem thêm Truy vấn Plan Cache Commands trong MongoDB

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now