Phân Quyền & Bảo Mật Trong Sage 300: Thiết Lập Security Groups Đúng Cách
Ai được nhập liệu, ai được duyệt, ai được post sổ? Phân quyền lỏng lẻo là lỗ hổng kiểm soát nội bộ phổ biến nhất khi dùng ERP. Bài này hướng dẫn thiết lập Security Groups trong Sage 300 theo nguyên tắc phân tách nhiệm vụ (Segregation of Duties).
1. Vì Sao Phân Quyền Đúng Là Vấn Đề Sống Còn?
Trong một hệ thống kế toán doanh nghiệp, rủi ro lớn nhất không phải lỗi kỹ thuật mà là một người có quá nhiều quyền. Khi cùng một nhân viên vừa tạo nhà cung cấp, vừa nhập hóa đơn, vừa duyệt và vừa post thanh toán, khả năng gian lận hoặc sai sót không bị phát hiện tăng vọt.
Phân quyền đúng trong Sage 300 phục vụ ba mục tiêu:
- Kiểm soát nội bộ: thực thi nguyên tắc phân tách nhiệm vụ (SoD) — người nhập ≠ người duyệt ≠ người post.
- Bảo vệ dữ liệu nhạy cảm: hạn chế truy cập lương, giá vốn, công nợ theo đúng vai trò.
- Sẵn sàng cho kiểm toán & thanh tra: chứng minh hệ thống có kiểm soát truy cập rõ ràng.
2. Kiến Trúc Bảo Mật Của Sage 300
| Thành phần | Vai trò |
|---|---|
| User | Tài khoản đăng nhập của từng nhân viên. Quản lý trong Administrative Services → Users. |
| Security Group | Tập hợp quyền (authorizations) cho một ứng dụng — định nghĩa được phép thực hiện các tác vụ nào trong module đó (ví dụ: nhập hóa đơn, post, in báo cáo). |
| User Authorizations | Bảng gán: mỗi user, với mỗi ứng dụng, được gán một Group ID. Đây là nơi kết nối user với Security Group. |
| UI Profiles | Giới hạn/tùy chỉnh trường và màn hình hiển thị cho user. Lưu ý: chỉ tài khoản ADMIN mới có quyền “Assign UI Profiles” — UI Profiles không nằm trong danh sách tác vụ cấp qua Security Groups. |
3. Thiết Lập Phân Quyền — Từng Bước
-
Bật security cho hệ thống
Trong Database Setup, bật tùy chọn yêu cầu bảo mật cho database công ty. Khi đã bật, người dùng phải đăng nhập và quyền được kiểm soát theo Security Group. -
Tạo Security Group cho từng ứng dụng
Mở phần Security Groups trong Administrative Services. Với mỗi ứng dụng (G/L, A/R, A/P, I/C, O/E, P/O…), tạo các Group tương ứng vai trò (ví dụ: AR_ENTRY, AR_APPROVE) và tick các tác vụ được phép. -
Gán user qua User Authorizations
Mở Administrative Services → Users and Security → User Authorizations. Với mỗi ứng dụng user cần truy cập, nhập Group ID tương ứng vào ô Group ID. User chỉ có quyền nằm trong Group được gán. -
Gán UI Profiles nếu cần (chỉ ADMIN)
Nếu muốn ẩn/giới hạn trường trên màn hình theo vai trò, dùng chức năng Assign UI Profiles — chỉ tài khoản ADMIN thực hiện được. -
Kiểm thử bằng tài khoản thật
Đăng nhập bằng một tài khoản nhân viên để xác nhận họ chỉ thấy/làm được đúng phần được phép, không hơn.
4. Nguyên Tắc Phân Tách Nhiệm Vụ (SoD) — Mẫu Áp Dụng
Phân tách nhiệm vụ nghĩa là không một người nào kiểm soát trọn vẹn một giao dịch từ đầu đến cuối. Dưới đây là mẫu phân vai trên quy trình mua hàng – phải trả (A/P):
| Vai trò | Được phép | KHÔNG được phép |
|---|---|---|
| Kế toán công nợ | Nhập hóa đơn A/P | Post batch, tạo nhà cung cấp mới |
| Kế toán trưởng | Duyệt & post batch A/P | Nhập hóa đơn (để tách khâu) |
| Quản lý dữ liệu chủ | Tạo/sửa nhà cung cấp (vendor master) | Nhập & post giao dịch |
| Ban giám đốc / kiểm soát | Chỉ xem báo cáo, không sửa | Mọi thao tác ghi dữ liệu |
5. Bốn Sai Lầm Cần Tránh Khi Phân Quyền
Dùng chung tài khoản ADMIN
Nhiều người đăng nhập cùng tài khoản ADMIN khiến mất dấu vết ai làm gì. Mỗi nhân viên phải có user riêng.
Một Group “full” cho mọi người
Cấp toàn quyền cho nhanh phá vỡ phân tách nhiệm vụ. Tạo Group theo vai trò cụ thể.
Không thu hồi quyền khi đổi vai trò
Nhân viên chuyển bộ phận nhưng vẫn giữ quyền cũ → tích tụ quyền (privilege creep). Rà soát định kỳ.
Bỏ qua kiểm thử
Thiết lập xong nhưng không đăng nhập thử bằng tài khoản nhân viên để xác nhận quyền đúng như thiết kế.
6. Best Practices Phân Quyền Sage 300
| Khía cạnh | Khuyến nghị |
|---|---|
| Nguyên tắc quyền tối thiểu | Chỉ cấp đúng quyền cần cho công việc (least privilege), không cấp dư. |
| Đặt tên Group nhất quán | Theo mẫu MODULE_VAITRO (ví dụ: AP_ENTRY, GL_VIEW) để dễ quản lý khi nhiều Group. |
| Tách khâu nhập – duyệt – post | Luôn tách ít nhất người nhập và người post trên các module tài chính. |
| Rà soát định kỳ | Định kỳ (ví dụ mỗi quý) kiểm tra lại User Authorizations, thu hồi quyền không còn cần. |
| Kiểm soát macro & công cụ tự động | Quyền chạy macro VBA post giao dịch chỉ giao cho vai trò được phép. |
| Tài liệu hóa ma trận quyền | Lập bảng vai trò × quyền (authorization matrix) để minh bạch và phục vụ kiểm toán. |
7. Checklist Thiết Lập Bảo Mật
- Bật security cho database công ty trong Database Setup
- Liệt kê các vai trò nghiệp vụ và quyền tương ứng (lập authorization matrix)
- Tạo Security Group theo từng ứng dụng và từng vai trò (không dùng một Group “full”)
- Tạo user riêng cho từng nhân viên, không dùng chung ADMIN
- Gán user vào Group qua User Authorizations cho từng module
- Tách rõ người nhập – người duyệt – người post trên module tài chính
- Gán UI Profiles (qua tài khoản ADMIN) nếu cần ẩn/giới hạn trường
- Đăng nhập thử bằng tài khoản nhân viên để xác nhận quyền đúng
- Lập lịch rà soát quyền định kỳ và thu hồi quyền khi đổi vai trò
- Lưu tài liệu ma trận quyền phục vụ kiểm toán nội bộ
Cần Thiết Lập Phân Quyền Sage 300 Chuẩn Kiểm Soát Nội Bộ?
ERP Sài Gòn — đối tác Sage ủy quyền — hỗ trợ thiết kế ma trận phân quyền theo nguyên tắc phân tách nhiệm vụ, cấu hình Security Groups và rà soát bảo mật cho doanh nghiệp đang dùng Sage 300.
Câu Hỏi Thường Gặp — Phân Quyền Sage 300
Security Group trong Sage 300 hoạt động như thế nào?
Security Group là tập hợp quyền (authorizations) cho một ứng dụng cụ thể, định nghĩa user được phép thực hiện các tác vụ nào trong module đó. Sau khi tạo Group, bạn gán user vào Group thông qua Administrative Services → Users and Security → User Authorizations, chỉ định Group ID cho từng ứng dụng. (Nguồn: help.sage300.com)
Làm sao để gán quyền cho một user trong Sage 300?
Mở Administrative Services → Users and Security → User Authorizations. Với mỗi ứng dụng mà user cần truy cập, nhập ID của Security Group vào ô Group ID. User sẽ chỉ có những quyền được định nghĩa trong Group đó cho ứng dụng tương ứng.
UI Profiles khác gì với Security Groups?
Security Groups kiểm soát user được làm tác vụ gì trong mỗi module. UI Profiles kiểm soát giao diện — ẩn hoặc giới hạn trường/màn hình hiển thị. Một lưu ý quan trọng: UI Profiles không nằm trong danh sách tác vụ cấp qua Security Groups, và chỉ tài khoản ADMIN mới có quyền Assign UI Profiles.
Phân tách nhiệm vụ (Segregation of Duties) trong Sage 300 là gì?
Là nguyên tắc kiểm soát nội bộ: không để một người kiểm soát trọn vẹn một giao dịch. Trong Sage 300, áp dụng bằng cách tạo các Security Group riêng cho người nhập, người duyệt và người post, đảm bảo các khâu này do người khác nhau thực hiện — giảm rủi ro gian lận và sai sót.
Có nên cấp quyền ADMIN cho kế toán trưởng không?
Không nên. Tài khoản ADMIN có toàn quyền hệ thống, kể cả thay đổi cấu hình bảo mật. Kế toán trưởng nên có user riêng với Security Group phù hợp vai trò (ví dụ duyệt và post), còn ADMIN chỉ dùng cho quản trị hệ thống và nên giới hạn tối đa số người biết.
- Sage 300 Resources — “Administrative Services Security Authorizations” (help.sage300.com)
- Sage 300 Resources — “Assigning Users to Security Groups” / “User Authorizations” (help.sage300.com)
- Sage 300 Resources — “General Ledger / Accounts Receivable / Inventory Control Security Authorizations”
- Sage Community Hub — “User Roles and Security in Sage 300 ERP”