Rate this post

Các lệnh quản lý vai trò được sử dụng để xác định vai trò cho người dùng được chỉ định.

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

Lệnh MongoDB createRole

Lệnh createRole chỉ định một vai trò và chỉ định những ưu điểm của nó. Vai trò được chỉ định áp dụng cho cơ sở dữ liệu mà chúng tôi chạy lệnh trên đó. Lệnh trả về lỗi vai trò trùng lặp nếu vai trò đã tồn tại trong cơ sở dữ liệu.

Cú pháp:

{ createRole: "<new role>",  
  privileges: [  
    { resource: { <resource> }, actions: [ "<action>", ... ] },  
    ...  
  ],  
  roles: [  
    { role: "<role>", db: "<database>" } | "<role>",  
    ...  
  ],  
  authenticationRestrictions: [  
    {  
      clientSource: ["<IP>" | "<CIDR range>", ...],  
      serverAddress: ["<IP>" | "<CIDR range>", ...]  
    },  
    ...  
  ],  
  writeConcern: <write concern document>  
}  
FieldTypeDescription
createRolestringTrường createRole chứa tên của vai trò mới.
privilegesarrayNó chứa các đặc quyền để cấp các vai trò. Để trống nếu bạn không muốn chỉ định bất kỳ vai trò nào.
rolesarrayNó chứa mảng vai trò được sử dụng để gán vai trò cho người dùng.
authentication
Restrictions
arrayTrường hạn chế xác thực hạn chế máy chủ thực thi vai trò.
writeConcerndocumentĐó là mức độ quan tâm của việc ghi để áp dụng cho thao tác này.

Ví dụ:

Lệnh createRole tạo vai trò websiteAdmin trên cơ sở dữ liệu quản trị

db.adminCommand({ createRole: "WebsiteAdmin",  
 privileges: [  
   { resource: { cluster: true }, actions: [ "addShard" ] },  
   { resource: { db: "config", collection: "" }, actions: [ "find", "update", "insert", "remove" ] },  
   { resource: { db: "users", collection: "usersCollection" }, actions: [ "update", "insert", "remove" ] },  
   { resource: { db: "", collection: "" }, actions: [ "find" ] }  
 ],  
 roles: [  
   { role: "read", db: "admin" }  
 ],  
 writeConcern: { w: "majority" , wtimeout: 5000 }  
)  

Lệnh MongoDB dropRole

MongoDB

Lệnh dropRole xóa vai trò được xác định bởi người dùng trong cơ sở dữ liệu mà chúng tôi chạy lệnh.

Cú pháp:

{  
  dropRole: "<role>",  
  writeConcern: { <write concern> }  
}  

Ví dụ:

Ví dụ này xóa vai trò readPrice khỏi cơ sở dữ liệu sản phẩm.

use products  
db.runCommand(  
   {  
     dropRole: "readPrices",  
     writeConcern: { w: "majority" }  
   }  
)  

Lệnh cập nhật MongoDB

Lệnh cập nhật cập nhật vai trò do người dùng xác định. Lệnh phải chạy trên cơ sở dữ liệu của vai trò. Lệnh này có thể thay thế hoàn toàn giá trị trường trước đó.

Cú pháp:

{  
  updateRole: "<role>",  
  privileges:  
      [  
        { resource: { <resource> }, actions: [ "<action>", ... ] },  
        ...  
      ],  
  roles:  
      [  
        { role: "<role>", db: "<database>" } | "<role>",  
        ...  
      ],  
  authenticationRestrictions:  
      [  
        {  
          clientSource: ["<IP>" | "<CIDR range>", ...],  
          serverAddress: ["<IP>", ...]  
        },  
        ...  
      ]  
  writeConcern: <write concern document>  
}  

Ví dụ:

db.adminCommand(  
   {  
     updateRole: "Admin",  
     privileges:  
         [  
           {  
             resource: { db: "", collection: "" },  
             actions: [ "find" , "update", "insert", "remove" ]  
           }  
         ],  
     roles:  
         [  
           { role: "Admin", db: "admin" }  
         ],  
     writeConcern: { w: "majority" }  
   }  
)  

Ví dụ trên cập nhật vai trò myClusterwideAdmin trên cơ sở dữ liệu quản trị.

Lệnh MongoDB GrantPrivilagesToRole

Đây là một lệnh rất quan trọng được sử dụng để thêm một số đặc quyền bổ sung cho vai trò do người dùng xác định trên cơ sở dữ liệu nơi lệnh được sử dụng để chạy.

Cú pháp:

{  
  grantPrivilegesToRole: "<role>",  
  privileges: [  
      {  
        resource: { <resource> }, actions: [ "<action>", ... ]  
      },  
      ...  
  ],  
  writeConcern: { <write concern> }  
}  

Ví dụ:

use products  
db.runCommand(  
   {  
     grantPrivilegesToRole: "service",  
     privileges: [  
         {  
           resource: { db: "products", collection: "" }, actions: [ "find" ]  
         },  
         {  
           resource: { db: "products", collection: "system.js" }, actions: [ "find" ]  
         }  
     ],  
     writeConcern: { w: "majority" , wtimeout: 5000 }  
   }  
)  

Ví dụ trên cung cấp hai đặc điểm bổ sung cho vai trò dịch vụ tồn tại trong cơ sở dữ liệu sản phẩm.

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