国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式

這篇具有很好參考價值的文章主要介紹了【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Saml協(xié)議

傳統(tǒng)上,企業(yè)應用程序在公司網(wǎng)絡中部署和運行。為了獲取有關(guān)用戶的信息,如用戶配置文件和組信息,這些應用程序中的許多都是為與公司目錄(如Microsoft Active Directory)集成而構(gòu)建的。更重要的是,通常使用目錄存儲和驗證用戶的憑據(jù)。例如,如果您使用在本地運行的SharePoint和Exchange,則您的登錄憑據(jù)就是您的Active Directory憑據(jù)。

然而,隨著協(xié)作的增加和向基于云的環(huán)境的轉(zhuǎn)變,許多應用程序已經(jīng)超越了公司領(lǐng)域的邊界。聯(lián)合身份驗證是這個問題的解決方案。

想要了解Saml協(xié)議,可以參考對應的官方文檔。

認證服務

大多數(shù)應用程序都有一個用戶存儲(數(shù)據(jù)庫或LDAP),其中包含用戶配置文件信息和憑據(jù)等。當用戶登錄時,憑據(jù)將根據(jù)此用戶存儲進行驗證。這種簡單方法的優(yōu)勢在于,所有內(nèi)容都在應用程序中進行管理,從而提供了一種對最終用戶進行身份驗證的單一且一致的方法。但是,如果用戶需要訪問多個應用程序,其中每個應用程序都需要不同的憑據(jù)集,那么最終用戶就會遇到問題。首先,除了可能已經(jīng)存在的任何其他公司密碼(例如,他們的AD密碼)之外,用戶還需要記住不同的密碼。用戶現(xiàn)在被迫維護單獨的用戶名和密碼,并且必須處理不同的密碼策略和過期時間。此外,當應用程序用戶繼續(xù)可以訪問本應被撤銷的應用程序時,這種情況還會讓管理員和ISV感到頭疼。

聯(lián)合身份

聯(lián)合身份始于需要支持跨越公司或組織邊界的應用程序訪問。
想象一下,一家果汁公司(JuiceCo)將其產(chǎn)品銷售給一家大型連鎖超市(BigMart)之間的關(guān)系。
作為JuiceCo的一名員工,您需要訪問BigMart提供的應用程序來管理關(guān)系并監(jiān)控供應和銷售。
在這種情況下,BigMart(提供該應用程序)將需要負責用戶身份驗證。
簡單的方法是要求在JuiceCo工作的用戶使用不同的用戶名和密碼。
但是,考慮一下該應用程序需要維護的所有用戶–包括需要訪問該應用程序的所有其他供應商及其用戶。
解決這一問題的一個更好的方法是允許JuiceCo和其他所有供應商共享或聯(lián)合BigMart的身份。
作為JuiceCo的一名員工,您已經(jīng)擁有企業(yè)身份和憑據(jù)。
聯(lián)合身份為連鎖超市(服務提供商)提供了一種安全的方式,通過與其供應商(身份提供商)現(xiàn)有的身份基礎設施集成來外部化身份驗證。

這種用例導致了聯(lián)邦協(xié)議的誕生,例如:Security Assertion Markup Language (SAML) (opens new window).

SAML的規(guī)劃

SAML主要用作基于Web的身份驗證機制,因為它依賴于使用瀏覽器代理來代理身份驗證流。在較高級別,SAML的身份驗證流如下所示:

【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式

現(xiàn)在我們準備介紹一些常見的SAML術(shù)語。我們將在稍后討論這些技術(shù)細節(jié),但在規(guī)劃階段理解高級概念是很重要的。

SP

服務提供商(SP)是提供服務的實體,通常以應用程序的形式提供。

IdP

身份提供者(IdP)是提供身份的實體,包括對用戶進行身份驗證的能力。身份提供者通常還包含用戶配置文件:有關(guān)用戶的其他信息,如名字、姓氏、工作代碼、電話號碼、地址等。根據(jù)應用程序的不同,一些服務提供商可能需要非常簡單的配置文件(用戶名、電子郵件),而其他服務提供商可能需要更豐富的用戶數(shù)據(jù)集(工作代碼、部門、地址、位置、經(jīng)理等)。

SAML請求

SAML請求,也稱為身份驗證請求,由服務提供商生成以“請求”身份驗證。

SAML響應

