Cách tạo người dùng & thêm vai trò trong MongoDB

Mục lục:

Anonim

MongoDB Tạo người dùng quản trị viên

Tạo quản trị viên người dùng trong MongoDB được thực hiện bằng cách sử dụng phương thức createUser. Ví dụ sau đây cho thấy điều này có thể được thực hiện như thế nào.

db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

Giải thích mã:

  1. Bước đầu tiên là chỉ định "tên người dùng" và "mật khẩu" cần được tạo.
  2. Bước thứ hai là gán một vai trò cho người dùng. Vì nó cần phải là quản trị viên cơ sở dữ liệu, trong trường hợp đó chúng tôi đã gán cho vai trò "userAdminAnyDatabase". Vai trò này cho phép người dùng có đặc quyền quản trị đối với tất cả cơ sở dữ liệu trong MongoDB.
  3. Tham số db chỉ định cơ sở dữ liệu quản trị là cơ sở dữ liệu Meta đặc biệt bên trong MongoDB lưu giữ thông tin cho người dùng này.

Nếu lệnh được thực hiện thành công, đầu ra sau sẽ được hiển thị:

Đầu ra:

Kết quả cho thấy rằng một người dùng có tên "Guru99" đã được tạo và người dùng đó có đặc quyền trên tất cả các cơ sở dữ liệu trong MongoDB.

MongoDB Tạo người dùng cho cơ sở dữ liệu đơn lẻ

Để tạo một người dùng sẽ quản lý một cơ sở dữ liệu duy nhất, chúng ta có thể sử dụng lệnh tương tự như đã đề cập ở trên nhưng chúng ta chỉ cần sử dụng tùy chọn "userAdmin".

Ví dụ sau đây cho thấy điều này có thể được thực hiện như thế nào;

db.createUser({user: "Employeeadmin",pwd: "password",roles:[{role: "userAdmin" , db:"Employee"}]})

Giải thích mã:

  1. Bước đầu tiên là chỉ định "tên người dùng" và "mật khẩu" cần được tạo.
  2. Bước thứ hai là gán một vai trò cho người dùng, trong trường hợp này, vì nó cần là quản trị viên cơ sở dữ liệu sẽ được gán cho vai trò "userAdmin". Vai trò này cho phép người dùng chỉ có đặc quyền quản trị đối với cơ sở dữ liệu được chỉ định trong tùy chọn db.
  3. Tham số db chỉ định cơ sở dữ liệu mà người dùng nên có đặc quyền quản trị.

Nếu lệnh được thực hiện thành công, đầu ra sau sẽ được hiển thị:

Đầu ra:

Kết quả cho thấy một người dùng có tên "Employeeadmin" đã được tạo và người dùng đó chỉ có đặc quyền trên cơ sở dữ liệu "Nhân viên".

Quản lý người dùng

Trước tiên, hãy hiểu các vai trò mà bạn cần xác định. Có toàn bộ danh sách các vai trò có sẵn trong MongoDB. Ví dụ: có một "vai trò đọc" chỉ cho phép truy cập chỉ đọc vào cơ sở dữ liệu và sau đó có vai trò "ghi đọc" cung cấp quyền truy cập đọc và ghi vào cơ sở dữ liệu, có nghĩa là người dùng có thể đưa ra chèn, xóa và cập nhật các lệnh trên các bộ sưu tập trong cơ sở dữ liệu đó.

db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})

Đoạn mã trên cho thấy rằng một người dùng có tên Mohan được tạo và anh ta được giao nhiều vai trò trong nhiều cơ sở dữ liệu. Trong ví dụ trên, anh ta được cấp quyền chỉ đọc đối với cơ sở dữ liệu "Tiếp thị" và quyền readWrite đối với cơ sở dữ liệu "Bán hàng".