1. Đặt vấn đề
Phân quyền là điều kiện bắt buộc khi triển khai AI local trong bệnh viện. Một chatbot hoặc API AI nếu không phân quyền sẽ dễ trở thành kênh truy cập dữ liệu vượt thẩm quyền. Người dùng có thể hỏi những tài liệu, báo cáo, phản ánh, sự cố, dữ liệu khoa phòng hoặc dữ liệu bệnh án mà họ không được phép xem. Nếu hệ thống RAG đưa tài liệu vượt quyền vào prompt, model có thể vô tình tiết lộ thông tin.
Vì vậy, phân quyền phải được thiết kế từ đầu, không phải bổ sung sau khi hệ thống đã vận hành.
2. Phân quyền theo vai trò là gì?
Phân quyền theo vai trò nghĩa là quyền sử dụng AI được xác định theo nhóm người dùng và nhiệm vụ công việc. Ví dụ:
- Nhân viên chung.
- Bác sĩ.
- Điều dưỡng.
- Kỹ thuật viên.
- Nhân viên CSKH.
- Phòng KHTH.
- Phòng QLCL.
- Phòng CNTT.
- Lãnh đạo khoa.
- Lãnh đạo bệnh viện.
- Quản trị hệ thống.
- Quản trị nội dung AI.
Mỗi vai trò có quyền khác nhau với model, dữ liệu, chức năng và lịch sử.
3. Các lớp phân quyền cần có
3.1. Quyền truy cập chatbot
Ai được dùng chatbot nào?
3.2. Quyền gọi chức năng
Ai được tóm tắt tài liệu, upload file, tạo bảng kiểm, phân tích dữ liệu?
3.3. Quyền truy xuất tài liệu
Ai được truy xuất kho tài liệu nào?
3.4. Quyền xem nguồn
Ai được mở file nguồn sau khi AI trích dẫn?
3.5. Quyền xem lịch sử
Ai được xem lịch sử hội thoại?
3.6. Quyền quản trị
Ai được cấu hình model, prompt, RAG, log, index?
4. Phân quyền trong RAG
RAG là nơi phân quyền đặc biệt quan trọng. Khi người dùng hỏi, hệ thống phải:
- Xác định người dùng.
- Xác định vai trò.
- Xác định nhóm tài liệu người dùng được xem.
- Truy xuất FAISS.
- Lọc kết quả theo quyền.
- Chỉ đưa chunk hợp lệ vào prompt.
Không được đưa tài liệu vượt quyền vào prompt rồi yêu cầu model “không nói ra”.
5. Phân quyền theo tài liệu
Mỗi tài liệu nên có metadata quyền truy cập:
- Công khai toàn viện.
- Nội bộ phòng/khoa.
- Chỉ phòng chức năng.
- Chỉ lãnh đạo.
- Nhạy cảm.
- Không đưa vào AI.
- Chỉ dùng sau ẩn danh.
Metadata này phải được dùng trong quá trình truy xuất.
6. Phân quyền theo dữ liệu động
Không chỉ tài liệu tĩnh, dữ liệu động cũng cần phân quyền:
- Khảo sát hài lòng.
- Phản ánh người bệnh.
- Sự cố y khoa.
- Chỉ số chất lượng.
- Báo cáo khoa phòng.
- Dữ liệu HIS/EMR/LIS/PACS.
Ví dụ, lãnh đạo bệnh viện có thể xem báo cáo tổng hợp toàn viện, nhưng nhân viên một khoa chỉ xem dữ liệu khoa mình hoặc dữ liệu đã được phép.
7. Phân quyền theo hành động
Một số hành động có rủi ro cao:
- Upload file nhạy cảm.
- Phân tích sự cố.
- Phân tích bệnh án.
- Gọi model lớn.
- Xuất báo cáo.
- Xóa lịch sử.
- Xem log.
- Cập nhật chỉ mục RAG.
- Cấu hình system prompt.
Các hành động này cần quyền riêng.
8. Tích hợp với hệ thống tài khoản hiện có
Nên tích hợp với:
- Tài khoản Drupal.
- Tài khoản QMS.
- LDAP/AD nếu có.
- SSO nội bộ.
- Nhóm khoa/phòng.
- Vai trò trong phần mềm bệnh viện.
Không nên tạo hệ thống tài khoản AI tách rời nếu bệnh viện đã có cơ chế người dùng ổn định.
9. Kiểm thử phân quyền
Cần test:
- User thường có xem được tài liệu lãnh đạo không?
- Khoa A có xem được báo cáo khoa B không?
- Người không có quyền có gọi được API không?
- Người dùng có sửa được model không?
- AI có trích dẫn nguồn vượt quyền không?
- Log có lộ dữ liệu cho admin không phù hợp không?
Phân quyền phải được kiểm thử như một yêu cầu bảo mật.
10. Kết luận
Phân quyền người dùng theo vai trò là nền tảng của AI local an toàn trong bệnh viện. Phân quyền phải áp dụng cho chatbot, chức năng, tài liệu, dữ liệu động, lịch sử, log và hành động quản trị. Đặc biệt với RAG, tài liệu vượt quyền không bao giờ được đưa vào prompt. AI chỉ an toàn khi hệ thống biết rõ ai đang hỏi và họ được phép biết điều gì.
- Đăng nhập để gửi ý kiến