[英]Application level caching of XACML Authorization Details from WSO2 IDP
我們正在研究將在WSO2服務器中創建和存儲XACML策略以進行授權的應用程序。
每當用戶嘗試訪問應用程序中的任何內容時,我們都在尋找對用戶進行授權的最佳方法。 現在我們不確定采用這種方法會產生多少性能問題?
解決此問題的一種方法是當用戶嘗試登錄時,那時候從IDP獲取他的所有詳細信息,因此我們可以將其緩存在應用程序級別,而不必每次用戶執行任何操作時都去wso2 idp行動。 這可能會導致登錄緩慢,但是從那以后其他應用程序體驗會很快。
我們只是想確認這是正確的方法? 此設計是否存在任何問題,或者有沒有更好的使用方法?
我認為這不是正確的方法,特別是在我們談論基於屬性的訪問控制(ABAC)以及屬性需要頻繁更改時。
同樣,當您執行策略評估時,最好讓PIP獲取所需的屬性,而不是由應用程序發送所有屬性,此外,您還可以在WSO2 IS端使用緩存來進行XACML策略決策或屬性。
除此之外,為了獲得更好的性能,您可以將您的PEP實施為節儉型。 我們執行了相同的實現,並且對最常用的應用程序之一進行了成功的負載測試。
由於以下原因,我不建議在應用程序端進行緩存:
即使您在應用程序本地緩存屬性,也必須進行往返以進行策略評估。
如果將來在其他應用程序中使用相同的策略,則在應用程序內部本地緩存屬性將無法達到目的。
建議允許PIP在WSO2端獲取所需的屬性,因為這將簡化新的應用程序集成,而您無需擔心為所有新的應用程序集成獲取屬性。
可以在WSO2 IS服務器上集中完成緩存,而不是在每個應用程序級別應用緩存。
PS-這些是我的個人觀點和意見,根據不同的要求和業務需求,它可能並不完美或最合適。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.