WSO2身份服務中的關鍵概念三 訪問控制與許可權管理

2021-10-20 06:38:27 字數 2850 閱讀 4739

今天,企業應用程式尋求加強安全性的方法,允許適當的人在企業策略的限制下訪問適當的資源。身份和許可權管理系統作為乙個整體,試**決這些安全問題。這些系統幫助企業架構師和開發人員實現他們的應用程式需求,並試圖顯著降低安全相關實現的成本。這些身份和許可權管理系統遵循行業標準規範,因此很容易支援異構應用程式的安全需求。

下表描述了不同型別的訪問控制。

訪問控制型別

描述 access control lists

訪問控制列表是最古老和最基本的訪問控制形式。這種型別主要用於作業系統。訪問控制列表維護了一組對映關係。記錄使用者和可在資源上執行的操作。由於使用了對映,所以比較容易實現。然而,面對更大的使用者群這種方式不可擴充套件,並且可能變得難以管理。 |role-based accewss control|基於角色的訪問控制(rbac)是一種基於角色限制授權使用者訪問的方法。rbac是一種提供訪問控制的靜態許可權模型。大多數使用者超過500的企業都在使用它。當使用者被分為不同的角色時,可以採用這種控制方法。角色定義了被分配給該角色的使用者可以訪問資源。這些使用者和角色也可以通過使用者儲存具象化。角色需要小心的管理。同乙個使用者可以分配給不同的角色。rbac屬於abac的子集。

role-based accewss control

基於角色的訪問控制(rbac)是一種基於角色限制授權使用者訪問的方法。rbac是一種提供訪問控制的靜態許可權模型。大多數使用者超過500的企業都在使用它。

當使用者被分為不同的角色時,可以採用這種控制方法。角色定義了被分配給該角色的使用者可以訪問資源。這些使用者和角色也可以通過使用者儲存具象化。角色需要小心的管理。同乙個使用者可以分配給不同的角色。rbac屬於abac的子集。

通過更新wso2身份服務的許可權樹可以給不同的角色授予許可權

attribute-based-access contro

基於屬性的訪問控制(abac)定義了一種新的訪問控制正規化,通過使用將屬性組合在一起的策略授予使用者訪問許可權。

基於屬性的授權相比基於角色的授權粒度更細。授權可以基於使用者、環境甚至資源本身的屬性。和基於角色的許可權控制結合使用時可以更加靈活。在授權之前不需要了解使用者。

policy-based access control

這種型別的訪問控制滿足了具有更統一的訪問控制機制的要求。這有助於大型企業對大量的組織單元進行統一的訪問控制。這在執行安全審核時很有用。

這是最複雜的訪問控制方式。這需要企業使用xacml和授權的屬性源明確地指定策略。基於策略的訪問控制(pbac)(也稱為基於規則的訪問控制)是abac的擴充套件,其中屬性用於編寫策略。

## xacml介紹 xacml(extensibleaccesscontrolmarkuplanguage)是一種基於xml的訪問控制語言,已經由oasis聯盟的技術委員會標準化。xacml作為一種細粒度授權方法在社群中很流行。因為細粒度的許可權控制,xacml在某些方面超過了其他策略標準。 儘管xacml早在2023年就由oasis作為乙個標準引入,但是還沒有多少組織採用它。這是因為大多數組織對轉向基於xacml的授權解決方案缺乏興趣。包括以下原因:大多數組織仍然使用具有內建授權邏輯的古舊系統。有時,乙個組織包含大量的資訊系統和應用程式,每個系統或應用程式都使用這些系統和應用程式進行自己的授權過程。因為如今組織內外的使用者需要訪問共享的資料以及高效的合作,所以授權系統變得愈發複雜。因此管理這些古舊系統和定製的授權系統變成具有挑戰性的任務。而xacml提供了針對這個問題的解決方案。

大部分傳統授權系統都會有一下特點:

attribute-based access control(abac)

abac是一種訪問控制正規化,通過使用將屬性組合在一起的策略,將訪問許可權授予使用者。策略可以使用任何型別的屬性(使用者屬性、資源屬性、物件、環境屬性等)。此模型支援布林邏輯,其中規則包含關於誰發出請求、資源和操作的「if,then」語句。例如:如果請求者是管理者,則允許對敏感資料進行讀/寫訪問。

策略決策點 / policy decision point (pdp) 根據策略實施點 / policy enforcement points (pep)提供的訪問請求評估策略。為了提供決策,pdp可能還需要查詢策略資訊點 /policy information point (pip) 來收集關於使用者的描述性屬性或請求中任何其他缺少的屬性。策略管理點 / policy administration point (pap) 用於管理pdp和pip的功能。

上圖的xacml架構圖由四部分組成:

wso2身份服務是xacml和開放源**世界中的主要參與者。身份服務支援xacml 3.0。因為原始碼、發行版本和文件都開放訪問,所以可以分析和理解其背後的架構。

本節提供有關wso2 身份服務的xacml引擎(或授權引擎)的體系結構的一些資訊。

wso2身份服務的xacml引擎包含兩個主要部分,pap和pdp。下面的內容主要關於策略決策點 / policy decision point(pdp)。

下圖表示了pdp的組成架構。

pdp架構中不同的元件詳情如下:

entitlement admin service

所有的pdp配置都通過這個api作為web服務公開,您需要有特定的許可權才能訪問。通過呼叫api可以實現以下功能:

為了呈現授權決策,可以將兩個單獨的策略組合起來,形成適用於請求的單個策略。

xacml定義了三種頂層策略元素:

read

WSO2基礎ESB架構分析

1 應用程式傳送一條訊息給transport 2 訊息通過 message pipe 傳送到執行地點 3 訊息的transport和routing沒有明顯的區別 1 tranprots 主要負責傳輸格式化之後的訊息。協議包括 http soap vfs協議。2 message builders 把某...

WSO2之DAS介紹使用之一

das是wso2的重要元件,全稱是data analytics server,是乙個功能強大的開源實時資料流分析平台,它提供流資料分析 複雜事件處理 機器學習演算法,有效幫助你理解事件 對映影響 模式識別,時間相應在毫秒級。下面是das的資料處理流程。實時處理百萬級資料基於流分析的優勢,構建高可擴充...

用WSE在Web服務中驗證使用者身份

nextpage nextpage nextpage nextpage 了一條新紀錄,其firstname lastname username password和roles欄位分別為 user one user1 pass1 和 user use northwind go alter table d...