SAML響應由身份提供者生成。它包含經(jīng)過身份驗證的用戶的實際斷言。此外,SAML響應可能包含其他信息,例如,用戶配置文件信息和組/角色信息,具體取決于服務提供商可以支持的內(nèi)容。

服務提供商啟動(SP啟動)

登錄描述由服務提供商啟動時的SAML登錄流程。這通常在最終用戶嘗試訪問資源或直接在服務提供商端登錄時觸發(fā)。例如,當瀏覽器嘗試訪問服務提供商端受保護的資源時。

身份提供者啟動(IdP啟動)

身份提供者啟動(IdP啟動)登錄描述由身份提供者啟動的SAML登錄流。在該流程中,身份提供商發(fā)起SAML響應,該響應被重定向到服務提供商以斷言用戶的身份,而不是由來自服務提供商的重定向觸發(fā)SAML流。

需要注意的幾個關(guān)鍵事項
  • 服務提供商從不與身份提供商直接交互。
  • 瀏覽器充當執(zhí)行所有重定向的代理。
  • 服務提供商需要知道要重定向到哪個身份提供商,然后才能知道用戶是誰。
  • 在身份提供者返回SAML斷言之前,服務提供者不知道用戶是誰。
  • 此流程不一定要從服務提供商開始。
  • 身份提供者可以發(fā)起身份驗證流。
  • SAML身份驗證流是異步的。
  • 服務提供商不知道身份提供商是否會完成整個流程。

因此,服務提供商不維護所生成的任何身份驗證請求的任何狀態(tài)。當服務提供商收到來自身份提供商的響應時,該響應必須包含所有必要的信息

規(guī)劃核對表

雖然SAML協(xié)議是一個標準,但根據(jù)您的應用程序的性質(zhì),有不同的方法來實現(xiàn)它。下面是一個核對表,將指導你完成一些關(guān)鍵的考慮事項。

  • 了解服務提供商的角色。
  • 單一身份識別方案與多個身份識別方案。
  • 了解SP發(fā)起的登錄流。
  • 暴露SP中的SAML配置。
  • 為每個人啟用SAML,而不是為部分用戶。
  • 實施“后門”

了解服務提供商的角色

SAML IdP根據(jù)IdP和SP共同同意的配置生成SAML響應。在收到SAML斷言后,SP需要驗證斷言是否來自有效的IdP,然后解析斷言中的必要信息:用戶名、屬性等

要執(zhí)行此操作,SP至少需要以下各項:

  • 證書-SP需要從IdP獲取公共證書以驗證簽名。證書存儲在SP端,并在SAML響應到達時使用。
  • ACS Endpoint-斷言消費者服務URL-通常簡稱為SP登錄URL。這是由發(fā)布SAML響應的SP提供的終結(jié)點。SP需要將此信息提供給IdP。
  • IdP登錄URL-這是發(fā)布SAML請求的IdP端的終結(jié)點,SP需要從IdP獲取此信息。

實現(xiàn)SAML的最簡單方法是利用開源SAML工具包。這些工具包提供了消化傳入SAML響應中的信息所需的邏輯。此外,如果SP需要支持SP發(fā)起的登錄流,工具包還提供生成適當?shù)腟AML身份驗證請求所需的邏輯。

單一身份識別方案與多個身份識別方案

如果您正在構(gòu)建內(nèi)部集成,并且希望啟用SAML以將其與您的公司SAML身份提供程序集成,那么您將考慮僅支持單個IdP。在這種情況下,您的集成只需要處理一組IDP元數(shù)據(jù)(證書、端點等)。

