Hướng dẫn mongodb built in role - mongodb được xây dựng trong vai trò

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Trên trang này

  • Vai trò người dùng cơ sở dữ liệu
  • Vai trò quản trị cơ sở dữ liệu
  • Vai trò quản trị cụm
  • Vai trò sao lưu và phục hồi
  • Vai trò toàn cơ sở dữ liệu
  • Vai trò Superuser
  • Vai trò nội bộ

MongoDB cấp quyền truy cập vào dữ liệu và lệnh thông qua ủy quyền dựa trên vai trò và cung cấp các vai trò tích hợp cung cấp các cấp độ truy cập khác nhau thường cần thiết trong hệ thống cơ sở dữ liệu. Bạn cũng có thể tạo các vai trò do người dùng xác định.

Một vai trò cung cấp các đặc quyền để thực hiện các bộ hành động trên các tài nguyên được xác định. Một vai trò nhất định áp dụng cho cơ sở dữ liệu mà nó được xác định và có thể cấp quyền truy cập xuống mức độ chi tiết của bộ sưu tập.

Mỗi vai trò tích hợp của MongoDB xác định quyền truy cập ở cấp cơ sở dữ liệu cho tất cả các bộ sưu tập phi hệ thống trong cơ sở dữ liệu của vai trò và ở cấp độ thu thập cho tất cả các bộ sưu tập hệ thống.

MongoDB cung cấp vai trò quản trị cơ sở dữ liệu và cơ sở dữ liệu tích hợp trên mỗi cơ sở dữ liệu. MongoDB cung cấp tất cả các vai trò tích hợp khác chỉ trên cơ sở dữ liệu admin.database user and database administration roles on every database. MongoDB provides all other built-in roles only on the admin database.

Phần này mô tả các đặc quyền cho từng vai trò tích hợp. Bạn cũng có thể xem các đặc quyền cho vai trò tích hợp bất cứ lúc nào bằng cách phát hành lệnh rolesInfo với các trường showPrivilegesshowBuiltinRoles cả hai được đặt thành true.

Mỗi cơ sở dữ liệu bao gồm các vai trò của máy khách sau:

read cung cấp khả năng đọc dữ liệu trên tất cả các bộ sưu tập phi hệ thống và bộ sưu tập system.js.
Hướng dẫn mongodb built in role - mongodb được xây dựng trong vai trò

Provides the ability to read data on all non-system collections and the system.js collection.

Ghi chú

Bắt đầu từ MongoDB 4.2, vai trò không còn cung cấp các đặc quyền để truy cập trực tiếp vào bộ sưu tập system.namespaces. Truy cập trực tiếp vào bộ sưu tập đã được khấu hao kể từ MongoDB 3.0.

Trong các phiên bản trước, vai trò đã cung cấp các hành động đặc quyền đã nói ở trên trên bộ sưu tập system.namespaces, do đó cho phép truy cập trực tiếp.

Vai trò cung cấp quyền truy cập đọc bằng cách cấp các hành động sau:

  • changeStream

  • rolesInfo0

  • rolesInfo1

  • rolesInfo2

  • rolesInfo3

  • rolesInfo4

  • rolesInfo5

  • rolesInfo6

Nếu người dùng không có hành động đặc quyền rolesInfo7, người dùng có thể chạy lệnh rolesInfo7 để trả về danh sách cơ sở dữ liệu mà người dùng có đặc quyền (bao gồm cả cơ sở dữ liệu mà người dùng có đặc quyền trên các bộ sưu tập cụ thể) nếu lệnh được chạy với tùy chọn rolesInfo9 không xác định hoặc đặt thành true.

showPrivileges1 cung cấp tất cả các đặc quyền của vai trò read cộng với khả năng sửa đổi dữ liệu trên tất cả các bộ sưu tập phi hệ thống và bộ sưu tập system.js.

Provides all the privileges of the read role plus ability to modify data on all non-system collections and the system.js collection.

Vai trò cung cấp các hành động sau đây trên các bộ sưu tập đó:

  • changeStream

  • rolesInfo0

  • showPrivileges6

  • showPrivileges7

  • rolesInfo1

  • rolesInfo2

  • showBuiltinRoles0

  • showBuiltinRoles1

  • showBuiltinRoles2

  • rolesInfo3

  • showBuiltinRoles4

  • rolesInfo4

  • rolesInfo5

  • rolesInfo6

  • showBuiltinRoles8

  • showBuiltinRoles9

  • true0

Mỗi cơ sở dữ liệu bao gồm các vai trò quản trị cơ sở dữ liệu sau:

