常见的权限访问控制模型
權限訪問控制即控制用戶對資源或者服務的訪問權限,目前流行的權限訪問控制模型有以下幾種。
MAC(Mandatory Access Control)
起初由政府和軍方設計并使用, 它有非常嚴格的訪問控制模型。
在MAC中, 所有的權限由管理員預定義, 并且由操作系統控制。
MAC實現了數據的權限分類(如重要的等級或安全的等級)和用戶的權限分類(部門, 項目等), 這樣在驗證的時候就可以對比用戶和數據的權限等級對應關系, 從而知道是否有訪問權限。
很少會有只使用MAC的, 一般情況下會和其他的方法混合使用, 比如UNIX的文件系統使用了DAC, 但是root賬號可以繞過這個訪問控制模型不受限制。
DAC(Discretionary Access Control)
和所有數據和權限被操作系統控制不一樣,這個允許用戶控制自己的數據的訪問權限。
根據用戶的身份以及它們所屬的分組來限制對對象的訪問權限。
用戶可以通過ACL定義什么人或什么等級的人可以訪問什么資源, 每一個ACL都包含一個用戶和組的列表, 以及它們的訪問權限。
通常情況下, 系統管理員設置一系列常用的訪問控制權限。
這里關鍵的是用戶只能定義它們自己擁有的資源的訪問權限。
RBAC(Role-Based Access Control)
RBAC通常被公司使用, 基于用戶的職位給予訪問權限。 這里權限被分配到公司里定義的角色上面。
RBAC中用戶被分配一個角色, 而它只能擁有角色里包含的權限, 沒有可以繞過的方法。
RBAC通過role分離了工作職責。
RBAC(Rule-Based Access Control)
權限的分配依據管理員預定義的規則。 每一個對象都有它自己的ACL(access control list), 操作系統檢查用戶是否擁有這個權限。
ABAC(Attribute-Based Access Control)
這個模型根據特殊的規則來分配權限, 這些規則組合了用戶(users), 資源(resource)和對象(objects)的屬性。
處理的邏輯是根據這個role和action的屬性來判斷, 不同的屬性應該滿足不同的要求。
Refer:
https://www.utilizewindows.com/overview-of-four-main-access-control-models/
https://resources.infosecinstitute.com/access-control-models-and-methods/#gref
https://medium.com/yellow-universe/access-control-models-review-of-types-and-use-cases-1f4c427b0cc2
轉載于:https://www.cnblogs.com/helloz/p/11234101.html
總結
以上是生活随笔為你收集整理的常见的权限访问控制模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暑假集训计划
- 下一篇: go语言中go+select的理解