精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

科普一下SAML:安全聲明標記語言

責任編輯:editor005

作者:nana

2017-11-11 17:49:27

摘自:安全牛

3 你的瀏覽器向SSO服務發送身份驗證請求;該服務對你進行識別。6 服務提供者處理該響應,并為你創建安全上下文——基本上,就是讓你登錄進去,然后告訴你你請求的資源在哪里。

隨著互聯網的普及,物聯網的逼近,數字化時代的真正到來,身份認證與訪問授權的重要性越來越凸顯。SAML(安全聲明標記語言)標準定義了供應商提供身份驗證與授權服務的方式。那么關于SAML,我們需要知道些什么呢?

首先,SAML是可在網絡中多臺計算機上共享安全憑證的一個開放標準。該標準描述了一個框架,可使1臺計算機代表其他多臺計算機執行某些安全功能。

身份驗證:確定用戶身份與其所聲稱的相符

授權:確定用戶是否有權訪問特定系統或內容

嚴格來講,SAML是指用于編碼所有這些信息的XML變體語言,但該術語也涵蓋了組成該標準的各種協議消息和資料。

SAML 2.0在2005年引入,仍是該標準的當前版本。之前的1.1版如今已基本棄用。

SAML是實現單點登錄(SSO)的一種方法,且SSO也確實是SAML最常見的用例。我們可以從SSO開始討論SAML的用途,然后深入SAML的組件和操作。

SSO是什么?它能干什么?

單點登錄(SSO),可使用戶提供一次安全憑證(比如用戶名/口令對),就能以之訪問多個系統、平臺、App或其他資源。該方法能將用戶從記憶多組登錄名及口令的負擔中解脫出來,也可令IT團隊不用再將多個服務整合到一臺服務器上,真是讓事情簡單不少。

比如說,公司可用SSO讓用戶既能登錄內部服務器上運行的專用Web應用,也能登錄托管在SaaS上的ERP(企業資源計劃)系統。

想要發揮SSO的功用,用戶必須要能經過身份驗證就收到授權。基于其被證實的身份,訪問其他多臺計算機。或者以另一種方式:1臺計算機向在其他多臺計算機上被授權的用戶提供服務。SAML標準定義了所有這些計算機之間相互安全通信的方式。

SAML提供者是什么?

SAML術語中,提供者是系統中的一個實體,通常來講就是一臺服務器或其他計算機,幫助用戶訪問所需的服務。提供或消費SAML服務的系統,一般被稱為服務提供者;最重要的一種服務提供者,就是身份提供者。

身份提供者是什么?

身份提供者是系統中的一個實體,用于確保用戶真的是其所聲稱的身份——提供身份驗證。身份提供者還負責確認系統中各實體上哪些服務可以被該用戶訪問。可按SAML標準提供身份驗證服務的實現有很多種,比如Salesforce就能充當身份提供者和這一角色,LDAP、RADIUS或活動目錄(AD)也可以。

SAML聲明是什么?

SAML聲明就是一份XML文檔,所有我們討論的信息都通過它在計算機間傳遞。一旦身份提供者確認你確實是所聲稱的用戶,且有權訪問你感興趣的內容或服務,它就會向實際提供這些服務的服務器發出SAML聲明。出于安全考慮,SAML聲明可被加密。

SAML身份驗證如何進行

這看起來可能有點抽象,不妨看看下面這張SAML身份驗證事務處理的高級視圖。大多數情況下用戶代理都是Web瀏覽器。

假設你是SSO環境中的用戶,你正試圖訪問服務器上的某資源。所涉及的一系列事件如下:

1. 你試圖訪問服務器上的資源,也就是SAML術語中的服務提供者。該服務提供者查驗你是否是系統中經驗證過的用戶。如果你是,直接跳轉到步驟7;如果你不是,服務提供者開始身份驗證過程。

2. 服務提供者為你確定恰當的身份提供者,并將你重定向到該提供者——也就是SSO服務。

3. 你的瀏覽器向SSO服務發送身份驗證請求;該服務對你進行識別。

4. SSO服務返回一個XHTML文檔,在SAMLResponse參數中包含有服務提供者所需的身份驗證信息。

5. SAMLResponse參數被傳遞給服務提供者。

6. 服務提供者處理該響應,并為你創建安全上下文——基本上,就是讓你登錄進去,然后告訴你你請求的資源在哪里。

7. 有了該信息,你就可以再次請求你感興趣的資源了。

8. 該資源最終被返回給你!

你會注意到,該過程中很多步驟很抽象。比如說,SAML是怎么知道恰當的身份提供者的,或者身份提供者是如何確定你就是你所聲稱的用戶的,這些都沒有任何解釋。這不是什么疏漏:SAML標準并沒有定義確切的實現方法,給IT留有很多余地。

正如前文所述,有很多技術可供實際身份驗證過程所用;無論你選擇的是Salesforce、LDAP還是別的什么,SAML聲明都會將你經過驗證的信息在提供者間流轉。

如果你想了解更多有關SAML事務中消息傳遞的細節,你可以深入研究完整XML代碼,了解上述場景中從身份提供者傳遞給服務提供者的各種聲明。

SAML vs. OAuth:其間區別是什么?

OAuth(https://oauth.net/)是比SAML略新的標準,由谷歌和推特在2006年聯合開發。該標準被開發的部分原因,是為了補充SAML在移動平臺上的不足,且不是基于XML,而是基于JSON。

除了SAML不那么吸引人的移動支持,這二者之間的區別在哪里呢?如我們所見,SAML標準定義了提供者提供身份驗證和授權服務的方式。OAuth則不然,僅處理授權。

OpenID Connect(http://openid.net/connect/)是更新的標準,于2014年開發,提供身份驗證服務,處于OAuth上層。

另一個主要的不同,就是其用例。SAML理論上用于開放互聯網,實際上最常部署在企業內網,出于單點登錄目的。相比之下,OAuth則是谷歌和推特為了整個互聯網而設計的。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 青海省| 麻城市| 津南区| 淳化县| 阿合奇县| 伊吾县| 宁波市| 绿春县| 丰台区| 九龙城区| 安国市| 肇东市| 乌兰浩特市| 方山县| 忻城县| 黄浦区| 会同县| 山西省| 奉新县| 内黄县| 隆化县| 遵化市| 广宗县| 浦城县| 波密县| 泌阳县| 文登市| 齐齐哈尔市| 汨罗市| 绥中县| 耿马| 汝城县| 辽中县| 延长县| 修武县| 永仁县| 平罗县| 宝山区| 彭泽县| 双桥区| 柞水县|