true1 cung cấp khả năng thực hiện các nhiệm vụ hành chính như các nhiệm vụ liên quan đến lược đồ, lập chỉ mục và thu thập số liệu thống kê. Vai trò này không cấp đặc quyền cho người dùng và quản lý vai trò.

Provides the ability to perform administrative tasks such as schema-related tasks, indexing, and gathering statistics. This role does not grant privileges for user and role management.

Cụ thể, vai trò cung cấp các đặc quyền sau:

true2 Chủ sở hữu cơ sở dữ liệu có thể thực hiện bất kỳ hành động quản trị nào trên cơ sở dữ liệu. Vai trò này kết hợp các đặc quyền được cấp bởi các vai trò showPrivileges1, true1 và true5.

The database owner can perform any administrative action on the database. This role combines the privileges granted by the showPrivileges1, true1 and true5 roles.

true5 cung cấp khả năng tạo và sửa đổi vai trò và người dùng trên cơ sở dữ liệu hiện tại. Vì vai trò true5 cho phép người dùng cấp bất kỳ đặc quyền nào cho bất kỳ người dùng nào, bao gồm cả chính họ, vai trò này cũng gián tiếp cung cấp quyền truy cập siêu âm vào cơ sở dữ liệu hoặc, nếu được đưa vào cơ sở dữ liệu admin, cụm.

Provides the ability to create and modify roles and users on the current database. Since the true5 role allows users to grant any privilege to any user, including themselves, the role also indirectly provides superuser access to either the database or, if scoped to the admin database, the cluster.

Vai trò true5 cung cấp rõ ràng các hành động sau:true5 role explicitly provides the following actions:

  • read0

  • read1

  • read2

  • read3

  • read4

  • read5

  • read6

  • read7

  • read8

  • read9

  • system.js0

Cảnh báo

Điều quan trọng là phải hiểu ý nghĩa bảo mật của việc cấp vai trò true5: Người dùng có vai trò này cho cơ sở dữ liệu có thể tự gán cho mình bất kỳ đặc quyền nào trên cơ sở dữ liệu đó. Việc cấp vai trò true5 trên cơ sở dữ liệu admin có ý nghĩa bảo mật hơn nữa vì điều này gián tiếp cung cấp quyền truy cập siêu âm vào một cụm. Với phạm vi admin, người dùng có vai trò true5 có thể cấp các vai trò hoặc đặc quyền trên toàn cụmtrue5 role: a user with this role for a database can assign themselves any privilege on that database. Granting the true5 role on the admin database has further security implications as this indirectly provides superuser access to a cluster. With admin scope a user with the true5 role can grant cluster-wide roles or privileges including system.js6

Cơ sở dữ liệu admin bao gồm các vai trò sau đây để quản lý toàn bộ hệ thống thay vì chỉ một cơ sở dữ liệu duy nhất. Các vai trò này bao gồm nhưng không giới hạn ở các chức năng quản trị cụm sao chép và phân chia.

system.js8 cung cấp quyền truy cập quản lý cụm lớn nhất. Vai trò này kết hợp các đặc quyền được cấp bởi các vai trò system.js9, system.namespaces0 và system.namespaces1. Ngoài ra, vai trò cung cấp hành động system.namespaces2.

Provides the greatest cluster-management access. This role combines the privileges granted by the system.js9, system.namespaces0, and system.namespaces1 roles. Additionally, the role provides the system.namespaces2 action.

system.js9 cung cấp các hành động quản lý và giám sát trên cụm. Một người dùng có vai trò này có thể truy cập cơ sở dữ liệu system.namespaces4 và system.namespaces5, được sử dụng tương ứng trong việc chia tách và sao chép.

Provides management and monitoring actions on the cluster. A user with this role can access the system.namespaces4 and system.namespaces5 databases, which are used in sharding and replication, respectively.

Trên cơ sở dữ liệu system.namespaces4, cho phép các hành động sau:

Trên cơ sở dữ liệu system.namespaces5, cho phép các hành động sau:

system.namespaces0 cung cấp quyền truy cập chỉ đọc vào các công cụ giám sát, chẳng hạn như Trình quản lý đám mây MongoDB và tác nhân giám sát Trình quản lý OPS.

Provides read-only access to monitoring tools, such as the MongoDB Cloud Manager and Ops Manager monitoring agent.

