精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Zadig 基于 OPA 實現 RBAC 和 ABAC 權限管理技術方案詳解

開發 前端
開放策略代理(Open Policy Agent,發音為“ oh-pa”)是一個開放源碼的通用策略引擎,它統一了跨技術棧的策略實施。OPA 提供了一種高級聲明性語言 rego,允許您將策略指定為代碼和簡單的 API,以加載軟件中的策略決策。

隨著 Zadig 被越來越多企業用戶和社區小伙伴采用,大家對企業級權限和安全性有更高的訴求,亟待一套權限管理方案。經過充分調研,我們最終確定了采用 OPA(開放策略代理)開源策略引擎,事實上,它已經被 Netflix,Pinterest 和 Goldman Sachs 等公司用于生產,正在成為云原生策略管理的事實標準。但 OPA 的編寫具有一定的復雜度,網上的教程和官方文檔也僅僅停留在 Demo 層面。經過 Zadig 從 v1.9.0 到 v1.10.0 的迭代,我們已完整實現了 RBAC 和 ABAC 權限管理業務和技術方案的落地,這里我們將整套方案的技術細節分享給大家。

背景介紹

OPA

開放策略代理(Open Policy Agent,發音為“ oh-pa”)是一個開放源碼的通用策略引擎,它統一了跨技術棧的策略實施。OPA 提供了一種高級聲明性語言 rego,允許您將策略指定為代碼和簡單的 API,以加載軟件中的策略決策。您可以使用 OPA 在 Microservices、 Kubernetes、 CI/CD 管道、 API 網關等中強制執行策略

圖片

圖片來源:opa 官方

權限模型

RBAC:

基于角色的訪問控制模型(RBAC: Role-based Access Control),顧名思義,給用戶定義角色,通過角色來控制權限。目前來說基于角色的訪問控制模型是應用較廣的一個,特別是 2B 方向 SAAS 領域,應用尤其常見。

圖片

如上圖示,用戶擁有角色,且可擁有多個角色,而每個角色對應不同權限。這樣的好處是:不必為每一個用戶去配置權限,擁有極大的靈活性和便利性。

ABAC:

基于屬性的訪問控制模型(ABAC: Attribute-Based Access Control),被一些人稱為是權限系統設計的未來,不同于常見的將用戶通過某種方式關聯到權限的方式,ABAC 則是通過動態計算一個或一組屬性是否滿足某種條件來進行授權判斷(可以編寫簡單的邏輯)。屬性通常來說分為四類:用戶屬性(如用戶年齡),環境屬性(如當前時間),操作屬性(如讀?。┖蛯ο髮傩裕ㄈ缫黄恼?,又稱資源屬性),所以理論上能夠實現非常靈活的權限控制,幾乎能滿足所有類型的需求。Zadig 目前主要是通過標簽模擬屬性來實現細粒度資源權限控制。

圖片

圖片來源:阿里云幫助文檔

Zadig 權限場景

  • 系統級別角色-解決全系統級別的權限問題(RBAC)

管理員:擁有全系統的所有權限

普通用戶:擁有公開項目以及其所有資源的查看權限、測試管理和數據分析的查看權限

  • 項目級別角色-解決項目級別的權限問題(RBAC)

project-admin:擁有該項目下的所有權限

read-only:擁有該項目下的所有資源的查看權限

read-project-only(默認):擁有該項目下工作流和集成環境list的權限(但資源會被精細化管理),服務、構建和測試資源的所有查看權限

自定義角色:自定義每個模塊權限能力

  • 項目級別策略:解決項目級別資源的精細化管理(ABAC)

因此 Zadig 基于 OPA 實現 RBAC 解決了系統和項目通用的權限管理,實現 ABAC 解決了項目級別資源的精細化管理。

Zadig 權限架構設計

權限設計架構圖

圖片

