分權(quán)分域有啥內(nèi)容?

[圖片上傳失敗...(image-55af89-1697206121891)]

目前的系統(tǒng)有什么問題?

現(xiàn)在我們的系統(tǒng)越來越龐大,可是每一個人進(jìn)來的查看到的內(nèi)容完全一樣,沒有辦法靈活的根據(jù)不同用戶展示不同的數(shù)據(jù)

例如我們有一個系統(tǒng),期望不同權(quán)限的用戶可以看到不同類型的頁面,同一個頁面不同權(quán)限的用戶看到的數(shù)據(jù)也是不一致的,且 管理員 分為不同等級,不同等級對比自己低等級的管理員仍然具有分配權(quán)限的權(quán)利

正如這樣的需求,不支持分權(quán)分域的傳統(tǒng)系統(tǒng)就沒有辦法很好的處理。

用的分權(quán)分域可以帶來什么?

  1. 系統(tǒng)逐漸龐大和復(fù)雜,需要有權(quán)限管理的能力,分權(quán)分域可以很好的處理
  2. 可以提高系統(tǒng)的靈活性和可擴(kuò)展性
  3. 可以提高系統(tǒng)的安全性,穩(wěn)定性,可靠性

分權(quán)分域如何理解?

工作中很多時候突然問你分權(quán)分域如何理解,分權(quán)和分域有什么區(qū)別,他們是否是一樣的東西呢?或許沒有確定的答案,可實際上稍微思考一下就可以知道

  • 分權(quán):設(shè)計和定義權(quán)限
  • 分域:控制用戶權(quán)限

可以理解分權(quán),是我們給系統(tǒng)設(shè)計和定義有哪些權(quán)限,哪些權(quán)限可以訪問哪些資源

分域可以理解為,有相同權(quán)限的用戶,但是他們的域權(quán)限不一樣的,那么他們看到的內(nèi)容也是不一樣的,例如,A 部門的 主管只能看到 A 部門的員工的薪資,A 部門的主管就沒有辦法看到 B 部門的薪資

同理,B 部門的主管也是如此

分權(quán)分域包含哪些內(nèi)容

隨著時間的推移,社會上需求的不斷變化,以及大佬們不斷的優(yōu)化,慢慢的依次出現(xiàn)了不同分權(quán)分域模型,如:

[圖片上傳失敗...(image-669c0a-1697206121891)]

  1. UGO - linux 對文件對象的訪問控制模型

包含,用戶,用戶組,其他 三類,這樣對于系統(tǒng)進(jìn)行權(quán)限訪問分類就很不靈活,這個弊端非常明顯,稍微需要做一些特殊的權(quán)限就沒法弄

  1. ACL 訪問控制列表

這個方式也是使用的比較廣泛的,將資源全部賦予對應(yīng)的資源 id,給用戶分配權(quán)限的時候,則給他加上對應(yīng)的資源 id 即可,這樣擁有某個 資源 id 的用戶就可以看到具體的資源信息

這種方式也是會存在重復(fù)勞動,則 小 A 和 小 B 能看到的資源內(nèi)容是一樣的,那么 超級管理員 就需要給 小 A 和 小 B 分別加上對應(yīng)的相同的資源 id

  • 此處說的資源可以理解為,
    1. 前端頁面,
    2. 后臺 API
    3. 也可以是具體的數(shù)據(jù)域
  1. DAC 自主訪問控制
  2. MAC 強制訪問控制
  3. RBAC - 基于用戶角色的權(quán)限訪問控制

RBAC - 基于用戶角色的權(quán)限訪問控制

對于 RBAC

Role Based Access Control / Role-Based Access Control / 基于角色的訪問控制

相信學(xué)過 K8S 的都不會陌生,K8S 就是使用 RBAC 來進(jìn)行權(quán)限訪問的控制的,那么對于這種模式,我們可以看到多了一個關(guān)鍵的對象 角色

之前是

用戶 - 權(quán)限 - 資源

[圖片上傳失敗...(image-ff41ed-1697206121891)]

現(xiàn)在是

用戶 -- 角色 -- 權(quán)限 -- 資源

[圖片上傳失敗...(image-ee6eac-1697206121891)]

上述的模式都是給用戶賦予某種權(quán)限, RBAC 是把權(quán)限綁定到角色上,再將用戶賦予不同的角色

[圖片上傳失敗...(image-320b5a-1697206121891)]

RBAC 也有自己的子模型,最基本的模型 RBAC 0 默認(rèn)包含 用戶,角色,權(quán)限 三個重要的部分

就如同上述例子例子一樣 小 A 和小 B 擁有相同的權(quán)限,使用 RBAC 模型,那么 他們都是可以是 員工 角色,那么只需要將他們和 員工角色 建立關(guān)系即可,那么他們就可以很輕松的能夠訪問到 員工 角色能夠訪問到的資源

對于 RBAC 其他的模型,都是基于 RBAC 0 上面進(jìn)行的衍生和變化,增加了一些繼承和約束,但是原理還是一樣的

基本知道分權(quán)分域是個啥了,那么去給系統(tǒng)設(shè)計權(quán)限的時候,就能夠有的放矢

歡迎點贊,關(guān)注,收藏

朋友們,你的支持和鼓勵,是我堅持分享,提高質(zhì)量的動力

[圖片上傳失敗...(image-ba1302-1697206121891)]

好了,本次就到這里

技術(shù)是開放的,我們的心態(tài),更應(yīng)是開放的。擁抱變化,向陽而生,努力向前行。

我是阿兵云原生,歡迎點贊關(guān)注收藏,下次見~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容