Cho phép các hành động sau trên toàn bộ cụm:

  • system.namespaces9

  • system.namespaces0

  • system.namespaces1

  • system.namespaces2 (mới trong phiên bản 4.4)

  • system.namespaces3

  • system.namespaces4

  • system.namespaces5

  • system.namespaces6

  • system.namespaces7

  • rolesInfo7

  • system.namespaces9

  • changeStream0

  • changeStream1

  • changeStream2

  • changeStream3

  • changeStream4

  • changeStream5

  • changeStream6

  • changeStream7

Cho phép các hành động sau trên tất cả các cơ sở dữ liệu trong cụm:

  • rolesInfo0

  • rolesInfo2

  • rolesInfo00

  • rolesInfo01

  • rolesInfo02

Cho phép hành động rolesInfo3 trên tất cả các bộ sưu tập rolesInfo04 trong cụm.

Trên cơ sở dữ liệu system.namespaces4, cho phép các hành động sau:

Trên cơ sở dữ liệu system.namespaces5, cho phép các hành động sau:

system.namespaces0 cung cấp quyền truy cập chỉ đọc vào các công cụ giám sát, chẳng hạn như Trình quản lý đám mây MongoDB và tác nhân giám sát Trình quản lý OPS.

Provides the ability to monitor and manage servers.

Cho phép các hành động sau trên toàn bộ cụm:

  • rolesInfo08

  • rolesInfo09

  • rolesInfo10

  • rolesInfo11

  • rolesInfo12

  • rolesInfo13

  • rolesInfo14

  • rolesInfo15

  • rolesInfo16

  • rolesInfo17

  • rolesInfo18

  • rolesInfo19

  • system.namespaces2 (mới trong phiên bản 4.4)

  • rolesInfo21

  • rolesInfo22

  • rolesInfo23

  • rolesInfo24

Cho phép các hành động sau trên tất cả các cơ sở dữ liệu trong cụm:

Cho phép hành động rolesInfo3 trên tất cả các bộ sưu tập rolesInfo04 trong cụm.

  • rolesInfo4

system.namespaces1 cung cấp khả năng giám sát và quản lý máy chủ.

Trên toàn bộ cụm, cung cấp các hành động sau:

Provides minimal privileges needed for backing up data. This role provides sufficient privileges to use the MongoDB Cloud Manager backup agent, Ops Manager backup agent, or to use rolesInfo30 to back up an entire rolesInfo31 instance.

rolesInfo20 (mới trong phiên bản 5.0)

Đã thay đổi trong phiên bản 4.4: Bắt đầu từ phiên bản 4.4, system.namespaces1 không còn cung cấp hành động đặc quyền rolesInfo26 trên cụm.

  • Trên tất cả các cơ sở dữ liệu trong cụm, cung cấp các hành động sau:

  • Cơ sở dữ liệu admin bao gồm các vai trò sau để sao lưu và khôi phục dữ liệu:

  • rolesInfo29 cung cấp các đặc quyền tối thiểu cần thiết để sao lưu dữ liệu. Vai trò này cung cấp đủ các đặc quyền để sử dụng Đại lý sao lưu của Bloudb Manager MongoDB, Tác nhân sao lưu OPS Manager hoặc sử dụng rolesInfo30 để sao lưu toàn bộ phiên bản rolesInfo31.

Cung cấp các hành động showBuiltinRoles4 và true0 trên bộ sưu tập rolesInfo34 trong cơ sở dữ liệu admin và trên bộ sưu tập rolesInfo36 trong cơ sở dữ liệu ____74.

  • rolesInfo42

  • system.namespaces4

  • rolesInfo7

  • Vào rolesInfo38, cung cấp

  • rolesInfo7 Hành động

rolesInfo6 Hành động

  • rolesInfo5 Hành động

  • Trên toàn bộ cụm, cung cấp

    changeStream4 (bắt đầu từ MongoDB 4.2)

  • rolesInfo46 (bắt đầu từ MongoDB 6.0)

  • Cung cấp hành động rolesInfo3 về các mục sau:

  • Tất cả các bộ sưu tập không phải hệ thống trong cụm, bao gồm cả các bộ phận trong cơ sở dữ liệu system.namespaces4 và system.namespaces5

Các bộ sưu tập hệ thống sau đây trong cụm:

system.jsrolesInfo04rolesInfo29 role provides additional privileges to back up the rolesInfo04 collection that exists when running with database profiling.

Bộ sưu tập rolesInfo52 và rolesInfo53

Provides showPrivileges6 on non-system collections.

Bộ sưu tập rolesInfo54rolesInfo64 without the rolesInfo65 option.