Gloo 作為 Zadig 的網關,是 Zadig 所有流量的入口。通過集成 OPA 后,所有經過網關的流量都會由 OPA 來統一進行認證鑒權,而只有認證鑒權通過后才會準許訪問后端服務(aslan)。并且 OPA 決策依賴的數據會異步定時去權限管理服務(policy)和后端服務(aslan)采集決策所需要的權限和資源數據,從而實現高性能決策。

Zadig 權限數據庫模型

zadig-policy 數據庫中的相關數據模型

role:

用戶角色定義表,用來定義某項目下角色,下面的一條記錄表示在項目「zadig」下有一個「dev」角色,該角色擁有查看工作流和執行工作流的權限。

圖片

rolebinding:

用戶角色綁定表,用來將角色綁定到用戶身上,下面的一條記錄表示將「zadig」項目下的「dev」角色綁定給 uid 為「71b8aa87-a10b-11ec-af4e-fa012450189e」的用戶

圖片

policy_meta:

權限元信息表,用來將業務語意的權限轉換為對應 【endpoint+action】,在提供給 opa 的bundle 數據里角色下面的權限會被轉換成一組 url 的集合,具體轉換后的內容可以看決策數據中的 roles

圖片

policy:

用戶策略定義表,用來定義某項目下策略,下面的一條記錄表示在項目「zadig」下有一個「zadig-dev-system-zhangsan」策略

policy 和 role 表基本一致,主要區別是 policy 表多了一個 match_attributes 字段,這里表示對于項目「zadig」下打上label為【key = policy,value = zadig-dev-system-zhangsan-Workflow-zadig-workflow-dev】的workflow有擁有查看工作流和執行工作流的權限

圖片

policybinding:

用戶策略綁定表,用來將策略綁定到用戶身上,下面的一條記錄表示將「zadig」項目下的「zadig-dev-system-zhangsan」策略綁定給uid為「4fd92962-a4f6-11ec-af4e-fa012450189e」的用戶

圖片

Zadig 數據庫中的相關數據模型

label:

標簽表,標簽會同時打在權限 rule 規則和資源上,即表示權限對此標簽的資源有相關權限

圖片

labelbinding:

標簽資源關聯表,記錄標簽和資源的綁定關系

圖片

RBAC 的實現

決策數據

決策數據指的是提供給 OPA 用來執行決策的元數據集,它包括權限數據和資源數據,主要來自于權限管理服務(policy)和后端服務(aslan),在 OPA 術語中叫做 bundle,OPA 會將 bundle 緩存,提高決策效率,以下為決策數據目錄結構。

圖片

roles:

角色數據,數據來自上述 role 和 policy_meta 表,采集時會將其拼裝,因此此處的 rules 是最終拼裝的結果

圖片

bindings: role_bindings:

角色綁定數據,數據主要來自于上述 rolebinding 表

圖片

resources:

資源數據,Zadig 目前提供項目下細粒度資源的權限控制,所以需要采集工作流和環境相關資源

Workflow:工作流采集數據,原始數據存儲在后端服務(aslan)

Environment:采集數據,原始數據存儲在后端服務(aslan)

圖片

exemptions:

特殊 url 采集

Public: zadig 公開的 urls,所有用戶(包括未登錄用戶都能訪問)

Privileged: zaidg 特權 urls,只有系統 admin 用戶能訪問

Registered: zadig 所有注冊的 urls,沒有注冊的 urls 默認登錄用戶就能訪問

圖片

OPA 實現

