Vai trò & quyền
Tìm hiểu cách vai trò hệ thống và vai trò tùy chỉnh kiểm soát những gì mỗi người dùng có thể làm trong AgentFlow.
Vai trò là gì?
Vai trò là tập hợp các quyền bạn cấp cho người dùng. Thay vì gán quyền từng cái một, bạn tạo một vai trò (ví dụ: "Người duyệt đề xuất") rồi cấp vai trò đó cho các thành viên phù hợp.
Vào Quản trị → Vai trò để xem danh sách toàn bộ vai trò của tổ chức.
Vai trò hệ thống và vai trò tùy chỉnh
| Loại | Mô tả |
|---|---|
| Hệ thống (badge "hệ thống") | Đi kèm với nền tảng, không thể thay đổi quyền. |
| Tùy chỉnh | Do quản trị viên tạo, quyền có thể chỉnh sửa tự do. |
Quyền của vai trò hệ thống không thể thay đổi. Nếu cần điều chỉnh, hãy tạo một vai trò tùy chỉnh mới.
Bạn có thể gặp trong danh sách những vai trò tên Automation: {tên khóa} mà không ai tạo bằng tay. Đó là vai trò riêng do việc phát hành một khóa API sinh ra, mang đúng tập quyền khóa đó yêu cầu — sửa nó chính là sửa tầm với của một thông tin xác thực. Xem Chủ thể dịch vụ (Service principal).
Các quyền trên nền tảng
Bảng dưới liệt kê các quyền ở cấp nền tảng. Các quyền trên thực thể và bản ghi (entity.*) nằm ở mục kế tiếp.
| Quyền | Tên hiển thị | Người dùng có thể làm gì |
|---|---|---|
workflow.design | Thiết kế quy trình | Tạo và chỉnh sửa bản nháp quy trình, biểu mẫu và đồ thị trực quan |
form.design | Thiết kế biểu mẫu | Tạo và chỉnh sửa biểu mẫu độc lập, không gắn quy trình. Không bao gồm quyền xuất bản hay đánh dấu trường nhạy cảm |
workflow.publish | Xuất bản quy trình | Đưa bản nháp thành phiên bản đã xuất bản cho người chạy |
workflow.start.any | Khởi động phiên quy trình | Khởi chạy bất kỳ quy trình đã xuất bản nào |
workflow.simulate | Mô phỏng quy trình | Chạy quy trình ở chế độ mô phỏng với các bước giả lập và không có tác động bên ngoài |
workflow.simulate.real | Mô phỏng với tác động thật | Chạy mô phỏng thực thi tác động thật — gọi agent thật, gửi đi, ghi dữ liệu |
workflow.sql.write | Chạy SQL ghi | Xuất bản bước SQL Query có thay đổi cơ sở dữ liệu (chế độ ghi đang tắt ở bản phát hành này) |
instance.admin | Quản trị phiên chạy | Xem và thao tác trên mọi phiên chạy bất kể ai khởi động |
instance.read.any | Xem phiên chạy của người khác | Xem mọi phiên chạy quy trình và chi tiết của nó, bất kể ai đã khởi động. Không cho phép thao tác trên các phiên đó |
audit.view | Xem nhật ký kiểm toán | Đọc lịch sử kiểm toán phiên chạy và toàn hệ thống |
deployment.admin | Quản trị triển khai | Quản lý người dùng, lời mời, vai trò và cài đặt hệ thống |
integration.admin | Quản lý tích hợp | Kết nối, kết nối lại và quản lý tài khoản tích hợp bên thứ ba cho tổ chức |
file_set.admin | Quản lý thư mục theo dõi | Thêm, gỡ và quét lại thư mục theo dõi, và quyết định ai được chạy quy trình trên từng thư mục. Thấy và dùng được mọi thư mục bất kể danh sách cấp quyền |
dashboard.manage.any | Quản lý bảng điều khiển của người khác | Sửa, chuyển chủ sở hữu hoặc xóa bảng điều khiển mình không sở hữu. Không cấp quyền đọc bản ghi: mọi ô vẫn tính trong phạm vi của chính người xem |
agent_tool.admin | Quản lý công cụ agent | Đăng ký, bật, tắt công cụ khả dụng cho bước Trợ lý AI |
retention.delete | Xóa & che dữ liệu | Xóa vĩnh viễn phiên và che dữ liệu kiểm toán |
Ví dụ thực tế: Trong quy trình "Đề xuất mua sắm", nhân viên không cần quyền riêng để hoàn thành công việc người dùng (Human task) phê duyệt đã giao cho họ — được giao là đủ; trưởng bộ phận thiết kế cần workflow.design và workflow.publish.
Công việc: các quyền về tác vụ đã bị bỏ
Quyền task.act cũ không còn nữa — nó chưa từng được kiểm tra ở đâu cả, vì xử lý công việc được giao cho mình vốn không cần quyền. Quyền task.create, vốn cho phép tạo công việc ngoài quy trình, đã mất cùng các công việc đó, còn task.read.any và task.manage.any mất cùng cách quản trị công việc cũ. Một công việc nay là bản ghi của thực thể Workflow task, và việc giao lại công việc theo cùng quy tắc như mọi bản ghi: muốn ai đó gỡ được công việc bị kẹt của người khác, hãy cấp cho họ quyền giao việc (assign) trên thực thể đó, trong phần quyền truy cập của nó. Đây không phải quyền của vai trò, nên không vai trò nào mang nó. Hệ thống đã gỡ các quyền đã bỏ khỏi mọi vai trò và khóa API (và thêm form.design vào mọi vai trò đang có workflow.design); một khóa chỉ được giới hạn vào chúng sẽ không còn quyền nào, chứ không bao giờ trở thành khóa không giới hạn, và một vai trò hay khóa vẫn nêu chúng sẽ được lưu mà không có chúng.
dashboard.manage.any thì không được gán sẵn cho vai trò nào, kể cả vai trò quản trị — không ai tự dưng có quyền xử lý bảng điều khiển của người khác chỉ vì hệ thống được nâng cấp. Cấp nó theo các bước ở mục Chỉnh sửa quyền của vai trò bên dưới.
instance.read.any không được gán sẵn cho bất kỳ vai trò nào, kể cả vai trò quản trị lúc khởi tạo tổ chức. Nó dành cho người đọc cần xem các lượt chạy mà mình không khởi động — thường là chủ thể dịch vụ của một tích hợp, vốn nếu không có nó thì chỉ thấy các lượt chạy do chính khóa của nó khởi động. Nó không cho phép thao tác: hủy, tạm dừng, tiếp tục hay chạy lại một phiên vẫn cần người khởi động hoặc instance.admin, còn nhận hay gửi công việc vẫn thuộc về con người. Xem Chủ thể dịch vụ (Service principal).
Quyền trên thực thể và bản ghi
Nhóm quyền này chi phối dữ liệu trong Thực thể, và có một điều bạn cần biết trước khi đọc bảng: quyền vai trò là mức trần, không phải câu trả lời. Cấp entity.read cho một người không có nghĩa là họ đọc được một bản ghi cụ thể. Trên một thực thể đặt ở chế độ hạn chế, họ còn cần một lượt cấp quyền trên chính thực thể đó, và phạm vi ghi trong lượt cấp quyền ấy mới quyết định những bản ghi nào. Chiều ngược lại cũng đúng: lượt cấp quyền chỉ thu hẹp được mức trần, không bao giờ nới rộng — phạm vi Toàn tổ chức cấp cho người không có entity.write vẫn không ghi được gì.
Nếu bạn đã cấp quyền mà người dùng vẫn bị chặn, đừng kết luận hệ thống hỏng — hãy kiểm tra nửa còn lại. Chính sách truy cập của từng thực thể nằm ở Quản trị → Thực thể, tab Quyền truy cập; xem Quyền truy cập Thực thể & Bản ghi. Tab đó cũng có công cụ Giải thích quyền truy cập, trả lời thẳng vì sao một chủ thể được hay không được thao tác trên một hồ sơ.
| Quyền | Tên hiển thị | Người dùng có thể làm gì |
|---|---|---|
entity.design | Thiết kế thực thể | Tạo và chỉnh sửa định nghĩa thực thể, trường, khung nhìn và cấu hình trình duyệt |
entity.admin | Quản trị thực thể | Cấu hình mọi thực thể bất kể phân quyền thiết kế từng thực thể — cánh cửa cấu hình, không mở bản ghi nào |
entity.read | Đọc bản ghi | Mở và đọc từng bản ghi thực thể |
entity.list | Liệt kê bản ghi | Duyệt, lọc, sắp xếp và liệt kê bản ghi thực thể |
entity.write | Ghi bản ghi | Tạo và cập nhật bản ghi thực thể |
entity.delete | Xóa bản ghi | Xóa bản ghi thực thể — quyền độc lập, không suy ra từ quyền ghi |
field_access.admin | Quản lý quyền truy cập trường | Tạo hồ sơ bảo mật trường, chọn người được áp dụng, và bật hoặc tắt bảo mật cho trường. Thấy danh sách trường của mọi ứng dụng; không mở được bản ghi nào. Hồ sơ quyết định ai được đọc, ai được nhập khi tạo và ai được sửa từng trường được bảo mật. Quyền entity.read.sensitive đã bị gỡ: hồ sơ bảo mật trường là cách duy nhất để một người chạm tới trường được bảo mật |
entity.records.assign_owner | Gán chủ sở hữu bản ghi | Đặt chủ sở hữu bản ghi là người khác ngoài mình, khi tạo hoặc khi chuyển quyền sở hữu lúc sửa |
entity.records.elevated | Vượt phạm vi bản ghi (có kiểm toán) | Chạm tới mọi bản ghi của thực thể bị hạn chế, bất kể danh sách cấp quyền — và mọi lần dùng đều được ghi kiểm toán |
entity.records.restore | Khôi phục bản ghi đã xoá | Xem thùng rác của Ứng dụng và khôi phục trọn vẹn những gì một lần xoá đã lấy đi. Vẫn cần năng lực Xóa và phạm vi hàng Xóa cho từng bản ghi trong thùng rác |
entity.admin từng mở mọi bản ghi. Nay nó là cánh cửa cấu hình và chỉ vậy: nó mở bề mặt thiết kế của mọi thực thể — trường, khung nhìn, chính sách truy cập — bất kể phân quyền thiết kế từng thực thể, và không thay cho bất kỳ quyền bản ghi nào. Phạm vi bản ghi vẫn áp dụng đầy đủ với người giữ nó.
entity.records.elevated là thứ duy nhất còn bỏ qua được phạm vi bản ghi, và nó không được gán sẵn cho bất kỳ vai trò nào — kể cả vai trò quản trị lúc khởi tạo tổ chức. Phải cấp thủ công theo đúng các bước ở mục Chỉnh sửa quyền của vai trò bên dưới. Nó không thay cho entity.read / entity.list / entity.write / entity.delete: người giữ nó vẫn cần quyền vai trò tương ứng cho từng thao tác, và trên thực thể ở chế độ mọi người nó không bỏ qua gì cả. Mọi thao tác thực hiện dưới quyền này đều ghi một dòng kiểm toán truy cập nâng quyền.
entity.records.restore cũng không gán sẵn cho vai trò nào, vì cùng một lý do đáng nói rõ: có năng lực Xóa nghĩa là bạn được phép bỏ một bản ghi đi, không có nghĩa bạn được phép dựng nó dậy. Khôi phục là một lượt ghi vào miền khóa định danh và đồ thị tham chiếu đã thay đổi kể từ lúc xoá — khóa định danh có thể đã bị một bản ghi mới chiếm mất, và khi đó lượt khôi phục bị từ chối.
Tạo vai trò tùy chỉnh
- Vào Quản trị → Vai trò, nhấn Vai trò mới.
- Nhập tên vai trò (ví dụ:
reviewer) và mô tả tùy chọn. - Đánh dấu các quyền cần cấp.
- Nhấn Tạo vai trò.
Chỉnh sửa quyền của vai trò
- Nhấn vào tên vai trò để mở trang chi tiết.
- Nhấn Sửa bên cạnh mục Quyền.
- Đánh dấu hoặc bỏ đánh dấu các quyền.
- Nhấn Lưu thay đổi.
Mỗi thay đổi thực tế sẽ tạo một dòng kiểm toán — bạn có thể xem lại ai đã thay đổi gì và khi nào trong Quản trị → Nhật ký kiểm toán (yêu cầu quyền audit.view).
Hãy giữ mỗi vai trò gắn với một chức năng công việc cụ thể. Việc gộp quá nhiều quyền vào một vai trò sẽ khó kiểm soát sau này.
Cấp và thu hồi vai trò cho người dùng
Xem trang Người dùng để biết cách gán vai trò từ trang chi tiết người dùng.