Di sản rolesInfo55 Bộ sưu tập từ các phiên bản của MongoDB trước 2.6rolesInfo65, you need additional privileges:

Cung cấp các hành động showBuiltinRoles4 và true0 trên bộ sưu tập rolesInfo54.

  • system.namespaces4

Vai trò rolesInfo29 cung cấp các đặc quyền bổ sung để sao lưu bộ sưu tập rolesInfo04 tồn tại khi chạy với hồ sơ cơ sở dữ liệu.

  • rolesInfo69

  • read0

  • read1

  • rolesInfo72

  • showPrivileges6

  • showPrivileges7

  • showBuiltinRoles1

  • read2

  • read3

  • showBuiltinRoles0

  • read4

  • read5

  • read6

  • showBuiltinRoles4

  • read7

  • read9

  • system.js0

rolesInfo61 cung cấp showPrivileges6 trên các bộ sưu tập phi hệ thống.

  • rolesInfo69

  • rolesInfo72

  • showPrivileges7

  • showBuiltinRoles1

  • showBuiltinRoles0

  • showBuiltinRoles4

Cung cấp các đặc quyền cần thiết để khôi phục dữ liệu từ các bản sao lưu nếu dữ liệu không bao gồm dữ liệu thu thập rolesInfo04 và bạn chạy rolesInfo64 mà không cần tùy chọn rolesInfo65.

  • rolesInfo6

Nếu dữ liệu sao lưu bao gồm dữ liệu thu thập rolesInfo04 hoặc bạn chạy với rolesInfo65, bạn cần thêm các đặc quyền:

  • rolesInfo69

  • rolesInfo72

  • showPrivileges7

  • showBuiltinRoles1

  • showBuiltinRoles0

  • showBuiltinRoles4

Cung cấp các hành động sau đây trên toàn bộ cụm:

  • rolesInfo69

  • rolesInfo72

  • showPrivileges7

  • showBuiltinRoles1

  • showBuiltinRoles0

  • rolesInfo3

  • showBuiltinRoles4

Cung cấp các hành động sau trên tất cả các bộ sưu tập không hệ thống:

  • showBuiltinRoles1

Cung cấp các hành động sau trên bộ sưu tập system.js:

  • rolesInfo69

  • rolesInfo72

  • showPrivileges7

  • showBuiltinRoles1

  • showBuiltinRoles0

  • rolesInfo3

  • showBuiltinRoles4

  • showBuiltinRoles8

  • true0

Cung cấp hành động sau đây trên rolesInfo38rolesInfo61 includes the ability to modify the documents in the rolesInfo52 collection using normal modification operations, only modify these data using the user management methods.

Cho phép các hành động sau trên toàn bộ cụm:

  • system.namespaces2 (mới trong phiên bản 4.4)

  • rolesInfo7 Hành động

rolesInfo6 Hành động

rolesInfo5 Hành động

Trên toàn bộ cụm, cung cấprolesInfo61 role no longer provides privileges to access these collections. Direct access to these collections has been deprecated since MongoDB 3.0.

Trong các phiên bản trước, vai trò rolesInfo61 cung cấp các hành động đặc quyền đã nói ở trên trên bộ sưu tập system.namespaces, do đó cho phép truy cập trực tiếp vào bộ sưu tập.rolesInfo61 role provides the aforementioned privilege actions on the system.namespaces collection, thereby allowing direct access to the collection.

Các vai trò sau đây có sẵn trên cơ sở dữ liệu admin và cung cấp các đặc quyền áp dụng cho tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4:

showPrivileges35 cung cấp các đặc quyền chỉ đọc giống như read trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4. Vai trò cũng cung cấp hành động rolesInfo7 trên toàn bộ cụm.

Provides the same read-only privileges as read on all databases except system.namespaces5 and system.namespaces4. The role also provides the rolesInfo7 action on the cluster as a whole.

Xem thêm Vai trò system.js9 và system.namespaces0 để truy cập vào cơ sở dữ liệu system.namespaces4 và system.namespaces5.system.js9 and system.namespaces0 roles for access to the system.namespaces4 and system.namespaces5 databases.

showPrivileges44 cung cấp các đặc quyền giống như showPrivileges1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4. Vai trò cũng cung cấp:

Provides the same privileges as showPrivileges1 on all databases except system.namespaces5 and system.namespaces4. The role also provides:

  • hành động rolesInfo7 trên toàn bộ cụm

  • hành động showPrivileges49

Xem thêm Vai trò system.js9 và system.namespaces0 để truy cập vào cơ sở dữ liệu system.namespaces4 và system.namespaces5.system.js9 and system.namespaces0 roles for access to the system.namespaces4 and system.namespaces5 databases.