【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式
如果您是構(gòu)建企業(yè)SaaS產(chǎn)品的獨立軟件供應商(ISV),或者您正在為客戶和合作伙伴構(gòu)建面向外部的網(wǎng)站/門戶/社區(qū),則需要考慮支持多個IdP。這是許多需要與客戶的企業(yè)身份基礎設施集成的SaaS ISV的典型用例。根據(jù)應用程序的體系結(jié)構(gòu),您需要考慮如何存儲來自每個身份提供者的SAML配置(例如,證書或IdP登錄URL),以及如何為每個提供者提供必要的SP信息。
【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式
一個關(guān)鍵注意事項涉及發(fā)布SAML響應的SP端的ACS URL端點。即使在處理多個IdP時,也可以公開單個端點。對于沒有在URL中定義租用的單實例多租戶應用程序(例如使用子域時),這可能是一種更簡單的實現(xiàn)方式。但是,您必須依靠SAML響應中的其他信息來確定哪個IdP正在嘗試進行身份驗證(例如,使用IssuerID)。如果您的應用程序是以多租戶方式設置的,并且在URL中包含域信息(例如,使用https://domain1.example.com或https://www.example.com/domain1),),則每個子域都有一個ACSURL端點可能是個不錯的選擇,因為URL本身可以標識該域。
【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式

了解SP發(fā)起的登錄流

如前所述,IdP發(fā)起的登錄流從IdP開始。由于它從IdP端開始,因此除了用戶嘗試通過身份驗證并訪問SP這一事實外,沒有關(guān)于用戶嘗試在SP端訪問的其他上下文。通常,在用戶通過身份驗證后,瀏覽器將轉(zhuǎn)到SP中的通用登錄頁。

在SP發(fā)起的流中,用戶嘗試直接在SP端訪問受保護的資源,而IdP不知道該嘗試。出現(xiàn)了兩個問題。首先,如果需要對聯(lián)合身份進行身份驗證,則需要識別正確的IdP。使用SP啟動的登錄時,SP最初對身份一無所知。作為開發(fā)人員,您需要弄清楚SP如何確定應該由哪個IdP接收SAML請求。在某些情況下,如果您的應用程序URL包含映射到唯一租戶和IdP的子域信息,則命中的資源鏈接足以識別IdP。如果不是這樣,則可能需要提示最終用戶提供來自最終用戶的其他信息,如用戶ID、電子郵件或公司ID。您需要一些允許SP識別嘗試訪問資源的用戶屬于哪個IdP的內(nèi)容。請記住,您只是提示輸入一個標識符,而不是憑據(jù)。Okta還支持通過LoginHint參數(shù)將標識傳遞給IdP,這樣用戶在重定向到IdP登錄時,就不需要再次輸入該標識。有關(guān)觸發(fā)OKTA將“LoginHint”發(fā)送到IdP的說明,請參閱使用SAML深度鏈接重定向。

SP發(fā)起的登錄流的另一個問題是對深度鏈接的支持。大多數(shù)應用程序都支持深度鏈接。例如,您可能會收到一個指向駐留在內(nèi)容管理系統(tǒng)上的文檔的鏈接。理想情況下,如果您需要在訪問文檔之前進行身份驗證,則希望在身份驗證后立即訪問該文檔。

SAML是一種專門設計的異步協(xié)議。SP發(fā)起的登錄流程從生成SAML身份驗證請求開始,該請求被重定向到IdP。此時,SP不存儲有關(guān)該請求的任何信息。當SAML響應從IdP返回時,SP將不知道任何有關(guān)觸發(fā)身份驗證請求的初始深層鏈接的信息。幸運的是,SAML通過一個名為RelayState的參數(shù)支持這一點。

RelayState

RelayState是一個可以作為SAML請求和SAML響應的一部分包括的HTTP參數(shù)。在SP發(fā)起的登錄流程中,SP可以使用有關(guān)請求的附加信息設置SAML請求中的RelayState參數(shù)。SAML IdP在收到SAML請求后,獲取RelayState值,并在用戶通過身份驗證后將其作為HTTP參數(shù)附加回SAML響應中。這樣,當往返完成時,SP可以使用RelayState信息來獲取有關(guān)初始SAML身份驗證請求的其他上下文。

在深度鏈接的情況下,SP使用深度鏈接值設置SAML請求的RelayState。當SAML響應返回時,SP可以使用RelayState值并將經(jīng)過身份驗證的用戶帶到正確的資源。
【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式

暴露SP中的SAML配置

如前所述,SP需要IdP配置來完成SAML設置。雖然許多ISV選擇通過支持和電子郵件來實現(xiàn)這一點,但更好的方法是向客戶的IT管理員顯示自助服務管理員頁面,以啟用SAML。SAML支持IdP端和SP端的元數(shù)據(jù)。在SP側(cè)配置IdP/SP關(guān)系的一種方式是建立接收IdP元數(shù)據(jù)文件的能力和生成供IdP使用的SP元數(shù)據(jù)文件的能力。這是首選的方法。

然而,一些ISV選擇允許直接配置幾個關(guān)鍵的SAML參數(shù),而不是通過元數(shù)據(jù)文件。典型參數(shù)包括IdP重定向URL(用于SAML請求)、IssuerID、IdP注銷URL。SP還必須允許上載或保存IdP公共證書。

最好使用元數(shù)據(jù)文件,因為它可以處理SAML支持中未來的任何添加/增強,而無需進行用戶界面更改(如果在用戶界面中公開特定的SAML配置參數(shù),則需要進行這些更改)。

為每個人啟用SAML,而不是為部分用戶

根據(jù)應用程序的性質(zhì),可能有理由只允許部分用戶啟用SAML。想象一下內(nèi)部員工和外部用戶(如合作伙伴)可以訪問的應用程序。員工可以使用SAML登錄到應用程序,而外部用戶可以使用一組單獨的憑據(jù)。

即使在目的是讓特定租戶的所有用戶都啟用SAML的情況下,在概念驗證、測試和推出期間只啟用部分用戶,以便在對所有用戶啟用之前測試較小的用戶子集的身份驗證,也可能是有用的。

實施“后門”

如果您的應用程序中所有人都打算啟用SAML,這一點尤其重要。有時,SAML配置中可能存在錯誤–或者SAML IdP端點中發(fā)生了一些變化。無論如何,你都不想被完全鎖在門外。讓管理員可以使用后門訪問鎖定的系統(tǒng)變得極其重要。這通常是通過擁有一個“秘密”登錄URL來實現(xiàn)的,該URL在訪問時不會觸發(fā)SAML重定向。通常,管理員使用用戶名和密碼登錄并進行必要的更改以解決問題。

參考資源

  • Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0

  • Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0

  • Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0 文章來源地址http://www.zghlxwxcb.cn/news/detail-449040.html

到了這里,關(guān)于【分布式技術(shù)專題】「單點登錄技術(shù)架構(gòu)」一文帶領(lǐng)你好好認識以下Saml協(xié)議的運作機制和流程模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 分布式項目 12 用jsonp來完成單點登錄功能(兩個系統(tǒng)之間進行信息交互)

    分布式項目 12 用jsonp來完成單點登錄功能(兩個系統(tǒng)之間進行信息交互)

    在項目中使用ctrl+H ,來快速查找相關(guān)的hrl請求。 首先全部的請求會進過jt-web,在進行對其他系統(tǒng)的通信。 說明:當點擊“登錄”或者\\\"免費注冊\\\"跳轉(zhuǎn)到登錄或者注冊頁面。 在jt-web項目中,聲明UserController資源,完成頁面資源的調(diào)度,具體代碼實現(xiàn)如下所示: 創(chuàng)建項目sso 修改

    2024年02月08日
    瀏覽(21)
  • 云事業(yè)群CTO線技術(shù)晉升考核機試題-分布式專題-A 分布式鎖

    作者:田超凡 1 什么是鎖?什么是分布式鎖?二者有什么區(qū)別? 答: 鎖是線程級別的概念,鎖的目的是保證線程間業(yè)務代碼執(zhí)行的冪等性,同一時刻只有一個線程能夠獲取到鎖并執(zhí)行業(yè)務代碼,其他沒獲取到鎖的線程會一直阻塞等待獲取到鎖的線程釋放鎖之后才會被喚醒并

    2024年02月12日
    瀏覽(55)
  • 云事業(yè)群CTO線技術(shù)晉升考核機試題-分布式專題-B 分布式事務

    出題人:湖北TL田超凡 注意:本部分機試題均為 簡答題 ,每題字數(shù)不少于50字,采用人工閱卷方式批改 通過標準:答對 15 題以上 方可通過本部分測驗。 1 什么是事務?事務的特性有哪些? 2 分布式事務產(chǎn)生的背景? 3 簡述CAP定律和BASE理論? 4 2PC和3PC的作用? 5 2PC實現(xiàn)原理

    2024年02月13日
    瀏覽(20)
  • 一文看懂分布式存儲架構(gòu)

    一文看懂分布式存儲架構(gòu)

    目錄 一、集中存儲結(jié)構(gòu) 二、分布式存儲 1 、分布式存儲的興起 2 、分布式存儲的重要性 3 、分布式存儲的種類和比較 三、分布式理論淺析 1 、一致性和可用性 2 、數(shù)據(jù)分布 3 、復制 4 、分布式協(xié)議 5、跨機房部署 四、分布式文件系統(tǒng) 1、 Google 文件系統(tǒng)( GFS ) 2、 Taobao 文件

    2023年04月09日
    瀏覽(21)
  • 云事業(yè)群CTO線技術(shù)晉升考核機試題-分布式專題-D 分布式數(shù)據(jù)同步

    ? 作者:田超凡 1 緩存一致性產(chǎn)生背景 答:當需要頻繁訪問數(shù)據(jù)庫的時候,雖然數(shù)據(jù)庫底層基于B+索引檢索數(shù)據(jù),但是仍然會十分消耗磁盤IO資源,導致數(shù)據(jù)庫訪問壓力增加。 此時可以基于緩存設計來減輕數(shù)據(jù)庫訪問壓力。 2 多級緩存架構(gòu)設計方案 答:多級緩存架構(gòu)設計采用

    2024年02月16日
    瀏覽(56)
  • 云事業(yè)群CTO線技術(shù)晉升考核機試題-分布式專題-C 分布式任務調(diào)度

    作者:田超凡 1 傳統(tǒng)的定時任務存在那些缺點 答:傳統(tǒng)定時任務的缺點: 定時任務邏輯和業(yè)務邏輯在一個服務中,是強耦合的,沒有實現(xiàn)完全解耦,當定時任務邏輯出現(xiàn)問題,也會影響業(yè)務邏輯的執(zhí)行。 定時任務非常消耗cpu資源,可能會影響業(yè)務線程的執(zhí)行。 服務器集群環(huán)

    2024年02月15日
    瀏覽(50)
  • 【分布式技術(shù)專題】「分布式ID系列」百度開源的分布式高性能的唯一ID生成器UidGenerator

    【分布式技術(shù)專題】「分布式ID系列」百度開源的分布式高性能的唯一ID生成器UidGenerator

    UidGenerator是什么 UidGenerator是百度開源的一款分布式高性能的唯一ID生成器,更詳細的情況可以查看官網(wǎng)集成文檔 uid-generator是基于Twitter開源的snowflake算法實現(xiàn)的一款唯一主鍵生成器(數(shù)據(jù)庫表的主鍵要求全局唯一是相當重要的)。要求java8及以上版本。 snowflake算法 Snowflake算法描

    2024年02月04日
    瀏覽(21)
  • 云事業(yè)群CTO線技術(shù)晉升考核機試題-分布式專題-F 分布式服務鏈路動態(tài)追蹤

    作者:田超凡 1 分布式服務鏈路動態(tài)追蹤產(chǎn)生的背景 答:在分布式微服務系統(tǒng)中,隨著業(yè)務的發(fā)展,系統(tǒng)的規(guī)模也越來越大,服務和服務之間的調(diào)用關(guān)系也越來越復雜。比如一次HTTP請求可能會在多個服務和服務之間進行多次組合調(diào)用,在這個過程中,當一個服務出現(xiàn)故障,

    2024年02月16日
    瀏覽(60)
  • 【分布式技術(shù)專題】RocketMQ延遲消息實現(xiàn)原理和源碼分析

    【分布式技術(shù)專題】RocketMQ延遲消息實現(xiàn)原理和源碼分析

    痛點背景 業(yè)務場景 假設有這么一個需求,用戶下單后如果30分鐘未支付,則該訂單需要被關(guān)閉。你會怎么做? 之前方案 最簡單的做法,可以服務端啟動個定時器,隔個幾秒掃描數(shù)據(jù)庫中待支付的訂單,如果(當前時間-訂單創(chuàng)建時間)30分鐘,則關(guān)閉訂單。 方案評估 優(yōu)點:是實

    2024年02月13日
    瀏覽(24)
  • 分布式系統(tǒng)架構(gòu)設計之分布式緩存技術(shù)選型

    分布式系統(tǒng)架構(gòu)設計之分布式緩存技術(shù)選型

    隨著互聯(lián)網(wǎng)業(yè)務的快速發(fā)展,分布式系統(tǒng)已經(jīng)成為了解決大規(guī)模并發(fā)請求、高可用性、可擴展性等問題的重要手段。在分布式系統(tǒng)中,緩存作為提高系統(tǒng)性能的關(guān)鍵技術(shù),能夠顯著降低數(shù)據(jù)庫負載、減少網(wǎng)絡延遲、提高數(shù)據(jù)訪問速度。當面對大量并發(fā)請求時,如果每次都直接

    2024年02月03日
    瀏覽(519)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包