精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

男人久久天堂| 日韩综合在线观看| 国产精品欧美大片| 亚洲国产精品久久久男人的天堂| 国产欧美日韩在线播放| 日韩在线播放中文字幕| 五月天久久777| 亚洲成人精品久久久| 激情五月开心婷婷| а天堂中文在线官网| 成人av中文字幕| 国产精品久久久一区| 国产精品成人免费观看| 亚洲精华一区二区三区| 日本韩国一区二区三区视频| 女女同性女同一区二区三区按摩| 色婷婷中文字幕| 美腿丝袜亚洲色图| 国外色69视频在线观看| 国产又粗又长又黄的视频| 风间由美一区二区av101 | 日韩一级完整毛片| 成年网站在线免费观看| 天堂av在线电影| 国产日本欧美一区二区| 国产精品成人一区二区三区| ,一级淫片a看免费| 久久久www| 孩xxxx性bbbb欧美| 欧美丰满熟妇bbbbbb| 精品99在线| 亚洲激情在线观看| 五月激情婷婷在线| 网友自拍亚洲| 婷婷中文字幕综合| 日韩 欧美 视频| 成人日批视频| ●精品国产综合乱码久久久久| 九色综合日本| 成人午夜免费在线观看| 国产乱人伦精品一区二区在线观看| 国产成人精品最新| 在线观看亚洲欧美| 国产日韩欧美一区| 欧美激情精品久久久久久| 日本黄色片免费观看| 日韩一级毛片| 中文字幕av日韩| 性欧美一区二区| 欧美激情在线免费| 亚洲免费一级电影| 粉嫩av懂色av蜜臀av分享| 国产精品流白浆在线观看| 日韩免费高清av| 国产伦精品一区二区三区妓女下载| 色狠狠一区二区三区| 欧美日韩一区三区四区| www欧美激情| 777午夜精品电影免费看| 色噜噜久久综合| 国产精品亚洲a| 欧美三级网址| 欧洲在线/亚洲| 超碰在线97免费| 激情亚洲小说| 717成人午夜免费福利电影| 热久久久久久久久| 欧美不卡在线观看| 精品日韩在线观看| 疯狂揉花蒂控制高潮h| 亚洲调教一区| 在线日韩欧美视频| 开心激情五月网| 91精品国产91久久久久久黑人| 久久久久www| 久久久久久欧美精品se一二三四| 亚洲婷婷在线| 欧美在线视频观看免费网站| 久久久精品毛片| 极品少妇一区二区三区精品视频| 亚洲影视九九影院在线观看| 成人精品在线播放| 91免费小视频| 一区二区三区不卡在线| 亚洲制服国产| 欧美视频在线观看免费| 日韩一区二区三区不卡视频| 欧美视频二区欧美影视| 日韩av中文在线| 女人黄色一级片| 91成人精品| 8x海外华人永久免费日韩内陆视频| 四虎成人在线观看| 麻豆91在线播放| 成人18视频| 国外av在线| 亚洲伦在线观看| 成人在线免费观看av| 国产精品亲子伦av一区二区三区| 日韩欧美视频在线| 国产毛片久久久久久久| 伊人久久大香线蕉精品组织观看| 91国产美女视频| 一区二区视频网站| 成人sese在线| 加勒比海盗1在线观看免费国语版| 国产在线观看www| 欧美日韩在线播放| 黄色性生活一级片| 欧美一区二区三区久久精品| 国产99久久精品一区二区| a毛片在线免费观看| 久久久久久久久久美女| 日韩精品综合在线| 精品久久在线| 亚洲热线99精品视频| 亚洲欧美一区二区三区四区五区| 久久只有精品| 国产日韩精品推荐| 1区2区在线观看| 欧美性色aⅴ视频一区日韩精品| 亚洲成年人在线观看| 日韩在线视频精品| 国产91免费看片| 色哟哟国产精品色哟哟| 亚洲精品乱码久久久久久黑人 | 另类专区欧美蜜桃臀第一页| 精品乱码一区| 日本性爱视频在线观看| 欧美嫩在线观看| 亚洲一区二区三区蜜桃| 最新亚洲视频| 成人在线观看91| 怡红院在线观看| 日韩一级片网站| 欧美手机在线观看| 九九热在线视频观看这里只有精品| 免费看污久久久| 涩涩av在线| 亚洲国模精品一区| 日本少妇激情视频| 成人免费毛片高清视频| av久久久久久| 国产精品久一| 久久艳片www.17c.com | 亚洲精品国产精品国产自| 免费一级全黄少妇性色生活片| 激情综合网天天干| 在线观看日本一区| 国产美女视频一区二区| 久久亚洲综合国产精品99麻豆精品福利 | 欧美在线视频免费观看| 欧美一区二区视频| 欧美天堂在线观看| 人妻av无码一区二区三区| 久久天堂精品| 亚洲精品乱码视频| 欧美日韩视频免费观看| 伊人av综合网| 一区二区三区日| 亚洲精品视频免费观看| 国产调教打屁股xxxx网站| 精品动漫av| 精品一区二区不卡| 久久精品女人天堂av免费观看| 亚洲欧美在线一区二区| 91麻豆精品在线| 国产精品白丝在线| 久久发布国产伦子伦精品| 狠狠88综合久久久久综合网| 高清国产在线一区| 欧美少妇网站| 在线观看不卡av| 国产又大又黄又爽| 亚洲国产日日夜夜| 国产免费看av| 精品系列免费在线观看| 乱熟女高潮一区二区在线| 精品国产乱子伦一区二区| 日本最新高清不卡中文字幕| av大片在线观看| 日韩一区二区免费在线观看| 国产奶水涨喷在线播放| 国产三级久久久| 久久出品必属精品| 在线综合视频| 伊人久久大香线蕉精品| 成人激情自拍| 国产精品色婷婷视频| av网址在线看| 亚洲欧美国产日韩天堂区| 亚洲网站免费观看| 亚洲成av人影院| 日韩视频在线观看免费视频| 国产一区二区h| 欧美亚洲日本一区二区三区| 日本不卡免费一区| 国产精品一区二区免费看| 成人涩涩视频| 欧美激情国产日韩精品一区18| 国产九九在线| 亚洲成年人在线| 91久久精品国产91性色69| 亚洲高清免费观看高清完整版在线观看| 亚洲午夜福利在线观看| 国产福利精品导航| 噼里啪啦国语在线观看免费版高清版| 欧美一区在线看| 日本在线成人一区二区| 都市激情亚洲欧美| 成人黄色大片在线免费观看| 性欧美freesex顶级少妇| 美女精品视频一区| av网站在线播放| 亚洲成年网站在线观看| 国产情侣在线播放| 欧美私模裸体表演在线观看| 中日韩精品视频在线观看| 最新热久久免费视频| 亚洲一区二区自偷自拍| 99亚偷拍自图区亚洲| 成年人性生活视频| 激情五月婷婷综合网| 熟妇人妻无乱码中文字幕真矢织江| 一区在线视频观看| 黄色一级视频播放| 视频在线不卡免费观看| 日本成人三级电影网站| 私拍精品福利视频在线一区| 成人女人免费毛片| 日韩08精品| 91精品综合视频| 日韩av懂色| 国产精品久久久久久久久影视| 日韩伦理福利| 97色在线视频| 成av人片在线观看www| 欧美黄色性视频| 2024最新电影在线免费观看| 久久久久www| 91一区二区三区在线| 久久精品美女视频网站| 日本视频在线免费观看| 日韩在线观看网站| 在线免费看黄| 神马久久久久久| 91ph在线| 日韩专区在线播放| 欧美人xxx| 久久中文久久字幕| 污污的网站在线看| 欧美激情第6页| 岛国av在线播放| 欧美诱惑福利视频| 偷拍视频一区二区三区| 国产精品视频网站| 成人噜噜噜噜| 99精彩视频在线观看免费| 成人福利免费在线观看| 久久久久欧美| 精品免费视频| 一区二区三区四区视频在线观看| 91久久夜色精品国产按摩| 美国av在线播放| 欧美三级黄美女| 国产九色porny| 亚洲在线一区| 黄色成人免费看| 精品一区二区三区免费| 岛国大片在线免费观看| 99久久国产综合精品女不卡| 亚洲 小说 欧美 激情 另类| 欧美激情一区二区三区不卡 | 欧美r级电影| 潘金莲一级淫片aaaaaa播放1| 欧美三级乱码| 北条麻妃在线视频观看| 日本欧美一区二区| 99999精品| 91性感美女视频| 亚洲天堂精品一区| 夜夜嗨av一区二区三区中文字幕| 国产精品黄色网| 欧美日韩国产片| 免费观看黄色av| 夜夜嗨av色综合久久久综合网 | 97在线精品视频| 日本精品裸体写真集在线观看| 国产一区在线播放| 国产精品1luya在线播放| 日韩高清三级| 午夜精品久久| 亚洲国产精品毛片av不卡在线| 狠狠色综合播放一区二区| 亚洲观看黄色网| 国产精品麻豆网站| 中日韩精品视频在线观看| 欧美日本在线看| 视频三区在线观看| 久久影院资源网| 无遮挡爽大片在线观看视频| 成人午夜激情免费视频| 美女毛片一区二区三区四区最新中文字幕亚洲 | 久久久久久999| 日韩成人亚洲| 国产高清精品一区| 91视频综合| 成年人黄色片视频| 成人丝袜高跟foot| 中文字幕求饶的少妇| 欧美性猛交丰臀xxxxx网站| 国产视频一区二区三| 亚洲人成网站999久久久综合| av在线看片| 国产主播欧美精品| 久草精品在线| 国产a级片网站| 国产一区二区按摩在线观看| 亚洲精品视频网址| 日韩欧美国产激情| 色呦呦免费观看| 欧美激情精品久久久| 国产精品久一| 中文字幕一区二区三区在线乱码 | 97视频在线观看免费| 91久久青草| 亚洲免费精品视频| 视频一区二区中文字幕| 日韩网站在线播放| 性久久久久久久久| 囯产精品一品二区三区| 久久久国产一区| 日韩国产一二三区| 少妇免费毛片久久久久久久久| 免费在线观看成人av| 国产激情视频网站| 亚洲国产一二三| 亚洲精品一区二区三区蜜桃| 不卡av电影院| 精品国产18久久久久久二百| 一区二区三区一级片| 久久精品99久久久| 国产jizz18女人高潮| 欧美性感一区二区三区| 国产视频第一页在线观看| 琪琪第一精品导航| 欧美精品momsxxx| 污污视频网站免费观看| 国产午夜精品理论片a级大结局 | 久久精品天堂| 亚洲午夜久久久久久久久红桃| 狠狠色噜噜狠狠狠狠97| 天堂在线中文| 国产91免费观看| 不卡日本视频| 潘金莲激情呻吟欲求不满视频| 国产精品美女久久福利网站| 91禁在线观看| 久久成人av网站| 一区二区三区免费在线看| 久久人人爽人人爽人人av| 波波电影院一区二区三区| 日本三级小视频| 国产一区二区动漫| 日韩美香港a一级毛片| 久久久久久久久网| 成人免费av资源| 综合网在线观看| 中文字幕不卡在线视频极品| 国产精品99久久免费| 成人免费性视频| 99精品国自产在线| 国产精品网站在线播放| 小嫩苞一区二区三区| 在线综合视频播放| 成人性生交大片免费看网站| 久久精品女人的天堂av| 日韩国产在线观看| 91狠狠综合久久久| 亚洲第一精品电影| 韩国成人在线| 亚洲av综合色区| 99精品黄色片免费大全| 中文字幕激情视频| 欧美高清视频免费观看| 最新国产一区| 超碰人人cao| 日本精品视频一区二区三区| 免费观看在线黄色网| 国产精品香蕉视屏| 日本vs亚洲vs韩国一区三区二区| 日韩精品一区二区亚洲av性色| 亚洲精品久久久久久下一站| 手机在线观看av| 一区在线电影| 久久综合九色综合97婷婷女人| 真实的国产乱xxxx在线91| 欧美激情综合亚洲一二区| 国模精品一区| 日本一区二区免费视频|