showPrivileges44 cung cấp các đặc quyền giống như showPrivileges1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4. Vai trò cũng cung cấp:

Provides the same access to user administration operations as true5 on all databases except system.namespaces5 and system.namespaces4.

hành động rolesInfo7 trên toàn bộ cụm also provides the following privilege actions on the cluster:

  • showPrivileges59

  • rolesInfo13

  • rolesInfo7

hành động showPrivileges49

  • rolesInfo0

  • rolesInfo1

  • rolesInfo2

  • rolesInfo3

  • rolesInfo4

  • showPrivileges71

  • showBuiltinRoles1

  • showBuiltinRoles2

system.js6 cung cấp cùng một quyền truy cập vào các hoạt động quản trị người dùng là true5 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4.system.js6 role does not restrict the privileges that a user can grant. As a result, system.js6 users can grant themselves privileges in excess of their current privileges and even can grant themselves all privileges, even though the role does not explicitly authorize privileges beyond user administration. This role is effectively a MongoDB system superuser.

Xem thêm Vai trò system.js9 và system.namespaces0 để truy cập vào cơ sở dữ liệu system.namespaces4 và system.namespaces5.system.js9 and system.namespaces0 roles for access to the system.namespaces4 and system.namespaces5 databases.

showPrivileges44 cung cấp các đặc quyền giống như showPrivileges1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4. Vai trò cũng cung cấp:

Provides the same privileges as true1 on all databases except system.namespaces5 and system.namespaces4. The role also provides the rolesInfo7 action on the cluster as a whole.

Xem thêm Vai trò system.js9 và system.namespaces0 để truy cập vào cơ sở dữ liệu system.namespaces4 và system.namespaces5.system.js9 and system.namespaces0 roles for access to the system.namespaces4 and system.namespaces5 databases.

showPrivileges44 cung cấp các đặc quyền giống như showPrivileges1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4. Vai trò cũng cung cấp:showPrivileges80 includes the applyOps privilege action.

hành động rolesInfo7 trên toàn bộ cụm

hành động showPrivileges49

  • system.js6 cung cấp cùng một quyền truy cập vào các hoạt động quản trị người dùng là true5 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4. role, when scoped to the admin database

  • system.js6 cũng cung cấp các hành động đặc quyền sau đây trên cụm: role, when scoped to the admin database

  • Vai trò cung cấp các hành động đặc quyền sau đây trên các bộ sưu tập rolesInfo55 và showPrivileges63 trên cơ sở dữ liệu admin và trên các bộ sưu tập Legacy rolesInfo55 từ các phiên bản của MongoDB trước 2.6: role

Vai trò system.js6 không hạn chế các đặc quyền mà người dùng có thể cấp. Do đó, người dùng system.js6 có thể cấp cho mình các đặc quyền vượt quá các đặc quyền hiện tại của họ và thậm chí có thể tự cấp tất cả các đặc quyền, mặc dù vai trò này không cho phép rõ ràng các đặc quyền ngoài quản trị người dùng. Vai trò này thực sự là một siêu nhân hệ thống MongoDB.

showPrivileges80 cung cấp các đặc quyền giống như true1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces5 và system.namespaces4. Vai trò cũng cung cấp hành động rolesInfo7 trên toàn bộ cụm.

Provides access to the operations and all the resources of the following roles combined:

  • showPrivileges44

  • showPrivileges80

  • system.js6

  • system.js8

  • rolesInfo61

  • rolesInfo29

Bắt đầu từ MongoDB 5.0, showPrivileges80 bao gồm hành động đặc quyền ứng dụng.

Một số vai trò cung cấp quyền truy cập Superuser trên toàn hệ thống gián tiếp hoặc trực tiếp.

Các vai trò sau đây cung cấp khả năng gán bất kỳ người dùng nào bất kỳ đặc quyền nào trên bất kỳ cơ sở dữ liệu nào, điều đó có nghĩa là người dùng có một trong những vai trò này có thể tự gán bất kỳ đặc quyền nào trên bất kỳ cơ sở dữ liệu nào:

MongoDB assigns this role to user objects that represent cluster members, such as replica set members and showBuiltinRoles10 instances. The role entitles its holder to take any action against any object in the database.

Vai trò true2, khi được đưa vào cơ sở dữ liệu admin assign this role to user objects representing applications or human administrators, other than in exceptional circumstances.

true5 Vai trò, khi được đưa vào cơ sở dữ liệu admin