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 showPrivileges
và showBuiltinRoles
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
.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
rolesInfo
0
rolesInfo
1
rolesInfo
2
rolesInfo
3
rolesInfo
4
rolesInfo
5
rolesInfo
6
Nếu người dùng không có hành động đặc quyền rolesInfo
7, người dùng có thể chạy lệnh rolesInfo
7 để 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 rolesInfo
9 không xác định hoặc đặt thành true
.
showPrivileges
1 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
rolesInfo
0
showPrivileges
6
showPrivileges
7
rolesInfo
1
rolesInfo
2
showBuiltinRoles
0
showBuiltinRoles
1
showBuiltinRoles
2
rolesInfo
3
showBuiltinRoles
4
rolesInfo
4
rolesInfo
5
rolesInfo
6
showBuiltinRoles
8
showBuiltinRoles
9
true
0
Mỗi cơ sở dữ liệu bao gồm các vai trò quản trị cơ sở dữ liệu sau:
true
1 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:
true
2 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ò showPrivileges
1, true
1 và true
5.The
database owner can perform any administrative action on the database. This role combines the privileges granted by the showPrivileges
1, true
1 and
true
5 roles.
true
5 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ò true
5 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
true
5 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ò true
5 cung cấp rõ ràng các hành động sau:true
5 role explicitly provides the following actions:
read
0
read
1
read
2
read
3
read
4
read
5
read
6
read
7
read
8
read
9
system.js
0
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ò true
5: 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ò true
5 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ò true
5 có thể cấp các vai trò hoặc đặc quyền trên toàn cụmtrue
5 role: a user with this role for a database can assign themselves any privilege on that database. Granting the true
5 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 true
5 role can grant cluster-wide roles or privileges including
system.js
6
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.js
8 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.js
9, system.namespaces
0 và system.namespaces
1. Ngoài ra, vai trò cung cấp hành động system.namespaces
2.Provides the greatest cluster-management access. This role combines the privileges granted by
the system.js
9, system.namespaces
0, and system.namespaces
1 roles. Additionally, the role provides the
system.namespaces
2 action.
system.js
9 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.namespaces
4 và system.namespaces
5, đượ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.namespaces
4 and system.namespaces
5 databases, which are used in sharding and replication, respectively.
Trên cơ sở dữ liệu system.namespaces
4, cho phép các hành động sau:
Trên cơ sở dữ liệu system.namespaces
5, cho phép các hành động sau:
system.namespaces
0 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.namespaces 9
changeStream 0
changeStream 1
changeStream 2
changeStream 3
changeStream 4
changeStream 5
changeStream 6
changeStream 7
|
Cho phép các hành động sau trên tất cả các cơ sở dữ liệu trong cụm:
rolesInfo
0
rolesInfo
2
rolesInfo
00
rolesInfo
01
rolesInfo
02
Cho phép hành động rolesInfo
3 trên tất cả các bộ sưu tập rolesInfo
04 trong cụm.
Trên cơ sở dữ liệu system.namespaces
4, cho phép các hành động sau:
Trên cơ sở dữ liệu system.namespaces
5, cho phép các hành động sau:
system.namespaces
0 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:
rolesInfo 08
rolesInfo 09
rolesInfo 10
rolesInfo 11
rolesInfo 12
rolesInfo 13
| rolesInfo 14
rolesInfo 15
rolesInfo 16
rolesInfo 17
rolesInfo 18
rolesInfo 19
|
|
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 rolesInfo
3 trên tất cả các bộ sưu tập rolesInfo
04 trong cụm.
system.namespaces
1 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 rolesInfo
30 to back up an entire rolesInfo
31 instance.
rolesInfo
20 (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.namespaces
1 không còn cung cấp hành động đặc quyền rolesInfo
26 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:
rolesInfo
29 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 rolesInfo
30 để sao lưu toàn bộ phiên bản rolesInfo
31.
Cung cấp các hành động showBuiltinRoles
4 và true
0 trên bộ sưu tập rolesInfo
34 trong cơ sở dữ liệu admin
và trên bộ sưu tập rolesInfo
36 trong cơ sở dữ liệu ____74.
rolesInfo
6 Hành động
rolesInfo
5 Hành động
Trên toàn bộ cụm, cung cấp
changeStream
4 (bắt đầu từ MongoDB 4.2)
rolesInfo
46 (bắt đầu từ MongoDB 6.0)
Cung cấp hành động rolesInfo
3 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.namespaces
4 và system.namespaces
5
Các bộ sưu tập hệ thống sau đây trong cụm:
system.js
và rolesInfo
04rolesInfo
29 role provides additional privileges to back up the rolesInfo
04 collection that exists when running with
database profiling.
Bộ sưu tập rolesInfo
52 và rolesInfo
53Provides
showPrivileges
6 on non-system collections.
Bộ sưu tập rolesInfo
54rolesInfo
64 without the rolesInfo
65 option.
Di sản rolesInfo
55 Bộ sưu tập từ các phiên bản của MongoDB trước 2.6rolesInfo
65, you need additional privileges:
Cung cấp các hành động showBuiltinRoles
4 và true
0 trên bộ sưu tập rolesInfo
54.
Vai trò rolesInfo
29 cung cấp các đặc quyền bổ sung để sao lưu bộ sưu tập rolesInfo
04 tồn tại khi chạy với hồ sơ cơ sở dữ liệu.
rolesInfo
69
read
0
read
1
rolesInfo
72
showPrivileges
6
showPrivileges
7
showBuiltinRoles
1
read
2
read
3
showBuiltinRoles
0
read
4
read
5
read
6
showBuiltinRoles
4
read
7
read
9
system.js
0
rolesInfo
61 cung cấp showPrivileges
6 trên các bộ sưu tập phi hệ thống.
rolesInfo
69
rolesInfo
72
showPrivileges
7
showBuiltinRoles
1
showBuiltinRoles
0
showBuiltinRoles
4
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 rolesInfo
04 và bạn chạy rolesInfo
64 mà không cần tùy chọn rolesInfo
65.
Nếu dữ liệu sao lưu bao gồm dữ liệu thu thập rolesInfo
04 hoặc bạn chạy với rolesInfo
65, bạn cần thêm các đặc quyền:
rolesInfo
69
rolesInfo
72
showPrivileges
7
showBuiltinRoles
1
showBuiltinRoles
0
showBuiltinRoles
4
Cung cấp các hành động sau đây trên toàn bộ cụm:
rolesInfo
69
rolesInfo
72
showPrivileges
7
showBuiltinRoles
1
showBuiltinRoles
0
rolesInfo
3
showBuiltinRoles
4
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:
Cung cấp các hành động sau trên bộ sưu tập system.js
:
rolesInfo
69
rolesInfo
72
showPrivileges
7
showBuiltinRoles
1
showBuiltinRoles
0
rolesInfo
3
showBuiltinRoles
4
showBuiltinRoles
8
true
0
Cung cấp hành động sau đây trên rolesInfo
38rolesInfo
61 includes the ability to modify the documents in the rolesInfo
52 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:
rolesInfo6 Hành động
rolesInfo5 Hành động
Trên toàn bộ cụm, cung cấprolesInfo
61 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ò rolesInfo
61 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.rolesInfo
61 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.namespaces
5 và system.namespaces
4:
showPrivileges
35 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.namespaces
5 và system.namespaces
4. Vai trò cũng cung cấp hành động rolesInfo
7 trên toàn bộ cụm.Provides the same read-only privileges as
read
on all databases except system.namespaces
5 and system.namespaces
4. The role also provides the rolesInfo
7 action on the cluster as a whole.
Xem thêm Vai trò system.js
9 và system.namespaces
0 để truy cập vào cơ sở dữ liệu system.namespaces
4 và system.namespaces
5.system.js
9 and system.namespaces
0 roles for access to the system.namespaces
4 and system.namespaces
5 databases.
showPrivileges
44 cung cấp các đặc quyền giống như showPrivileges
1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces
5 và system.namespaces
4. Vai trò cũng cung cấp:Provides the same privileges as showPrivileges
1 on all databases except system.namespaces
5 and system.namespaces
4. The role also provides:
Xem thêm Vai trò system.js
9 và system.namespaces
0 để truy cập vào cơ sở dữ liệu system.namespaces
4 và system.namespaces
5.system.js
9 and system.namespaces
0 roles for access to the system.namespaces
4 and system.namespaces
5 databases.
showPrivileges
44 cung cấp các đặc quyền giống như showPrivileges
1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces
5 và system.namespaces
4. Vai trò cũng cung cấp:Provides the same access to user administration operations as true
5 on all databases except system.namespaces
5 and system.namespaces
4.
hành động rolesInfo
7 trên toàn bộ cụm also provides the following privilege actions on the cluster:
showPrivileges
59
rolesInfo
13
rolesInfo
7
hành động showPrivileges
49
rolesInfo
0
rolesInfo
1
rolesInfo
2
rolesInfo
3
rolesInfo
4
showPrivileges
71
showBuiltinRoles
1
showBuiltinRoles
2
system.js
6 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à true
5 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces
5 và system.namespaces
4.system.js
6 role does not restrict the privileges that a
user can grant. As a result, system.js
6 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.js
9 và system.namespaces
0 để truy cập vào cơ sở dữ liệu system.namespaces
4 và system.namespaces
5.system.js
9 and system.namespaces
0 roles for access to the system.namespaces
4 and system.namespaces
5
databases.
showPrivileges
44 cung cấp các đặc quyền giống như showPrivileges
1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces
5 và system.namespaces
4. Vai trò cũng cung cấp:Provides the same privileges as true
1 on all databases except system.namespaces
5 and system.namespaces
4.
The role also provides the rolesInfo
7 action on the cluster as a whole.
Xem thêm Vai trò system.js
9 và system.namespaces
0 để truy cập vào cơ sở dữ liệu system.namespaces
4 và system.namespaces
5.system.js
9 and
system.namespaces
0 roles for access to the system.namespaces
4 and system.namespaces
5 databases.
showPrivileges
44 cung cấp các đặc quyền giống như showPrivileges
1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces
5 và system.namespaces
4. Vai trò cũng cung cấp:showPrivileges
80 includes the
applyOps privilege action.
hành động rolesInfo
7 trên toàn bộ cụm
hành động showPrivileges
49
system.js
6 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à true
5 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces
5 và system.namespaces
4. role, when scoped to the admin
database
system.js
6 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 rolesInfo
55 và showPrivileges
63 trên cơ sở dữ liệu admin
và trên các bộ sưu tập Legacy rolesInfo
55 từ các phiên bản của MongoDB trước 2.6: role
Vai trò system.js
6 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.js
6 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.
showPrivileges
80 cung cấp các đặc quyền giống như true
1 trên tất cả các cơ sở dữ liệu ngoại trừ system.namespaces
5 và system.namespaces
4. Vai trò cũng cung cấp hành động rolesInfo
7 trên toàn bộ cụm.Provides access to the
operations and all the resources of the following roles combined:
showPrivileges
44
showPrivileges
80
system.js
6
system.js
8
rolesInfo
61
rolesInfo
29
Bắt đầu từ MongoDB 5.0, showPrivileges
80 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 showBuiltinRoles
10 instances.
The role entitles its holder to take any action against any object in the database.
Vai trò true
2, 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.
true
5 Vai trò, khi được đưa vào cơ sở dữ liệu admin