鑒權流程:

  • 校驗 url 是否無注冊,如果是無注冊,則返回通過
  • 用戶是否是 admin,如果是,則返回通過
  • 請求是否滿足,url 不是特權 url,并且用戶為該項目的項目管理員,如果是則返回通過
  • 請求是否滿足,url 不是特權 url,并且請求匹配該用戶綁定的角色的權限,如果是則返回通過(權限不帶標簽,即 rule 中不帶有 matchAttributes 

關鍵代碼(rego):

圖片

ABAC 的實現

決策數據

決策數據解釋同 RBAC 決策數據。

bindings : policy_bindings:

策略綁定數據,數據來自上述 policybinding 表。

圖片

policies:

策略數據,數據來自上述 policy 表,相比較于 roles,他的 rule 的 matchAttributes 中會帶有標簽,會對相匹配的資源進行過濾。

圖片

resources:

相比于 rbac 的 resource 采集,這里的資源 spec 中會帶上 label,用來做細粒度資源匹配。

圖片

OPA 實現

鑒權流程:

  • 單個資源請求匹配,請求是否滿足 url 不是特權 url,該用戶綁定的策略權限規則匹配該請求,并且該權限的標簽匹配用戶請求資源的標簽,如果是則返回通過(權限帶標簽,即 rule 中帶 matchAttributes)
  • 如果上述都不滿足,會進行多資源請求匹配,該用戶綁定的策略權限規則匹配該請求,如果是則會對匹配的資源進行過濾(權限帶標簽,即 rule 中帶matchAttributes)
  • 如果所有都不滿足,則返回鑒權失敗

關鍵代碼(rego):

圖片

以上實現可以參考 Zadig 源碼位置:

pkg/microservice/policy/core/service/bundle/rego/authz.rego

展望

上面我們詳解了 Zadig 基于 OPA 的權限架構設計、數據庫模型實現以及 RBAC、ABAC 的實現,希望能給大家帶來思考和幫助。有了這樣一套權限管理方案還可以實現更多實用的功能,比如接下來的版本中,將提供根據項目細粒度權限控制來隱藏和關閉前端按鈕、系統角色權限管理和組管理能力及服務粒度的權限控制等等。

官網:https://koderover.com/

github: https://github.com/koderover/zadig

責任編輯:武曉燕 來源: KodeRover
相關推薦

2024-10-23 08:45:07

ACLABACRBAC

2024-10-17 09:14:24

RBAC模型管理

2023-06-26 10:51:56

開源API

2022-07-27 07:27:22

開發者自測子環境

2021-07-19 19:44:57

技術模型實踐

2016-09-29 15:44:18

開源上網管理

2014-08-15 10:05:37

Angular權限控制

2022-06-16 15:29:16

攻擊面管理ASM

2025-01-21 00:00:00

權限模型RBAC

2025-04-15 10:20:00

FastAPI角色權限系統RBAC

2022-01-07 07:29:08

Rbac權限模型

2010-07-12 10:08:40

ibmdwSOA

2023-07-13 00:12:50

OPA代碼

2009-06-03 15:38:37

Struts框架RBAC

2009-12-23 16:40:53

無線MIMO技術詳解

2022-03-28 07:33:13

GatekeeperOPA 策略管理CRD

2021-03-01 09:29:55

數據權限模型

2021-11-19 11:53:42

云計算混合云Kubernetes

2022-10-20 08:00:37

機器人ZadigChatOps

2023-07-05 13:58:10

權限模型設計模式
點贊
收藏

51CTO技術棧公眾號

欧美精品一卡两卡| 国产精品久久久久久久久图文区 | 国产精品久久久久av福利动漫| www.天天色| jizzjizz欧美69巨大| 91精品国产色综合久久ai换脸 | 老女人性淫交视频| 青青操综合网| 欧美一区二区三区影视| 日本网站免费在线观看| 日本在线免费| 久久亚洲捆绑美女| 国产男人精品视频| 久久黄色精品视频| 欧美国产先锋| 中文字幕亚洲激情| 久久久精品人妻无码专区| 国产不卡精品在线| 欧美主播一区二区三区美女| 精品少妇人欧美激情在线观看| 国产三级电影在线观看| 成人av免费观看| 91嫩草在线视频| 色老头在线视频| 国产精品久久久久久久久久妞妞| 欧美成人性色生活仑片| 一级片久久久久| 久草精品在线| 精品视频中文字幕| wwwxx日本| 午夜视频在线观看精品中文| 欧美性受xxxx黑人xyx性爽| 青青青国产在线观看| 在线午夜影院| 亚洲欧洲一区二区三区| 亚州欧美一区三区三区在线| 涩爱av在线播放一区二区| 成人午夜在线播放| 超碰97人人人人人蜜桃| 99在线观看精品视频| 韩日av一区二区| 国产精品日日摸夜夜添夜夜av| 久久99国产综合精品免费| 在线日本高清免费不卡| 久久乐国产精品| 一区二区三区免费高清视频| 欧美日韩精品一本二本三本| 欧美巨猛xxxx猛交黑人97人| 加勒比婷婷色综合久久| 自拍视频亚洲| 久久99精品视频一区97| 日韩黄色免费观看| 欧美啪啪一区| 高清欧美性猛交xxxx黑人猛交| 日韩欧美激情视频| 国产精品永久| 日韩av男人的天堂| 欧美高清69hd| 久久99国产精品尤物| 成人国产精品免费视频| 99久久国产热无码精品免费| 国产成人精品免费| 国产精品午夜av在线| 人妻精品无码一区二区| www.激情成人| 免费毛片一区二区三区久久久| 欧美一区二区视频| 亚洲国产精品精华液2区45| 亚洲精品国产系列| 黄网址在线观看| 亚洲一区二区三区四区在线观看| 国产精品入口芒果| 美女日韩欧美| 欧美日本在线看| 岛国大片在线免费观看| 台湾色综合娱乐中文网| 在线电影av不卡网址| 182在线观看视频| 一区福利视频| 国产精品永久免费视频| 精品黑人一区二区三区在线观看| 成人高清视频在线观看| 人偷久久久久久久偷女厕| 日本中文字幕在线视频| 亚洲一区在线观看视频| 欧美 日韩 国产 激情| 亚瑟国产精品| 亚洲成人在线视频播放| 在线观看免费小视频| 欧美福利影院| 国产成人自拍视频在线观看| 国产精品老熟女视频一区二区| 不卡的电视剧免费网站有什么| 日韩欧美亚洲在线| 欧美寡妇性猛交xxx免费| 91久久精品午夜一区二区| 一级片黄色免费| 天天做夜夜做人人爱精品 | 日韩欧美精品久久| 免费影视亚洲| 欧美日韩美少妇| 999精品免费视频| 欧美gayvideo| 日本在线精品视频| 亚洲大尺度网站| 国产精品久久久久久久久动漫 | 日韩免费三级| 爱福利在线视频| 欧美日韩在线播| 中文文字幕文字幕高清| 亚洲va在线| 日本一区二区不卡| 五月婷婷丁香花| 亚洲男人的天堂在线aⅴ视频| 茄子视频成人免费观看| 99亚洲乱人伦aⅴ精品| 日韩中文字在线| 中文字幕在线播| 99国内精品久久| 男女激情免费视频| 精品一区二区三区视频在线播放 | 黄色网在线播放| 色视频成人在线观看免| 中文字幕一区二区三区乱码不卡| 午夜精品一区二区三区国产| 国产精品免费久久久| 青梅竹马是消防员在线| 无码av免费一区二区三区试看| 日本亚洲一区二区三区| 久久久久久影院| 国产精品午夜视频| 尤物视频在线免费观看| 欧美综合亚洲图片综合区| 巨胸大乳www视频免费观看| 999在线观看精品免费不卡网站| 成人av免费在线看| 污网站在线免费看| 欧美成人a在线| 欧美成人片在线观看| 国产一区999| 日韩 欧美 自拍| 国产精品777777在线播放| 精品国产一区二区三区久久狼5月| 瑟瑟视频在线免费观看| 欧美激情综合五月色丁香| 国产成人精品无码播放| 国产欧美一区二区三区精品观看| 欧美一区二区色| 久久精品蜜桃| 欧美日韩高清一区二区三区| 精品人妻中文无码av在线| 日韩黄色免费网站| 亚洲精品一区二区三区四区五区| 成人一区视频| 久久资源免费视频| 亚洲黄色在线观看视频| 午夜日韩在线观看| aaaaa级少妇高潮大片免费看| 久久久久久久波多野高潮日日| 色一情一乱一伦一区二区三区丨 | 风间由美久久久| 国产一二在线播放| 国产亚洲a∨片在线观看| 一级片在线免费播放| 国产精品国产三级国产| 女女调教被c哭捆绑喷水百合| 在线观看一区| 日本一区二区三区精品视频| 成人午夜sm精品久久久久久久| 久久人体大胆视频| 乱精品一区字幕二区| 黑人巨大精品欧美一区二区一视频 | 日韩在线视频网站| 99视频免费看| 欧美色xxxx| 日韩精品一区二区三区在线视频| 国产高清视频一区| 国产性xxxx18免费观看视频| 色88久久久久高潮综合影院| 亚洲自拍高清视频网站| 在线手机中文字幕| www.日韩不卡电影av| 欧美 日韩 国产 成人 在线 91| 色偷偷成人一区二区三区91| 91视频青青草| 久久一二三国产| 992tv人人草| 午夜综合激情| 欧美三级午夜理伦三级老人| 婷婷精品在线观看| 91在线观看欧美日韩| 日韩伦理精品| 欧美大奶子在线| 91在线品视觉盛宴免费| 亚洲国产精品成人av| 一本色道久久综合熟妇| 精品国产乱码久久久久久婷婷| 特黄一区二区三区| 99久久er热在这里只有精品15| 日韩欧美国产片| 国产精品婷婷| 日韩网站在线免费观看| 国产精品久久久久久麻豆一区软件| 激情视频在线观看一区二区三区| 中文字幕综合| 国产精品jizz在线观看麻豆| 国产盗摄在线视频网站| xxx成人少妇69| 黄色毛片在线看| 亚洲成人激情在线| 99热这里只有精品99| 欧美在线观看禁18| 国产成人在线免费视频| 一区二区三区四区不卡视频| 国产99在线 | 亚洲| 91麻豆国产在线观看| 在线xxxxx| 国产麻豆视频一区二区| 校园春色 亚洲色图| 午夜一区不卡| 国产视频一视频二| 红桃视频国产一区| 久久久久久久香蕉| 欧美激情1区| 欧美爱爱视频网站| 91亚洲成人| 亚洲国产日韩综合一区| 视频一区中文| 日韩av影视| 亚洲伊人春色| 欧美美乳视频网站在线观看| 老司机aⅴ在线精品导航| 成人午夜电影在线播放| 午夜精品在线| 成人免费91在线看| 北条麻妃一区二区三区在线观看| 91在线高清免费观看| 国内不卡的一区二区三区中文字幕| 国产精品视频大全| 日本美女久久| 成人精品在线观看| 国产aⅴ精品一区二区四区| 成人黄色av网站| 国产一区二区三区免费在线| 91色视频在线观看| 国产免费区一区二区三视频免费| 91久久在线播放| 免费看日产一区二区三区| 91九色在线免费视频| ady日本映画久久精品一区二区| 国产99午夜精品一区二区三区| 91精品短视频| 极品尤物一区二区三区| 国产99久久精品一区二区300| 日韩精品在在线一区二区中文 | 肉大捧一出免费观看网站在线播放| 婷婷激情图片久久| 懂色av粉嫩av蜜臀av| 亚洲人成免费网站| 国产在线xxxx| 亚洲在线一区| 日本特黄a级片| 国产一区在线观看视频| 国产成人精品一区二区在线小狼| 波多野结衣91| 亚洲一区二区自偷自拍| 中文字幕亚洲在| 精品无码久久久久久久久| 欧美日韩国产区| 亚洲视频在线观看一区二区| 久久福利毛片| 国产v综合ⅴ日韩v欧美大片 | 欧美日韩中文在线| 中文在线字幕免费观| 在线不卡中文字幕播放| 亚洲精品无码久久久| 国产视频一区在线| 黄网页免费在线观看| 隔壁老王国产在线精品| 搜成人激情视频| 亚洲字幕一区二区| 欧美调教视频| 中文字幕在线中文字幕日亚韩一区| 国产真实久久| 大香煮伊手机一区| 国产精品综合网| 亚洲精品成人无码熟妇在线| 亚洲品质自拍视频| 日韩欧美成人一区二区三区| 欧美日韩电影一区| 视频二区在线| 九色成人免费视频| 成人看片在线观看| 国产精品成人一区二区三区| 郴州新闻综合频道在线直播| 国产精品国三级国产av| 日本中文在线一区| 国产精品一级黄片| 一区二区三区中文字幕电影| 国内自拍视频在线播放| 欧美一级爆毛片| av影片在线看| 青草青草久热精品视频在线观看| 精品三级久久久| 一区二区精品在线| 久久综合九色| 91丝袜在线观看| 亚洲精品欧美激情| 91九色蝌蚪91por成人| 亚洲石原莉奈一区二区在线观看| av资源网在线播放| 91嫩草国产在线观看| 国产精品二区不卡| 虎白女粉嫩尤物福利视频| 成人avav在线| 妺妺窝人体色www在线下载| 欧美三级视频在线观看| 免费毛片在线| 欧美有码在线观看视频| 精品少妇一区| 青青草精品视频在线| 国产精品99久久久| 欧美第一页在线观看| 欧美日韩在线直播| 国产h在线观看| 日韩免费精品视频| 欧美一区二区三区久久| 欧美成人免费在线观看视频| 成人网在线免费视频| 麻豆国产尤物av尤物在线观看 | 香蕉加勒比综合久久| 精品国自产拍在线观看| 欧美福利视频在线观看| 日韩免费成人| 国产成人艳妇aa视频在线| 国产老肥熟一区二区三区| www.毛片com| 91精品婷婷国产综合久久竹菊| 在线日本视频| 国产欧美日韩91| 91成人免费| 亚洲欧洲日韩综合| 午夜欧美一区二区三区在线播放| 成人免费一级视频| 亚州欧美日韩中文视频| 六月丁香久久丫| 一区二区传媒有限公司| 久久色在线视频| 波多野结衣一区二区三区四区| 亚洲美女动态图120秒| 网友自拍亚洲| 亚洲视频小说| 国产激情一区二区三区桃花岛亚洲 | 国产在线日韩精品| www.色偷偷.com| 国产精品二区一区二区aⅴ污介绍| 亚洲一区二区人妻| 裸体女人亚洲精品一区| 天堂va在线高清一区| 秋霞无码一区二区| 久久久久久久久免费| 一级片免费网站| 久久久久成人网| 少妇精品久久久一区二区三区| 男人添女人下面免费视频| 亚洲视频一区在线| 免费观看a视频| 国产成人亚洲综合91| 国产精品99久久精品| 欧美xxxxx少妇| 欧美在线观看视频一区二区 | 国产精品二区视频| 午夜电影一区二区三区| 国产乱子伦三级在线播放| 91视频免费在线| 国产日韩欧美三区| 欧美极品jizzhd欧美18| 日韩精品最新网址| 欧洲一级精品| 日本黄网站色大片免费观看| 91视频在线观看免费| 一区二区三区免费观看视频| 久久人人看视频| 91日韩在线| 精品无码在线视频| 日韩一区二区免费视频| 桃花岛tv亚洲品质| 成人av在线播放观看| 久久久精品国产免大香伊 | 欧美videos粗暴| 国产高清www| 国产精品美女久久久久久久网站| 黑人操亚洲女人| 国产中文欧美精品| 国产色综合网| 人妻少妇精品一区二区三区| 亚洲欧美色图片| 高清日韩欧美| 欧美成人手机在线视频| 日韩欧美精品中文字幕|