員工 RBAC
Optserv 四種員工角色(Admin、HR、Manager、Employee)在各模組的完整權限矩陣。
本頁整理 Optserv 員工(staff)的完整 RBAC(Role-Based Access Control)模型。關於工作區啟用條件(帳號共享、學校),請見 工作區啟用(Gating)。
角色定義
Admin — 公司擁有者等級的權限。可設定公司、管理帳務、邀請人員並存取所有工作區。
HR — 管理全公司的人事營運。可檢視與處理所有員工資料、出勤、請假、加班。不可存取帳務。
Manager — 以部門為範圍的權限。只能檢視並核准自己部門的人員申請。無法看到其他部門。
Employee — 以自助服務為主。只能檢視與管理自己的資料、送出申請,並查看自己在各模組的狀態。
HR 工作區
| 行為 | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| 檢視全體員工 | ✅ | ✅ | 只看部門 | 只看自己 |
| 邀請/移除員工 | ✅ | ✅ | ❌ | ❌ |
| 指派角色 | ✅ | ✅ | ❌ | ❌ |
| 管理部門 | ✅ | ✅ | ❌ | ❌ |
| 檢視全體出勤 | ✅ | ✅ | 只看部門 | 只看自己 |
| 核准出勤修正 | ✅ | ✅ | 只限部門 | ❌ |
| 檢視所有請假申請 | ✅ | ✅ | 只看部門 | 只看自己 |
| 核准請假 | ✅ | ✅ | 只限部門 | ❌ |
| 檢視所有加班 | ✅ | ✅ | 只看部門 | 只看自己 |
| 核准加班 | ✅ | ✅ | 只限部門 | ❌ |
| 建立職缺 | ✅ | ✅ | ❌ | ❌ |
| 檢視所有應徵 | ✅ | ✅ | ❌ | ❌ |
帳號共享(Account Sharing)工作區
帳號共享的存取是「以項目為單位」(每個共享憑證都有自己的存取清單),並且疊加在員工角色之上。
| 行為 | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| 建立共享項目 | ✅ | ✅ | ✅ | ✅ |
| 檢視分享給自己的項目 | ✅ | ✅ | ✅ | ✅ |
| 管理項目存取清單 | 擁有者或 Admin | 擁有者或 Admin | 擁有者 | 擁有者 |
| 檢視公司所有項目 | ✅ | ✅ | ❌ | ❌ |
| 離職時撤銷存取 | ✅ | ✅ | ❌ | ❌ |
註:Manager 或 Employee 也可以成為某個共享憑證的「擁有者」,並且只對該項目的存取清單進行授權/撤銷。
學校(OptClass)工作區
學校工作區屬於「員工可存取」。只要工作區有被啟用,四種員工角色都能使用。學生以獨立模型存取,且 不是 員工。
| 行為 | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| 管理學生 | ✅ | ✅ | ✅ | ✅ |
| 管理老師 | ✅ | ✅ | ✅ | ✅ |
| 建立/編輯課表 | ✅ | ✅ | ✅ | ✅ |
| 記錄出勤 | ✅ | ✅ | ✅ | ✅ |
| 檢視堂數餘額 | ✅ | ✅ | ✅ | ✅ |
公司設定
| 行為 | Admin | HR | Manager | Employee |
|---|---|---|---|---|
| 編輯公司檔案 | ✅ | ❌ | ❌ | ❌ |
| 管理帳務 | ✅ | ❌ | ❌ | ❌ |
| 啟用/停用工作區 | ✅ | ❌ | ❌ | ❌ |
| 檢視稽核紀錄 | ✅ | ✅ | ❌ | ❌ |
安全性說明
權限控管不只存在於 UI。每一次資料查詢都會被資料庫層的 RLS 策略限制,且每一次寫入都會經過具角色檢查的 Edge Functions。即使 Manager 在 UI 把自己從部門移除,也不會因此突然能查到全公司資料。
技術細節請見 租戶隔離與 RLS。