Ủy quyền là một phần thiết yếu của quản lý người dùng và kiểm soát truy cập xác định các chính sách cho những gì mỗi người dùng được phép thực hiện trên hệ thống. Quyết định chính sách nào phù hợp và triển khai chúng trong cơ sở dữ liệu của bạn đảm bảo rằng người dùng có thể tương tác với các tài nguyên họ yêu cầu trong khi bảo vệ chống lại hành vi không phù hợp
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách ủy quyền hoạt động trong MongoDB. Chúng ta sẽ xem cách MongoDB khái niệm hóa việc quản lý quyền truy cập, loại đặc quyền nào có thể được cấp cho người dùng và cách đính kèm chính sách vào tài khoản người dùng
LIÊN QUAN ĐẾN PRISMA. IO
Nếu bạn đang sử dụng MongoDB, hãy kiểm tra trình kết nối MongoDB của Prisma. Bạn có thể tự tin sử dụng Prisma Client để quản lý cơ sở dữ liệu MongoDB sản xuất
Để bắt đầu làm việc với MongoDB và Prisma, hãy xem hướng dẫn bắt đầu từ đầu của chúng tôi hoặc cách thêm vào một dự án hiện có
Prisma là bộ công cụ cơ sở dữ liệu mã nguồn mở dành cho Typescript và Node. js nhằm mục đích giúp các nhà phát triển ứng dụng làm việc hiệu quả và tự tin hơn khi làm việc với cơ sở dữ liệu
điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn sẽ cần có một tài khoản trên máy chủ MongoDB với các đặc quyền phù hợp
Để điều chỉnh cấu hình của MongoDB và kích hoạt ủy quyền trên cơ sở dữ liệu, bạn cần có quyền truy cập cấp
0 trên máy chủ
sudo systemctl restart mongod.service
Ngoài ra, trong MongoDB, bạn sẽ cần một tài khoản có ít nhất vai trò
1 để có thể thiết lập các chính sách ủy quyền dựa trên vai trò. Các vai trò bao gồm vai trò
sudo systemctl restart mongod.service
1, được liệt kê từ mức độ tập trung hẹp nhất đến mức độ đặc quyền rộng nhất là
sudo systemctl restart mongod.service
1sudo systemctl restart mongod.service
4sudo systemctl restart mongod.service
5sudo systemctl restart mongod.service
0sudo systemctl restart mongod.service
Ủy quyền hoạt động như thế nào trong MongoDB?
Quản lý ủy quyền và đặc quyền trong MongoDB được triển khai bằng Kiểm soát truy cập dựa trên vai trò [RBAC]. Trong hệ thống này, các cấp độ truy cập khác nhau được liên kết với các vai trò riêng lẻ. Để cấp cho người dùng quyền thực hiện một hành động, bạn cấp cho họ tư cách thành viên cho một vai trò có các đặc quyền phù hợp
Các vai trò trong MongoDB có thể được lồng vào nhau. Điều này có nghĩa là các vai trò có thể được cấp cho các vai trò khác. Vai trò chứa vai trò khác kế thừa tất cả các đặc quyền của vai trò con. Điều này cho phép tạo các vai trò mới có các đặc quyền mong muốn bằng cách kết hợp các vai trò một cách thích hợp
Bản thân các đặc quyền được xác định bởi sự kết hợp giữa một hành động và một tài nguyên. Thành phần hành động mô tả loại hành vi được đặc quyền cho phép, trong khi tài nguyên chỉ ra mục tiêu hoặc phạm vi của hành động
Những tài nguyên nào có sẵn trong MongoDB?
Mục tiêu hoặc phạm vi của một hành động được gọi là tài nguyên trong mô hình kiểm soát truy cập của MongoDB. Mỗi hành động chỉ có thể được áp dụng cho một số loại tài nguyên. Khi định cấu hình đặc quyền, bạn chỉ định chính xác tài nguyên mà đặc quyền sẽ được xác định phạm vi
Chúng ta có thể xem qua các tài nguyên có sẵn theo thứ tự từ trọng tâm hẹp nhất đến rộng nhất
Các đặc quyền có thể được xác định hẹp nhất bằng cách xác định phạm vi chúng cho một bộ sưu tập cụ thể trong một cơ sở dữ liệu cụ thể trong cụm. Trong cùng một cơ sở dữ liệu, các bộ sưu tập khác nhau có thể chỉ định các đặc quyền khác nhau. Điều này cho phép bạn triển khai các chính sách chi tiết cho các loại dữ liệu khác nhau
Tài nguyên lớn nhất tiếp theo mà bạn có thể ban hành chính sách là cơ sở dữ liệu. Quản lý các đặc quyền ở cấp độ cơ sở dữ liệu cho phép bạn cung cấp chính sách chung sẽ ảnh hưởng đến toàn bộ cơ sở dữ liệu và tất cả các bộ sưu tập bên trong.
Bạn cũng có thể đặt các chính sách áp dụng cho các bộ sưu tập cùng tên trên tất cả các cơ sở dữ liệu. Điều này cho phép bạn sử dụng các quy ước đặt tên để triển khai kiểm soát truy cập cho các bộ sưu tập cụ thể trên toàn hệ thống của mình. Một phiên bản rộng hơn của điều này là áp dụng chính sách cho tất cả các cơ sở dữ liệu và bộ sưu tập phi hệ thống trên hệ thống
Cuối cùng, bạn có thể áp dụng chính sách đối với toàn bộ cụm. Các hành động nhắm mục tiêu cụm ảnh hưởng đến hệ thống chung thay vì dữ liệu mà nó đang quản lý trực tiếp. Các chính sách ở cấp cụm có xu hướng tập trung vào các hoạt động hành chính
Những hành động nào có sẵn trong MongoDB?
Có một số lượng lớn các hành động có sẵn trong MongoDB có liên quan đến việc sử dụng chung, quản lý cơ sở dữ liệu và quản lý hệ thống. Nói chung, các hành động tương ứng với một hoặc nhiều lệnh hoặc phương thức trong MongoDB
Để xem danh sách các hành động có sẵn trong MongoDB cũng như chức năng của chúng, hãy mở rộng phần bên dưới
Danh sách các hành động MongoDB
Phạm vi hành độngMô tả
7cơ sở dữ liệu hoặc bộ sưu tậpCho phép thao tác đọc trên cơ sở dữ liệu
sudo systemctl restart mongod.service
8cơ sở dữ liệu hoặc bộ sưu tậpCho phép ghi thao tác trên cơ sở dữ liệu
sudo systemctl restart mongod.service
9cơ sở dữ liệu hoặc bộ sưu tậpCho phép xóa thao tác trên cơ sở dữ liệu
sudo systemctl restart mongod.service
00cơ sở dữ liệu hoặc bộ sưu tậpCho phép thao tác thay thế trên cơ sở dữ liệu
sudo systemctl restart mongod.service
01cơ sở dữ liệu hoặc bộ sưu tậpCho phép người dùng bỏ qua các chính sách xác thực dữ liệu đối với tài liệu.
sudo systemctl restart mongod.service
02clusterCho phép người dùng sử dụng giá trị
sudo systemctl restart mongod.service
03 để tìm tài liệu________cơ sở dữ liệu 104Người dùng có thể sửa đổi dữ liệu tùy chỉnh được liên kết với bất kỳ người dùng nào trong cơ sở dữ liệu________ Cơ sở dữ liệu 105Cho phép người dùng thay đổi dữ liệu tùy chỉnh được liên kết với người dùng của chính họ________cơ sở dữ liệu 106Cho phép người dùng thay đổi mật khẩu tài khoản của chính họ________cơ sở dữ liệu 107Cho phép người dùng thay đổi mật khẩu cho bất kỳ người dùng nào trong cơ sở dữ liệu . 2_______208collectionCho phép người dùng hủy con trỏ của người dùng khác________cơ sở dữ liệu 209Cho phép người dùng xóa vai trò khỏi bất kỳ người dùng nào trong hệ thống________cơ sở dữ liệu 300Cho phép người dùng đặt các yêu cầu xác thực cho người dùng và vai trò
sudo systemctl restart mongod.service
01clusterCho phép người dùng giảm số lượng khóa ghi trên cụmcơ sở dữ liệu
sudo systemctl restart mongod.service
02Cho phép xem chi tiết về vai trò trong cơ sở dữ liệu________cơ sở dữ liệu 303Cho phép xem chi tiết về . 4
sudo systemctl restart mongod.service
06clusterCho phép người dùng kích hoạt cấu hình CPU
sudo systemctl restart mongod.service
07clusterCho phép người dùng xem thông tin về các hoạt động đang được thực hiện hoặc trong hàng đợi của người dùng khác
sudo systemctl restart mongod.service
08clusterCho phép người dùng xóa thủ công chi tiết người dùng khỏi bộ đệm
sudo systemctl restart mongod.service
09clusterCho phép người dùng hủy các hoạt động của người dùng kháccơ sở dữ liệu hoặc bộ sưu tập
sudo systemctl restart mongod.service
00Cho phép người dùng xem thông tin về các kế hoạch truy vấn được lưu trong bộ nhớ cache________cơ sở dữ liệu 401 hoặc bộ sưu tậpCho phép
sudo systemctl restart mongod.service
Vai trò nào có sẵn trong MongoDB theo mặc định?
MongoDB bao gồm một số vai trò hữu ích kết hợp các đặc quyền tương tự với nhau. Các vai trò này cho phép bạn cấp và thu hồi các đặc quyền đối với tài nguyên cơ sở dữ liệu một cách ngắn gọn
Để xem danh sách các hành động có sẵn trong MongoDB cũng như chức năng của chúng, hãy mở rộng phần bên dưới
Danh sách vai trò MongoDB mặc định
022. Cung cấp quyền truy cập đọc vào các bộ sưu tập phi hệ thốngsudo systemctl restart mongod.service
- hành động
03sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
- hành động
031. Cung cấp quyền truy cập đọc và ghi vào các bộ sưu tập không thuộc hệ thốngsudo systemctl restart mongod.service
- hành động
009sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
9sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- hành động
048. Cung cấp quyền truy cập vào các tác vụ quản trị ở cấp cơ sở dữ liệu, không bao gồm vai trò và quản lý người dùngsudo systemctl restart mongod.service
- Các hành động trong bộ sưu tập
049sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Các hành động trong bộ sưu tập phi hệ thống
01sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
076sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
020sudo systemctl restart mongod.service
- Các hành động trong bộ sưu tập
1. Cung cấp quyền truy cập để tạo và sửa đổi người dùng và vai tròsudo systemctl restart mongod.service
- hành động
04sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
04sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
- hành động
4. Cung cấp quyền truy cập quản trị vào cơ sở dữ liệu bao gồm quản lý vai trò và người dùngsudo systemctl restart mongod.service
- Vai trò vai trò này kế thừa
031sudo systemctl restart mongod.service
048sudo systemctl restart mongod.service
1sudo systemctl restart mongod.service
- Vai trò vai trò này kế thừa
099. Cung cấp quyền truy cập đọc vào cụmsudo systemctl restart mongod.service
- Hành động cho toàn bộ cụm
007sudo systemctl restart mongod.service
010sudo systemctl restart mongod.service
013sudo systemctl restart mongod.service
04sudo systemctl restart mongod.service
014sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
015sudo systemctl restart mongod.service
005sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
018sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
019sudo systemctl restart mongod.service
008sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
021sudo systemctl restart mongod.service
- Hành động cho tất cả các cơ sở dữ liệu trong cụm
009sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
22sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
- Hành động cho tất cả các bộ sưu tập
049sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
- Hành động trên các bộ sưu tập phi hệ thống trong cơ sở dữ liệu
26sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
22sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
37 trong cơ sở dữ liệusudo systemctl restart mongod.service
26sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Thao tác trên tất cả các bộ sưu tập trong cơ sở dữ liệu
47sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
22sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
37 trong cơ sở dữ liệusudo systemctl restart mongod.service
47sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
68 vàsudo systemctl restart mongod.service
049 trong cơ sở dữ liệusudo systemctl restart mongod.service
47sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
- Hành động cho toàn bộ cụm
72. Cung cấp quyền truy cập giám sát và quản lý trên cụm thông qua cơ sở dữ liệusudo systemctl restart mongod.service
26 vàsudo systemctl restart mongod.service
47sudo systemctl restart mongod.service
- Hành động trên toàn bộ cụm
01sudo systemctl restart mongod.service
76sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
04sudo systemctl restart mongod.service
005sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
000sudo systemctl restart mongod.service
90sudo systemctl restart mongod.service
008sudo systemctl restart mongod.service
- Hành động trên tất cả các cơ sở dữ liệu trong cụm
02sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
04sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
- Thao tác đối với các bộ sưu tập không thuộc hệ thống trong cơ sở dữ liệu
26sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
9sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
37 trong cơ sở dữ liệusudo systemctl restart mongod.service
26sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Thao tác trên tất cả các bộ sưu tập không thuộc hệ thống trong cơ sở dữ liệu
47sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
9sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Các hành động cho bộ sưu tập
68 trong cơ sở dữ liệusudo systemctl restart mongod.service
47sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Hành động trên toàn bộ cụm
042. Cung cấp khả năng giám sát và quản lý máy chủsudo systemctl restart mongod.service
- Hành động trên toàn bộ cụm
03sudo systemctl restart mongod.service
04sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
050sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
001sudo systemctl restart mongod.service
002sudo systemctl restart mongod.service
003sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
- Hành động trên toàn bộ cụm
058. Cung cấp tất cả quyền truy cập quản lý cụmsudo systemctl restart mongod.service
- Vai trò vai trò này kế thừa
72sudo systemctl restart mongod.service
099sudo systemctl restart mongod.service
042sudo systemctl restart mongod.service
- hành động bổ sung
00sudo systemctl restart mongod.service
- Vai trò vai trò này kế thừa
063. Cung cấp các đặc quyền cần thiết để sao lưu dữ liệusudo systemctl restart mongod.service
- Hành động trên tất cả các tài nguyên
015sudo systemctl restart mongod.service
016sudo systemctl restart mongod.service
017sudo systemctl restart mongod.service
- Hành động trên toàn bộ cụm
76sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
015sudo systemctl restart mongod.service
019sudo systemctl restart mongod.service
- Các hành động đối với bộ sưu tập ngoài hệ thống, bộ sưu tập
37 vàsudo systemctl restart mongod.service
049, bộ sưu tậpsudo systemctl restart mongod.service
073 vàsudo systemctl restart mongod.service
074 và bộ sưu tậpsudo systemctl restart mongod.service
075sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
075sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Hành động trên tất cả các tài nguyên
080. Cung cấp các đặc quyền để khôi phục dữ liệu cho cụmsudo systemctl restart mongod.service
- Hành động trên toàn bộ cụm
05sudo systemctl restart mongod.service
- Hành động trên các bộ sưu tập phi hệ thống
01sudo systemctl restart mongod.service
04sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
04sudo systemctl restart mongod.service
06sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
03sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
37sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
- Hành động trên bất kỳ tài nguyên
016sudo systemctl restart mongod.service
- Hành động trên các bộ sưu tập phi hệ thống trong cơ sở dữ liệu
26 vàsudo systemctl restart mongod.service
47sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
- Các hành động đối với bộ sưu tập
015sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
074sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
- Thao tác trên bộ sưu tập
073sudo systemctl restart mongod.service
01sudo systemctl restart mongod.service
05sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
09sudo systemctl restart mongod.service
02sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
8sudo systemctl restart mongod.service
9sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Hành động trên toàn bộ cụm
035. Cung cấp các đặc quyền giống nhưsudo systemctl restart mongod.service
022 cho tất cả các cơ sở dữ liệu ngoại trừsudo systemctl restart mongod.service
47 vàsudo systemctl restart mongod.service
26sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
015sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
040. Cung cấp các đặc quyền giống nhưsudo systemctl restart mongod.service
031 cho tất cả các cơ sở dữ liệu ngoại trừsudo systemctl restart mongod.service
47 vàsudo systemctl restart mongod.service
26sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
015sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
5. Cung cấp các đặc quyền giống nhưsudo systemctl restart mongod.service
1 trên tất cả các cơ sở dữ liệu ngoại trừsudo systemctl restart mongod.service
47 vàsudo systemctl restart mongod.service
26sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
04sudo systemctl restart mongod.service
08sudo systemctl restart mongod.service
015sudo systemctl restart mongod.service
- Các hành động bổ sung trên cụm
052 vàsudo systemctl restart mongod.service
053 trong cơ sở dữ liệusudo systemctl restart mongod.service
054sudo systemctl restart mongod.service
009sudo systemctl restart mongod.service
011sudo systemctl restart mongod.service
012sudo systemctl restart mongod.service
7sudo systemctl restart mongod.service
07sudo systemctl restart mongod.service
00sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
061. Cung cấp các đặc quyền giống nhưsudo systemctl restart mongod.service
048 cho tất cả các cơ sở dữ liệu ngoại trừsudo systemctl restart mongod.service
47 vàsudo systemctl restart mongod.service
26sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
015sudo systemctl restart mongod.service
- Các hành động bổ sung trên toàn bộ cụm
0. Cung cấp quyền truy cập đầy đủ vào toàn bộ hệ thốngsudo systemctl restart mongod.service
- Vai trò vai trò này kế thừa
040sudo systemctl restart mongod.service
061sudo systemctl restart mongod.service
5sudo systemctl restart mongod.service
058sudo systemctl restart mongod.service
080sudo systemctl restart mongod.service
063sudo systemctl restart mongod.service
- Các hành động bổ sung đối với bộ sưu tập
073sudo systemctl restart mongod.service
020sudo systemctl restart mongod.service
- Vai trò vai trò này kế thừa
Cách bật ủy quyền trong MongoDB
Trước khi MongoDB có thể sử dụng ủy quyền để quản lý đặc quyền của người dùng, bạn phải bật chức năng này trên máy chủ hoặc cụm của mình. Để làm như vậy, bạn phải đăng nhập vào máy chủ của mình bằng
0 hoặc các đặc quyền quản trị khác
sudo systemctl restart mongod.service
Ghi chú. Trước khi bật ủy quyền, hãy kiểm tra kỹ để đảm bảo rằng bạn có quyền truy cập vào ít nhất một vai trò với các đặc quyền cần thiết để quản lý vai trò
Sửa đổi cấu hình của máy chủ MongoDB bằng cách mở tệp
076 trong trình soạn thảo văn bản với tư cách quản trị viên. Lệnh này sẽ mở tệp bằng trình soạn thảo văn bản được xác định trong biến môi trường
sudo systemctl restart mongod.service
077 và quay trở lại
sudo systemctl restart mongod.service
078, có sẵn trên hầu hết các hệ thống
sudo systemctl restart mongod.service
59
sudo systemctl restart mongod.service
Tệp cấu hình MongoDB sử dụng định dạng tuần tự hóa YAML để xác định cấu hình. Bỏ ghi chú hoặc thêm khóa phần
079 vào tệp. Bên dưới khóa này, thụt lề một dòng bằng cách sử dụng khoảng trắng [các tab không được phép trong YAML] và đặt
sudo systemctl restart mongod.service
080 thành
sudo systemctl restart mongod.service
081
sudo systemctl restart mongod.service
0
sudo systemctl restart mongod.service
Lưu và đóng tệp khi bạn hoàn tất
Để bật cài đặt mới, hãy khởi động lại quy trình máy chủ MongoDB của bạn. Nếu máy chủ MongoDB của bạn đang chạy trên máy chủ Linux, thao tác sẽ như thế này
sudo systemctl restart mongod.service
Khi quá trình khởi động lại, khung ủy quyền của MongoDB sẽ được bật trong cơ sở dữ liệu
Xem đặc quyền và vai trò
Trước khi bạn bắt đầu gán vai trò cho người dùng, bạn nên làm quen với cách xem thông tin về các đặc quyền và vai trò trong hệ thống
Để xem tất cả các vai trò có sẵn trên hệ thống, bao gồm tất cả các vai trò tích hợp sẵn và các đặc quyền liên quan của chúng, hãy sử dụng phương pháp
082 với các tùy chọn
sudo systemctl restart mongod.service
083 và
sudo systemctl restart mongod.service
084 được đặt thành
sudo systemctl restart mongod.service
085
sudo systemctl restart mongod.service
0
sudo systemctl restart mongod.service
Danh sách được trả về sẽ bao gồm toàn bộ danh sách thông tin lồng nhau về từng vai trò và đặc quyền mà họ có trên các tài nguyên khác nhau trong toàn hệ thống
Để lấy thông tin về một vai trò cụ thể, hãy sử dụng phương pháp
086 thay thế. Bạn phải ở trên cơ sở dữ liệu nơi người dùng được xác định trước khi thực hiện lệnh
sudo systemctl restart mongod.service
0
sudo systemctl restart mongod.service
Để kiểm tra xem vai trò nào đã được cấp cho từng người dùng, hãy thay đổi cơ sở dữ liệu mà bạn quan tâm và sử dụng phương pháp
087
sudo systemctl restart mongod.service
0
sudo systemctl restart mongod.service
Để kiểm tra các vai trò được liên kết với một người dùng cụ thể, hãy sử dụng
088 thay thế
sudo systemctl restart mongod.service
0
sudo systemctl restart mongod.service
Chỉ định và thu hồi vai trò từ người dùng
Để cấp thêm đặc quyền cho người dùng, bạn phải cấp cho họ quyền truy cập vào một vai trò hiện có
Phương pháp
089 cho phép bạn chỉ định các vai trò bổ sung mà bạn muốn thêm cho người dùng. Đối số đầu tiên của nó là người dùng mà bạn muốn cấp thêm đặc quyền và đối số thứ hai là một mảng các vai trò bổ sung mà bạn muốn thêm
sudo systemctl restart mongod.service
0
sudo systemctl restart mongod.service
Nếu các vai trò được xác định trong cơ sở dữ liệu hiện tại, bạn có thể sử dụng cách viết tắt ở trên để chỉ định vai trò theo tên mà không đề cập đến cơ sở dữ liệu
Để cấp các vai trò được liên kết với một cơ sở dữ liệu khác hoặc để rõ ràng hơn, hãy chỉ định các vai trò dưới dạng tài liệu xác định
090 và
sudo systemctl restart mongod.service
091 thay thế
sudo systemctl restart mongod.service
0
sudo systemctl restart mongod.service
Để thu hồi vai trò của người dùng, bạn có thể sử dụng phương pháp đồng hành có tên là
092. Cú pháp đối số hoạt động giống hệt nhau, nhưng lần này, lệnh sẽ xóa các vai trò khỏi tài khoản đã chỉ định
sudo systemctl restart mongod.service
Để xóa vai trò được xác định trong cơ sở dữ liệu hiện tại, bạn có thể sử dụng tên vai trò mà không đề cập đến cơ sở dữ liệu
0
sudo systemctl restart mongod.service
Để chỉ định các vai trò được liên kết với các cơ sở dữ liệu khác, hãy sử dụng biểu mẫu dài bằng cách chỉ định
090 và
sudo systemctl restart mongod.service
091 trong tài liệu
sudo systemctl restart mongod.service
00
sudo systemctl restart mongod.service
Tạo và quản lý vai trò tùy chỉnh
Đôi khi các vai trò tích hợp sẵn của hệ thống không khớp hoàn toàn với các loại quyền mà bạn cần chỉ định. Trong những trường hợp này, bạn có thể tạo vai trò tùy chỉnh của riêng mình
Tạo vai trò mới
Phương thức
095 cho phép bạn xác định một vai trò mới mà bạn có thể gán các đặc quyền và các vai trò khác cho. Sau đó, bạn có thể cấp vai trò mới của mình cho người dùng để cung cấp cho họ các đặc quyền cụ thể mà bạn đã xác định
sudo systemctl restart mongod.service
Cú pháp cơ bản của phương pháp
095 liên quan đến việc chuyển một tài liệu xác định các đặc điểm của vai trò. Tài liệu có thể có các trường sau
sudo systemctl restart mongod.service
090. Tên bạn muốn đặt cho vai trò
sudo systemctl restart mongod.service
098. Một mảng chứa tập hợp các đặc quyền lỏng lẻo mà bạn muốn gán cho vai trò. Mỗi đặc quyền được xác định trong một tài liệu lồng nhau xác định tài liệu
sudo systemctl restart mongod.service
099 [chỉ định tài nguyên nào áp dụng đặc quyền này] cũng như một mảng
sudo systemctl restart mongod.service
000 đang được cấp
sudo systemctl restart mongod.service
001. Một loạt các vai trò bổ sung mà vai trò này sẽ kế thừa từ. Vai trò mới sẽ nhận được tất cả các đặc quyền được cấp cho bất kỳ vai trò nào được liệt kê tại đây
sudo systemctl restart mongod.service
002. Một mảng chỉ định mọi hạn chế về xác thực cho vai trò. Điều này cho phép bạn từ chối các đặc quyền của vai trò nếu người dùng chưa xác thực theo cách mà vai trò chấp nhận
sudo systemctl restart mongod.service
Ba trường đầu tiên là bắt buộc đối với mọi vai trò mới được tạo
Ví dụ: hãy tạo một vai trò có tên là
003 cung cấp quyền truy cập chỉ đọc vào cơ sở dữ liệu
sudo systemctl restart mongod.service
004
sudo systemctl restart mongod.service
01
sudo systemctl restart mongod.service
Chúng ta có thể diễn đạt vai trò tương tự [nhưng hạn chế hơn] bằng cách sử dụng trường
098 thay vì vai trò
sudo systemctl restart mongod.service
022 bằng cách nhập
sudo systemctl restart mongod.service
02
sudo systemctl restart mongod.service
Xem thông tin về vai trò tùy chỉnh
Như trước đây, bạn có thể nhận thông tin về vai trò của mình bằng phương pháp
086
sudo systemctl restart mongod.service
03
sudo systemctl restart mongod.service
Cấp đặc quyền bổ sung cho vai trò tùy chỉnh
Để cấp các đặc quyền bổ sung cho vai trò do người dùng xác định hiện có, bạn có thể sử dụng phương pháp
008. Nó nhận một loạt các đặc quyền được xác định bởi các tài liệu có chứa một tài liệu
sudo systemctl restart mongod.service
099 và mảng
sudo systemctl restart mongod.service
000, giống như chúng ta đã thấy ở trên với
sudo systemctl restart mongod.service
095
sudo systemctl restart mongod.service
Chẳng hạn, để thêm đặc quyền
016 vào vai trò
sudo systemctl restart mongod.service
003, bạn có thể nhập
sudo systemctl restart mongod.service
04
sudo systemctl restart mongod.service
Thu hồi đặc quyền từ vai trò tùy chỉnh
Nếu bạn đổi ý, bạn có thể sử dụng phương pháp
014 để xóa tác vụ
sudo systemctl restart mongod.service
016 bằng cùng định dạng
sudo systemctl restart mongod.service
05
sudo systemctl restart mongod.service
Cấp vai trò cho vai trò tùy chỉnh
Để thêm các đặc quyền được xác định bởi một vai trò cho một vai trò khác, bạn có thể sử dụng phương pháp
016. Phương thức nhận vai trò bạn muốn sửa đổi và một loạt vai trò bạn muốn thêm vào làm đối số
sudo systemctl restart mongod.service
Để xác định rằng bạn muốn sử dụng vai trò
022 cho vai trò
sudo systemctl restart mongod.service
003 sau tất cả, bạn có thể làm như vậy bằng cách nhập
sudo systemctl restart mongod.service
06
sudo systemctl restart mongod.service
Thu hồi vai trò từ vai trò tùy chỉnh
Nếu bạn đổi ý lần nữa, bạn có thể thu hồi quyền truy cập vai trò bằng phương thức
019, sử dụng cùng một cú pháp đối số
sudo systemctl restart mongod.service
07
sudo systemctl restart mongod.service
Thay thế các giá trị của vai trò tùy chỉnh
Để xác định lại các đặc điểm của vai trò do người dùng xác định, bạn có thể sử dụng lệnh
020. Nó hoạt động bằng cách thay thế các trường mà nó chỉ định thay vì nối thêm hoặc cắt bớt chúng. Vì lý do này, bạn nên cẩn thận khi đưa ra lệnh để không vô tình ghi đè lên thông tin quan trọng
sudo systemctl restart mongod.service
Cú pháp của lệnh
020 liên quan đến việc chuyển tên vai trò làm đối số đầu tiên và tài liệu chỉ định trường hoặc các trường bạn muốn thay thế làm đối số thứ hai. Các trường có thể được thay thế bao gồm mảng
sudo systemctl restart mongod.service
098, mảng
sudo systemctl restart mongod.service
001 và mảng
sudo systemctl restart mongod.service
002. Ít nhất một trong số này phải được đưa vào tài liệu
sudo systemctl restart mongod.service
Ví dụ: sau khi cuối cùng chúng tôi đã quyết định rằng chúng tôi muốn vai trò
003 sử dụng vai trò
sudo systemctl restart mongod.service
022 trên cơ sở dữ liệu
sudo systemctl restart mongod.service
004, chúng tôi có thể muốn xác định lại các mảng vai trò và đặc quyền của vai trò để xóa mọi đặc quyền bổ sung đã bị bỏ lại sau quá trình thử nghiệm của chúng tôi. Bạn có thể làm điều này bằng cách cập nhật vai trò với thông tin mới mà bạn muốn đặt
sudo systemctl restart mongod.service
08
sudo systemctl restart mongod.service
Xóa vai trò do người dùng xác định
Bạn có thể xóa các vai trò không cần thiết bằng phương pháp
028
sudo systemctl restart mongod.service
Để xóa một vai trò, chỉ cần chuyển tên của vai trò đó cho phương thức
09
sudo systemctl restart mongod.service
Vai trò sẽ bị xóa khỏi hệ thống và mọi đặc quyền được cấp cho người dùng theo vai trò đó sẽ không thể truy cập được nữa
Sự kết luận
Trong bài viết này, chúng tôi đã đề cập rất nhiều về cách MongoDB triển khai kiểm soát truy cập và quản lý đặc quyền. Chúng tôi đã xem xét nền tảng khái niệm của hệ thống, xem các vai trò, hành động và tài nguyên có sẵn để quản trị viên quản lý, sau đó tìm hiểu về cách sử dụng hệ thống vai trò để định cấu hình ủy quyền trên toàn hệ thống
Những kỹ năng này là cần thiết để cung cấp cho người dùng quyền truy cập vào các tài nguyên họ cần để hoàn thành các nhiệm vụ được yêu cầu trong khi hạn chế tiếp xúc với các phần không liên quan của hệ thống. Học cách xác định và tận dụng các vai trò giúp tăng khả năng cung cấp quyền kiểm soát truy cập chi tiết trên các hệ thống MongoDB mà bạn quản lý
LIÊN QUAN ĐẾN PRISMA. IO
Nếu bạn đang sử dụng MongoDB, hãy kiểm tra trình kết nối MongoDB của Prisma. Bạn có thể tự tin sử dụng Prisma Client để quản lý cơ sở dữ liệu MongoDB sản xuất
Để bắt đầu làm việc với MongoDB và Prisma, hãy xem hướng dẫn bắt đầu từ đầu của chúng tôi hoặc cách thêm vào một dự án hiện có
Prisma là bộ công cụ cơ sở dữ liệu mã nguồn mở dành cho Typescript và Node. js nhằm mục đích giúp các nhà phát triển ứng dụng làm việc hiệu quả và tự tin hơn khi làm việc với cơ sở dữ liệu
Câu hỏi thường gặp
Bạn có thể tạo người dùng chỉ đọc trong MongoDB không?
Có hai vai trò tích hợp cho người dùng chỉ đọc trong MongoDB. Người dùng có thể được gán cho vai trò
022 hoặc vai trò
sudo systemctl restart mongod.service
035
sudo systemctl restart mongod.service
022 cung cấp khả năng đọc dữ liệu trên tất cả các bộ sưu tập ngoài hệ thống
sudo systemctl restart mongod.service
035 cung cấp các khả năng giống như
sudo systemctl restart mongod.service
022 ngoại trừ nó cũng cung cấp khả năng sử dụng hành động
sudo systemctl restart mongod.service
015 trên toàn bộ cụm
sudo systemctl restart mongod.service
Vai trò giám sát cụm trong MongoDB là gì?
Vai trò
099 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ư tác nhân giám sát MongoDB Cloud Manager và Ops Manager
sudo systemctl restart mongod.service
Vai trò sao lưu trong MongoDB là gì?
Vai trò
063 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 quyền để sử dụng tác nhân dự phòng MongoDB Cloud và Ops Manager
sudo systemctl restart mongod.service
Nó cũng có quyền chạy các hành động
8 và
sudo systemctl restart mongod.service
00 trên các bộ sưu tập sao lưu trong cơ sở dữ liệu
sudo systemctl restart mongod.service
054 ,
sudo systemctl restart mongod.service
040 và
sudo systemctl restart mongod.service
26
sudo systemctl restart mongod.service
Root trong MongoDB là gì?
Vai trò
0 trong MongoDB cung cấp quyền truy cập vào tất cả các hoạt động và tài nguyên của các vai trò sau được kết hợp
sudo systemctl restart mongod.service
040
sudo systemctl restart mongod.service
061
sudo systemctl restart mongod.service
5
sudo systemctl restart mongod.service
058
sudo systemctl restart mongod.service
080
sudo systemctl restart mongod.service
063
sudo systemctl restart mongod.service
Kiểm soát truy cập dựa trên vai trò [RBAC] trong MongoDB là gì?
MongoDB sử dụng RBAC để quản lý quyền truy cập vào hệ thống MongoDB. RBAC là một chiến lược bảo mật hạn chế các hoạt động được phép đối với người dùng dựa trên vai trò được chỉ định của họ