云帆文檔的權限模型剖析

作者:云帆互聯
時間:2022-12-15 11:09

權限管理是一個系統最基本也是最重要的功能。好的權限管理可以使系統更加的靈活,更好的擴展。權限管控可以通俗的理解為權力限制,即不同的人由于擁有不同權力。對應到一個應用系統,就是一個用戶可能擁有不同的數據權限(看到的)和操作權限(使用的)。  系統有多種權限模型,主流的權限模型主要分為以下五種:包括ACL 模型:訪問控制列表,DAC 模型:自主訪問控制,MAC 模型:強制訪問控制,ABAC 模型:基于屬性的訪問控制,RBAC 模型:基于角色的權限訪問控制,云帆文檔使用的就是RBAC模型(基于角色的權限訪問控制)

  RBAC是Role-Based Access Control的簡稱,核心在于用戶只和角色關聯,而角色代表對了權限,是一系列權限的集合。RBAC 的三要素為:

1)用戶:系統中所有的賬戶

2)角色:一系列權限的集合(如:管理員,開發者,審計管理員等)

3)權限:菜單,按鈕,數據的增刪改查等詳細權限。

在 RBAC 中,權限與角色相關聯,用戶通過成為適當角色的成員而得到這些角色的權限。

 角色是為了完成各種工作而創造,用戶則依據它的責任和資格來被指派相應的角色,用戶可以很容易地從一個角色被指派到另一個角色。色可依新的需求和系統的合并而賦予新的權限,而權限也可根據需要而從某角色中回收。角色與角色的關系同樣也存在繼承關系防止越權。優點:便于角色劃分,更靈活的授權管理;最小顆粒度授權;

 RBAC 權限管理的在實際系統中的應用

  RBAC 權限模型由三大部分構成,即用戶管理、角色管理、權限管理。

  用戶管理按照企業架構或業務線架構來劃分,這些結構本身比較清晰,擴展性和可讀性都非常好。

  角色管理一定要在深入理解業務邏輯后再來設計,一般使用各部門真實的角色作為基礎,再根據業務邏輯進行擴展。

  權限管理是前兩種管理的再加固,做太細容易太碎片,做太粗又不夠安全,這里我們需要根據經驗和實際情況來設計。

 a.用戶管理

    用戶管理中的用戶,是企業里每一位員工,他們本身就有自己的組織架構,我們可以直接使用企業部門架構或者業務線架構來作為線索,構建用戶管理系統。

    

    需要特殊注意:實際業務中的組織架構可能與企業部門架構、業務線架構不同,需要考慮數據共享機制,一般的做法為授權某個人、某個角色組共享某個組織層級的某個對象組數據。

   B.角色管理

  角色相對于用戶來說是一般固定不變的,每個角色都有自己明確的權限和限制,這些權限在系統設計之處就確定了,之后也輕易不會再變動。

    (1)自動獲得基礎角色 

      當員工入職到某部門時,該名員工的賬號應該自動被加入該部門對應的基礎角色中,并擁有對應的基礎權限。這種操作是為了保證系統安全的前提下,減少了管理員大量手動操作。使新入職員工能快速使用系統,提高工作效率。

    (2)臨時角色與失效時間 

      公司業務有時需要外援來支持,他們并不屬于公司員工,也只是在某個時段在公司做支持。此時我們需要設置臨時角色,來應對這種可能跨多部門協作的臨時員工。

  C.權限管理

    權限管理一般從三個方面來做限制。頁面/菜單權限,操作權限,數據權限。

    (1)頁面/菜單權限

      對于沒有權限操作的用戶,直接隱藏對應的頁面入口或菜單選項。這種方法簡單快捷直接,對于一些安全不太敏感的權限,使用這種方式非常高效。

    (2)操作權限

       操作權限通常是指對同一組數據,不同的用戶是否可以增刪改查。對某些用戶來說是只讀瀏覽數據,對某些用戶來說是可編輯的數據。

    (3)數據權限

      對于安全需求高的權限管理,僅從前端限制隱藏菜單,隱藏編輯按鈕是不夠的,還需要在數接口上做限制。如果用戶試圖通過非法手段編輯不屬于自己權限下的數據,服務器端會識別、記錄并限制訪問。

    (4) 數據權限如何管控

      數據權限可以分為行權限和列權限。行權限控制:看多少條數據。列權限控制:看一條數據的多少個字段

      簡單系統中可以通過組織架構來管控行權限,按照角色來配置列權限,但是遇到復雜情況,組織架構是承載不了復雜行權限管控,角色也更不能承載列的特殊化展示。 目前行業的做法是提供行列級數據權規則配置,把規則當成類似權限點配置賦予某個角色或者某個用戶。

云帆文檔的權限管理功能截圖

角色管理

數據權限設置

菜單權限設置

云帆文檔管理系統致力于為企業提供安全穩定的文檔系統解決方案。我們一直在努力提升文檔的安全性,穩定性,可操作性,功能細節的完善性。我們致力于成為最好文檔系統解決方案提供商,為企業的文檔管理保駕護航。

部分內容來源

http://www.flydean.com/authorization-service/

商業版地址:http://www.textalkprint.com/?plan=qxgl

微信號:18710213152

微信二維碼:

 

上一篇:文件管理系統的主要作用是什么?     下一篇:文件管理系統應具備的功能都有哪些?