SRBAC基于服務(wù)和角色的訪問(wèn)控制
SRBAC 是一個(gè)基于服務(wù)和角色的訪問(wèn)控制,核心:網(wǎng)關(guān)、服務(wù)、用戶、角色、權(quán)限、訪問(wèn)控制。
要解決什么問(wèn)題?
- 我們公司有多套系統(tǒng),例如 OA 系統(tǒng)、商品管理、訂單管理、財(cái)務(wù)系統(tǒng)、倉(cāng)庫(kù)物流系統(tǒng)等等,如何實(shí)現(xiàn)跨系統(tǒng)的角色權(quán)限分配呢?是否會(huì)導(dǎo)致角色權(quán)限管理混亂?權(quán)限規(guī)則設(shè)計(jì)不統(tǒng)一?
- 多套系統(tǒng)需要各自實(shí)現(xiàn)角色權(quán)限的驗(yàn)證?同樣的邏輯重復(fù)造輪子?多套系統(tǒng)如何共同維護(hù)用戶登錄狀態(tài)?
對(duì)于這些問(wèn)題,或與各個(gè)公司都有一套自己的解決方案,但是,你應(yīng)該試試把這些問(wèn)題都交給 SRBAC 和 APISIX(網(wǎng)關(guān)),SRBAC 實(shí)現(xiàn)集中的、跨系統(tǒng)的角色權(quán)限管理和分配,SRBAC 提供的 APISIX 插件實(shí)現(xiàn)高性能的網(wǎng)關(guān)鑒權(quán)。
SRBAC 可以讓你從多個(gè)系統(tǒng)的角色權(quán)限管理和鑒權(quán)中解脫出來(lái),完全解耦鑒權(quán)和業(yè)務(wù)邏輯,讓開(kāi)發(fā)者專注實(shí)現(xiàn)業(yè)務(wù)邏輯,而無(wú)需為權(quán)限問(wèn)題分心,提高開(kāi)發(fā)效率,并且給權(quán)限管理者提供集中的角色權(quán)限管理和分配功能。
SRBAC 亮點(diǎn)
- 適用于多服務(wù)集群
- 適用于微服務(wù)網(wǎng)關(guān)
- 實(shí)現(xiàn)對(duì)于服務(wù)和接口的訪問(wèn)控制
- 實(shí)現(xiàn)跨服務(wù)的角色權(quán)限控制
- 實(shí)現(xiàn)訪問(wèn)控制和業(yè)務(wù)代碼完全解耦,業(yè)務(wù)代碼只需關(guān)注業(yè)務(wù),無(wú)需為權(quán)限控制重復(fù)造輪子
SRBAC 權(quán)限節(jié)點(diǎn)類型
- 接口權(quán)限節(jié)點(diǎn):是否有權(quán)限請(qǐng)求某些接口
- 數(shù)據(jù)權(quán)限節(jié)點(diǎn):是否同一個(gè)接口不同角色權(quán)限的用戶請(qǐng)求獲取到不同的數(shù)據(jù),或執(zhí)行不同的邏輯
- 菜單權(quán)限節(jié)點(diǎn):是否有權(quán)限顯示某些菜單或按鈕
網(wǎng)關(guān)鑒權(quán)
- 當(dāng)網(wǎng)關(guān)判斷到接口允許匿名訪問(wèn)時(shí),直接將請(qǐng)求代理到該服務(wù)
- 當(dāng)網(wǎng)關(guān)判斷到用戶沒(méi)有登錄時(shí),直接響應(yīng):401 未登錄
- 當(dāng)網(wǎng)關(guān)判斷到用戶沒(méi)有接口權(quán)限時(shí),直接響應(yīng):403 沒(méi)有權(quán)限
- 當(dāng)網(wǎng)關(guān)判斷到用戶有接口權(quán)限時(shí),在請(qǐng)求頭中攜帶該用戶擁有的該服務(wù)的數(shù)據(jù)權(quán)限,再將請(qǐng)求代理到該服務(wù)
內(nèi)容管理
- 服務(wù)管理
- 每個(gè)服務(wù)必須有一個(gè)唯一標(biāo)識(shí)
- 服務(wù)的增刪改查
- 用戶管理
- 每個(gè)用戶必須有一個(gè)唯一 id
- 用戶的增刪改查
- 角色管理
- 角色的增刪改查
- 配置一個(gè)角色擁有哪些服務(wù)的權(quán)限
- 權(quán)限節(jié)點(diǎn)管理
- 基于服務(wù)管理權(quán)限節(jié)點(diǎn),即所有權(quán)限節(jié)點(diǎn)是掛在具體的服務(wù)下面的
- 菜單權(quán)限節(jié)點(diǎn)的增刪改查
- 接口權(quán)限節(jié)點(diǎn)的增刪改查
- 數(shù)據(jù)權(quán)限節(jié)點(diǎn)的增刪改查
- 角色權(quán)限分配
- 給角色分配具體服務(wù)下面的菜單權(quán)限節(jié)點(diǎn)
- 給角色分配具體服務(wù)下面的接口權(quán)限節(jié)點(diǎn)
- 給角色分配具體服務(wù)下面的數(shù)據(jù)權(quán)限節(jié)點(diǎn)
- 用戶角色權(quán)限分配
- 給用戶分配角色
- 給用戶分配菜單權(quán)限節(jié)點(diǎn)
- 給用戶分配接口權(quán)限節(jié)點(diǎn)
- 給用戶分配數(shù)據(jù)權(quán)限節(jié)點(diǎn)
- 用戶的最終權(quán)限是所分配的角色和直接分配的權(quán)限節(jié)點(diǎn)的并集
APISIX 插件
- rbac-access
- 動(dòng)態(tài)鑒權(quán)的核心插件,實(shí)現(xiàn)基于 SRBAC 模型的動(dòng)態(tài)鑒權(quán)
- static-jwt-auth
- 相對(duì)于 APISIX 官方插件 jwt-auth 而言更輕量級(jí)的插件,它無(wú)需添加 consumer 既可以實(shí)現(xiàn) auth 相關(guān)功能
- token-auth
- 相對(duì)于 APISIX 官方插件 key-auth 而言更輕量級(jí)、擴(kuò)展性更強(qiáng)的插件,依托 Redis 可以完成用戶相關(guān)的更多的操作:可以動(dòng)態(tài)維護(hù)用戶狀態(tài)、用戶狀態(tài)自動(dòng)過(guò)期、APISIX 多節(jié)點(diǎn)集群數(shù)據(jù)共享
- business-upstream
- 企業(yè)動(dòng)態(tài)路由插件,適用于 SaaS 企業(yè)平臺(tái),根據(jù)企業(yè)的付費(fèi)等級(jí)動(dòng)態(tài)路由,達(dá)到不同企業(yè)等級(jí)之間物理隔離的目的
業(yè)務(wù)流程
界面截圖
評(píng)論
圖片
表情
