Phân quyền & Kiểm soát truy cập (Authorization)
Trạng thái
Owner: Tech lead · Trạng thái: draft · Nguồn chuẩn: flezi.app.api.backend/app/authz/matrix.py, app/authz/scopes.py
Flezi Galaxy áp dụng mô hình phân quyền dựa trên vai trò kết hợp phạm vi (Role-Based Access Control with Scoping - Scoped RBAC) theo chuẩn đặc tả SRS v1.1 §2.3.
5 vai trò người dùng (User Roles)
| Vai trò | Phạm vi quyền hạn |
|---|---|
SYSTEM_ADMIN | Toàn quyền cấu hình hệ thống, tạo tổ chức, quản lý hạ tầng chung. |
ORG_ADMIN | Quản trị viên của một Tổ chức (Organization): quản lý các Workspace, thành viên, thanh toán và chính sách chung. |
WORKSPACE_ADMIN | Quản trị viên của một Không gian làm việc: quản lý thành viên, chia sẻ tài nguyên trong Workspace. |
WORKSPACE_MEMBER | Thành viên thông thường: sử dụng Chat, tạo Agent cá nhân, truy cập tài nguyên được chia sẻ. |
AI_BUILDER | Thành viên nâng cao: có toàn bộ quyền của Member cộng thêm quyền soạn thảo và publish AGT Policy YAML. |
Ranh giới phạm vi (Scope Context)
Mọi thao tác truy vấn dữ liệu đều được kiểm tra chặt chẽ bởi dependency require_permission(uc_id) và class ScopeContext:
- Người dùng chỉ được xem/sửa dữ liệu thuộc Workspace mà mình là thành viên.
- Không cho phép người dùng của Tổ chức A truy cập hay nhìn thấy bất kỳ tài nguyên nào của Tổ chức B (Multi-tenant Isolation).
Kiểm soát hiện có
- Ma trận phân quyền 59 Use Cases được kiểm thử tự động 100% trong bộ test suite
tests/authz/test_matrix.py. - Mọi endpoint nhạy cảm đều được bọc bởi dependency kiểm tra quyền trước khi vào hàm xử lý nghiệp vụ.
Bằng chứng (file / config)
flezi.app.api.backend/app/authz/matrix.pyflezi.app.api.backend/app/authz/dependencies.pyflezi.app.api.backend/tests/authz/test_matrix.py
Hạn chế & roadmap
- Hỗ trợ thêm tính năng tạo Custom Roles tùy biến quyền theo nhu cầu riêng của từng khách hàng doanh nghiệp.