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> }
Field | Type | Description |
createRole | string | Trường createRole chứa tên của vai trò mới. |
privileges | array | Nó 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. |
roles | array | Nó chứa mảng vai trò được sử dụng để gán vai trò cho người dùng. |
authentication Restrictions | array | Trường hạn chế xác thực hạn chế máy chủ thực thi vai trò. |
writeConcern | document | Đó 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.