400-6655-745
零信任 | 零信任架構和訪問控制模型ABAC
2020-05-08

近幾年,權限訪問控制模型被反復提及,目前常用的是RBAC(Role-Based Access Control),RBAC是迄今為止最為普及的權限設計模型,其優點是簡單,實現起來非常容易。


但是隨著授權需求復雜度的提升和對控制邏輯靈活性的高度要求,ABAC(attribute-based access control)訪問控制模型將會越來越普及。近期火爆的零信任架構里,ABAC模型就比RBAC更加合適。


ABAC既然是針對屬性(attributes)的,那我們先來看看它一般是針對哪些屬性進行授權控制的。屬性可以是任意的對象,一般會涉及的屬性主要是以下四類:


1

訪問主體屬性:訪問者自帶的屬性,比如年齡,性別,部門,角色等;

2


動作屬性:比如讀取,刪除,查看等;

3


對象屬性:被訪問對象的屬性,比如一條記錄的修改時間,創建者等;

4


環境屬性:比如時間信息,地理位置信息,訪問平臺信息等。


基于屬性,ABAC可以設置很多靈活的策略來進行訪問的控制,比如:


1

當一個文檔的所屬部門跟用戶的部門相同時,用戶可以訪問這個文檔;

2

當用戶是一個文檔的額擁有者并且文檔的狀態是草稿,用戶可以編輯這個文檔;

3

早上九點前禁止A部門的人訪問B系統;

4

在除了上海以外的地方禁止以管理員身份訪問A系統。

看起來是不是挺強大的。


因為模型是基于策略,而策略又是基于各種靈活的屬性動態控制的,所以ABAC模型里通常有配置文件(XML、YAML等)或DSL配合規則解析引擎使用。規則引擎負責控制邏輯的處理,配置文件負責策略的定義和描述。


XACML(eXtensible Access Control Markup Language)就是基于ABAC訪問模型的一個實現(可能也是最復雜的一種實現)。


在XACML的架構中,有5種控制節點:



典型的訪問請求是這樣流轉的:


1. 用戶訪問資源,發送原始請求,請求會被PEP攔截;

2. PEP把請求轉換成一個XACML的訪問申請請求;

3. PEP把訪問申請請求轉發給PDP;

4. PDP根據策略配置對認證請求進行評估。策略保存在PRP,并由PAP維護。如果需要采集屬性信息,還會從PIP收集屬性;

5. PDP收到訪問申請請求的結果(允許,禁止)并發送給PEP;

6. PEP根據收到的信息,允許或者禁止用戶訪問資源。


文字太多,請看圖:


我們再來看一下ABAC訪問控制模型和零信任架構的結合點,從Gartner提供的報告中,我們可以看到典型的零信任架構圖如下:



SDP Gateway是用于做訪問攔截和訪問代理,這個跟XACML里的PEP功能類似。


SDP Controller是做訪問控制的策略定義和執行,這個則是包含了XACML里除了PEP以外的節點的功能。


ABAC可以說是縮小版的零信任模型。


零信任架構是想解決最小化授權、策略集中化管理、動態授權控制、自適應授權控制等問題。這些功能的實現跟ABAC權限控制模型不謀而合(也有廠商的零信任架構是基于ABAC和RBAC兩種授權控制模型結合實現的)。


隨著零信任架構的大放光彩,ABAC授權模型也將被大家所熟知。

相關推薦

您的需求,我們隨時傾聽

  • 上海派拉上海派拉
  • 上海派拉上海派拉
  • 上海派拉上海派拉
  • 上海派拉上海派拉
  • 上海派拉上海派拉
  • 上海派拉上海派拉
提交
上海派拉
  • 上海派拉上海
  • 上海派拉北京
  • 上海派拉廣州
  • 上海派拉深圳
  • 上海派拉長春
  • 上海派拉武漢
  • 上海派拉成都
? 2015 Paraview Software. All rights reserved.
滬ICP備13029541號

滬公網安備 31011502012922號

新马快乐8是合法的吗 山西新十一选五走势图 pk10cqswlzx 上证指数年线是多少 广西11选5走势图表 北京11选五什么时候开奖 2007上证指数 贵州快三开奖公告 北京快三一定牛基本走势图 手机版北京pk10预测 北京赛车pk拾官网登陆