Rate this post

Lệnh quản lý người dùng của mongo DB chứa các lệnh liên quan đến người dùng. Chúng tôi có thể tạo, xóa và cập nhật người dùng bằng các Lệnh quản lý người dùng sau.

Các bài viết liên quan:

Lệnh MongoDB createUser

Lệnh MongoDB createUser tạo một người dùng mới cho cơ sở dữ liệu từ nơi chúng ta chạy lệnh. Nếu người dùng đã tồn tại, nó sẽ trả về lỗi người dùng trùng lặp.

Cú pháp:

{  
 createUser: "<user_name>",  
 pwd: "<cleartext password>"  
 customData: { <any info.> },  
 roles: [  
   { role: "<role>", db: "<database>" } | "<role>",  
   ...  
 ],  
 writeConcern: { <write concern> },  
 authenticationRestrictions: [  
    { clientSource: [ "<IP|CIDR range>", ... ], serverAddress: [ "<IP|CIDR range>", ... ] },  
    ...  
 ],  
 mechanisms: [ "<scram-mechanism>", ...],   
 digestPassword: <boolean>  

Lệnh createUser có trường sau:

FieldTypeDescription
createUserstringTrường này chứa tên của người dùng mới.
pwdstringTrường này chứa mật khẩu của người dùng. Giá trị có thể là mật khẩu của người dùng trong chuỗi cleartext hoặc passwordPrompt () để nhắc nhập mật khẩu của người dùng.
customDatadocumentTrường này chứa dữ liệu mà quản trị viên muốn liên kết với người dùng cụ thể.
rolesarrayTrường cấp bất kỳ vai trò nào cho người dùng.
digestPasswordbooleanChỉ ra rằng nó là một máy chủ hoặc một máy khách sử dụng mật khẩu.
writeConcerndocumentTrường này chứa mối quan tâm ghi cho hoạt động tạo.
authentication
Restrictions
arrayNó thực thi các quy tắc xác thực trên người dùng đã tạo. Nó cung cấp danh sách các địa chỉ IP và dải CIDR mà từ đó người dùng được phép kết nối.
mechanismarrayTrường này chỉ định cơ chế SCRAM. Các giá trị SCRAM hợp lệ là SCRAM-SHA-1 và SCRAM-SHA-256.

Ví dụ:

db.getSiblingDB("student").runCommand( {  
       createUser: "admin@test",  
       pwd: passwordPrompt(),  
       customData: { empId: 101 },  
       roles: [  
                { role: "clusterAdmin", db: "admin" },  
                { role: "readAnyDatabase", db: "admin" },  
                "readWrite"  
              ],  
       writeConcern: { w: "majority" , wtimeout: 5000 }  
} )  

Ví dụ trên tạo một người dùng admin @ test trên cơ sở dữ liệu sinh viên. Lệnh này cung cấp cho admin @ test các vai trò clusterAdmin và readAnyDatabase trên cơ sở dữ liệu quản trị và vai trò readwrite trên cơ sở dữ liệu của sinh viên.

Lệnh MongoDB dropUser

Lệnh MongoDB dropUser xóa người dùng khỏi cơ sở dữ liệu mà chúng ta đang chạy lệnh.

Cú pháp:

{  
  dropUser: "<user>",  
  writeConcern: { <write concern> }  
}  
FieldTypeDescription
dropUserstringTrường dropUser chứa tên của người dùng mà bạn muốn xóa.
writeConcerndocumentTrường này chứa mức quan tâm ghi cho thao tác loại bỏ.

Ví dụ:

{  
  dropUser: "<user>",  
  writeConcern: { <write concern> }  
}  

Lệnh MongoDB updateUser

Lệnh MongoDB updateUser cập nhật chi tiết người dùng trong cơ sở dữ liệu mà chúng tôi chạy lệnh. Nó sẽ thay thế hoàn toàn các giá trị của trường trước đó khi chúng ta sử dụng lệnh, bao gồm các vai trò được gán và mảng xác thực.

Cú pháp:

{  
  updateUser: "<user_name>",  
  pwd: "<cleartext password>"  
  customData: { <any information> },  
  roles: [  
    { role: "<role>", db: "<database>" } | "<role>",  
    ...  
  ],  
  authenticationRestrictions: [  
     {  
       clientSource: ["<IP>" | "<CIDR range>", ...],  
       serverAddress: ["<IP>", | "<CIDR range>", ...]  
     },  
     ...  
  ],  
  mechanisms: [ "<scram-mechanism>", ... ],  
  digestPassword: <boolean>,  
  writeConcern: { <write concern> }  
}  
FieldTypeDescription
updateUserstringNó chứa tên của người dùng mà chúng ta cần cập nhật.
pwdstringNó chứa mật khẩu của người dùng hoặc bạn có thể sử dụng dấu nhắc mật khẩu để nhắc nhập mật khẩu.
customDatadocumentTrường này chứa dữ liệu mà quản trị viên muốn cập nhật cho người dùng cụ thể.
rolesarrayTrường này cấp một vai trò cho người dùng.
digestPasswordbooleanNó chỉ ra, nếu máy chủ hoặc máy khách sẽ thông báo mật khẩu.
writeConcerndocumentTrường này chứa mối quan tâm ghi cho hoạt động tạo.
authentication
Restrictions
arrayNó thực thi các quy tắc xác thực trên người dùng đã tạo. Nó cung cấp danh sách các địa chỉ IP và dải CIDR mà từ đó người dùng được phép kết nối.
mechanismarrayTrường này chỉ định cơ chế SCRAM. Các giá trị SCRAM hợp lệ là SCRAM-SHA-1 và SCRAM-SHA-256.

Ví dụ:

{  
   "_id" : "products.appClient01",  
   "userId" : UUID("c5d88855-3f1e-46cb-9c8b-269bef957986"), // Starting in MongoDB 4.0.9  
   "user" : "appClient01",  
   "db" : "products",  
   "customData" : { "empID" : "12345", "badge" : "9156" },  
   "roles" : [  
       { "role" : "readWrite",  
         "db" : "products"  
       },  
       { "role" : "read",  
         "db" : "inventory"  
       }  
   ],  
   "mechanisms" : [     
      "SCRAM-SHA-1",  
      "SCRAM-SHA-256"  
   ]  
}  

Lệnh người dùng cập nhật sau thay thế hoàn toàn dữ liệu vai trò và dữ liệu tùy chỉnh của người dùng:

use products  
db.runCommand( {  
   updateUser : "appClient01",  
   customData : { employeeId : "0x3039" },  
   roles : [ { role : "read", db : "assets" } ]  
} )  

Leave a Reply

Call now
%d bloggers like this: