跳至主要內容
hs-sql-agent
2.0.3
文件 2.0.3
文件 管理

成員與角色

管理 hs-sql-agent 的管理端使用者、工作階段、角色指派與角色生命週期。

成員 建立管理端使用者、啟用或停用帳號,並檢視已指派角色與目前有效的工作階段。
角色 把合法的 permission/action 組合整理成可重用的授權角色。
工作階段失效 成員或角色發生安全性變更時,會讓受影響的執行階段授權狀態立即失效。

管理端成員代表控制平面的身分,和用來驗證 /mcp 用戶端的 MCP 金鑰屬於不同安全邊界。

成員生命週期

01 建立成員
02 指派角色
03 操作管理介面
04 調整權限
05 需要時撤銷工作階段

建立成員需要有效的 email 與至少 8 個字元的密碼;Username 可以省略,上限為 100 個字元。建立時可直接指定 Role IDs,也可以要求指派所有角色。

成員清單支援文字搜尋、啟用狀態、角色篩選與分頁。hs-sql-agent 的成員檢視會顯示帳號狀態、建立時間、最後登入時間、有效工作階段數量,以及目前的角色 ID 與名稱。

成員管理動作

動作權限重要保護
建立成員/auth/usercreate會驗證 email 與密碼
列出或搜尋成員/auth/userview支援狀態、角色與文字篩選
取代成員角色/auth/useredit不能修改自己的角色
啟用 / 停用帳號/auth/useredit不能停用自己
撤銷指定成員的全部工作階段/auth/useredit讓該成員目前的工作階段失效
要求下次登入修改密碼/auth/useredit設定會在下一次登入時生效
刪除成員/auth/userdelete不能刪除自己

角色

角色具有唯一名稱、選填說明,以及一組 permission/action 選擇。角色與成員是多對多關係:一位成員可以擁有多個角色,同一角色也能指派給多位成員。

內建的 SuperUser 角色受到保護,不能修改或刪除,也不能建立或重新命名其他角色為這個受保護名稱。

修改角色會更新目前的授權狀態

角色的權限集合改變時,hs-sql-agent 會找出所有使用該角色的成員、遞增其 security version,並透過 auth runtime-state cache barrier 完成變更,避免已登入的工作階段長時間繼續使用舊授權結果。

刪除已指派的角色也遵循相同原則。

刪除角色前先檢查相依關係

角色相依關係端點會回報:

  • 該角色擁有的 permission/action 項目;
  • 目前被指派此角色的成員。

如果角色仍指派給任何成員,預設刪除操作會被拒絕。雖然系統提供明確的 force=true 路徑,但管理者應先檢查相依關係,因為受影響成員會失去這個角色,且其安全狀態也會更新。

密碼與工作階段處理

成員管理功能可以要求帳號在下次登入時修改密碼,也可以撤銷指定成員的全部工作階段。使用者自己則可透過 Auth API 管理自己的工作階段。

若要了解角色背後的授權模型,請繼續閱讀 權限