權限管理是一個系統最基本也是最重要的功能。好的權限管理可以使系統更加的靈活,更好的擴展。權限管控可以通俗的理解為權力限制,即不同的人由于擁有不同權力。對應到一個應用系統,就是一個用戶可能擁有不同的數據權限(看到的)和操作權限(使用的)。 系統ꦜ有多種權限模型,主流的權限模型主要分為以下五種:包括ACL 模型:訪問控制列表,DAC 模型♍:自主訪問控制,MAC 模型:強制訪問控制,ABAC 模型:基于屬性的訪問控制,RBAC 模型:基于角色的權限訪問控制,云帆文檔使用的就是RBAC模型(基于角色的權限訪問控制)
RBAC是Role-Based Access Control的簡稱,核心在于用戶只🐭和角色關聯,而角色代表對了權限,是一系列權限的集合。♉RBAC 的三要素為:
1)用戶:系統中所有的賬戶
2)角色:一系列權限的集合(如:管理員,開發者,審計管理員等)
3)權限:菜單,按鈕,數據的增刪改查等詳細權限。
在&nbs🔥p;RBAC 中,權限與角色相關聯,用戶通過成為適當角色的成員而得到這些角色的權限。
角色是為了完成各種工作而創造,用戶則依據它的責任和資格來被指派相應的角色,用戶可꧅以很容易地從一個角色被指派到另一個角色。色可依新的需求和系統的合并而賦予新的權限,而權限也可根據需要而從某角色中回收。角色與角色的關系同樣也存在繼承關系防止越權。優點:便于角色劃分,更靈活的授權管理;最小顆粒度授權;
RBAC 權限管理的在實際系統中的應用
RBAC 權限模型由三大部分構成,即用戶管理、角色管理、權限管理。
用戶管理按照企業架構或業務線架構來劃分,這些結構本身比較清晰,擴展性和可讀性都非常好。
角色管理一♕定要在深入理解業務邏輯后再來設計,一般使用各部門真實的角𒁏色作為基礎,再根據業務邏輯進行擴展。
權限管ꦓ理是前兩種管理的再加固,做太細容易太碎片,做太粗又不夠安全,這里我們需要根據經驗和實際情況來設計。
a.用戶管理
用戶管理中的用戶,是企業里每一位員工,他們本身就有自己的組織架構,我們可以直接使用企業部門架構或者業務線架構來作為線索,🌞構建用戶管理系統。
需要特殊注意💦:實際業務中的組織架構可能與企業部門架構、業務線架構不同,需要考慮數據共享機制,一般的做法為授權某個人、某個角色組共享某個組織層級的某個對象組數據꧟。
B.角色管理
角色相對于用戶來說是一般固定不變的,每個角色都有自己明確的權限和限制,這些權限在系統設計之ඣ處就確定了,之后也輕易不會再變動。
(1)自動獲得基礎角色
♑ 當員工入職到某部門時,該名員工的賬號應該自動被加入該部門對應的基礎角色中,并擁有對應的基🅘礎權限。這種操作是為了保證系統安全的前提下,減少了管理員大量手動操作。使新入職員工能快速使用系統,提高工作效率。
(2)臨時角色與失效時間
公司業務有時需要外援來支持,他們并不𒁃屬于公司員工,也只是在某個時段在公司做支持。此時我們需要設置臨時角色,來應對這種可能跨多部門協作的臨時員工。
C.權限管理
權限管理一般從三個方面來做限制。頁面/菜單權限,操作權限,數據權限。
(1)頁面/菜單權限
對于沒有權限操作的用戶,直接隱藏對應的頁面入ဣ口或菜單選項。這種方法簡單快捷直接,對于一些安全不太敏感𒁏的權限,使用這種方式非常高效。
(2)操作權限
ღ 操作權限通常是指對同一組數據,不同的用戶是否可以增刪改查。對某些用戶來說是只讀瀏覽數據,對某些用戶來說是可編輯的數據。
(3)數據權限
對于安全需求高的權限管理,僅從前端限制隱藏菜單,隱藏編輯按鈕是不夠的,還需要在數接口上做限制。如果用戶試圖通過非法𝔍手段編輯不屬于自己權限下的數據,服務器端會識別、記錄并限制訪問。
(4) 數據權限如何管控
🌱 數據權限可以分為🦄行權限和列權限。行權限控制:看多少條數據。列權限控制:看一條數據的多少個字段
簡單系統中可以通過組織架構來管控行權限,按照角色來配置列權限,但是遇到復雜情況,組織架構是承載不了復雜行權限管控,角色也更不能承載列的特殊化展示。 目前行業的做法是提供行列級數據權規則配置,把規則當成類似權限點配置賦予某個角ౠ色或者某個用戶。
云帆文檔的權限管理功能截圖
角色管理
數據權限設置
菜單權限設置
云帆文檔管理系統致力于為企業提供🍒安全穩定的文檔系統解決方案。我們一直在努力提升文檔的安全𝐆性,穩定性,可操作性,功能細節的完善性。我們致力于成為最好文檔系統解決方案提供商,為企業的文檔管理保駕護航。
部分內容來源
商業版地址://rfremote.cn/?plan=qxgl
微信號:18710213152
微信二維碼: