什麼是 SAML?| SAML 認證如何運作

SAML 是 SSO 提供者使用的一種技術標準,用於傳達使用者已通過驗證的訊息。

學習目標

閱讀本文後,您將能夠:

  • 定義安全性聲明標記語言 (SAML)
  • 瞭解 SAML 如何融入單一登入 (SSO) 工作流程
  • 說明什麼是 SAML 宣告

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是 SAML?

安全性聲明標記語言 (SAML) 是一種標準化方法,用於告訴外部應用程式和服務,使用者是他們所聲稱的身分用。SAML 提供了一種方法,對使用者進行一次驗證,然後可將該驗證傳達給多個應用程式,從而使單一登入 (SSO) 技術成為可能。SAML 的最新版本是 SAML 2.0。

將 SAML 驗證視為一張身分證:一種顯示某人身分的簡短、標準化方法。譬如,不必進行一系列的 DNA 測試來確認一個人的身分,只需看一眼這個人的身分證便可。

在運算和網路中,主要挑戰之一是讓由不同廠商為不同目的建置的系統和裝置協同工作。這被稱為「互通性」:不同機器無視其不同的技術規格彼此互動的能力。SAML 是一種可互通標準,提供一種廣泛接受的方式,將使用者身分傳達給雲端服務提供者。

什麼是單一登入 (SSO)?

單一登入 (SSO) 是一種讓使用者一次性針對多個應用程式和服務進行驗證的方法。使用 SSO,使用者只需在單個登入螢幕上登入,然後就可以使用多個應用程式。使用者不需要向他們使用的每項服務確認他們的身分。

為此,SSO 系統必須與每個外部應用程式通訊,告訴他們使用者已登入——這就是 SAML 發揮作用的地方。

SAML 如何運作?

典型的 SSO 驗證過程涉及以下三方:

  • 主體
  • 身分識別提供者
  • 服務提供者

主體:這幾乎總是嘗試存取雲端託管應用程式的人類使用者。

識別提供者:識別提供者 (IdP) 是一種雲端軟體服務,通常透過登入過程儲存和確認使用者身分。從本質上講,IdP 的角色就是表明,「我認識這個人,這是他們被允許做的事情。」SSO 系統實際上可能獨立於 IdP,但在這些情況下,SSO 實質上充當 IdP 的代表,因此它們在 SAML 工作流程中的所有意圖和目的都是相同的。

服務提供者:這是使用者想要使用的雲端託管應用程式或服務。常見範例包括 Gmail 和 Microsoft Office 365 等雲端電子郵件平台、Google Drive 和 AWS S3 等雲端儲存服務以及 Slack 和 Skype 等通訊應用程式。通常,使用者只會直接登入到這些服務,但是在使用 SSO 時,使用者會改為登入到 SSO,並且使用 SAML 來授予他們存取權限,而不是直接登入。

典型的流程可能如下所示:

主體向服務提供者發出請求。然後,服務提供者請求識別提供者進行驗證。識別提供者向服務提供者傳送 SAML 宣告,然後服務提供者可以向主體傳送回應。

如果主體(使用者)尚未登入,則識別提供者可能會傳送 SAML 宣告之前提示他們登入。

什麼是 SAML 宣告?

SAML 宣告是告知服務提供者使用者已登入的訊息。SAML 宣告包含服務提供者確認使用者身分所需的所有資訊,包括宣告的來源、發出時間以及使宣告有效的條件。

將 SAML 宣告視為求職者的推薦信內容:提供推薦信的人說明他們與求職者合作的時間和時長、他們的角色是什麼以及他們對求職者的看法。基於此參考,公司可以決定是否僱用求職者,就像 SaaS 應用程式或雲端服務可以根據 SAML 宣告允許或拒絕使用者存取一樣。

什麼是 SAML 2.0?

SAML 2.0 是 SAML 的現代版本,自 2005 年以來一直在使用。SAML 2.0 結合了以前使用的多個 SAML 版本。許多系統支援早期版本(如 SAML 1.1)以實現向後相容性,但 SAML 2.0 是現代標準。

SAML 驗證與使用者授權是一回事嗎?

SAML 是一種用於使用者驗證而非使用者授權的技術,這是一個關鍵的區別。使用者授權是身分識別與存取管理的一個單獨領域。

驗證是指使用者的身分:他們是誰以及他們的身分是否已通過登入過程確認。

授權是指使用者的特權或權限:具體而言,是允許他們在公司系統中執行的動作。

可以這樣來思考驗證和授權之間的區別:假設 Alice 要參加音樂節。在入口處,她出示門票和另外一種身份證明,以證實她有權持有該門票。這樣做後,她被允許參加音樂節。她已經通過了驗證。

然而,Alice 進入音樂節並不意味著她可以去任何地方做任何她想做的事情。她可以觀看音樂節表演,但她不能上台表演,也不能去後台與表演者互動——因為她沒有被授權這樣做。如果她購買了後台通行證,或者如果她除了是出席者之外還是表演者,她將獲得更多的授權。

存取管理技術處理使用者授權。存取管理平台使用幾種不同的授權標準(其中之一是 OAuth),但 SAML 並不是其中之一。

Cloudflare Zero Trust 是一種存取管理解決方案。Cloudflare 使公司能夠在不使用虛擬私人網路 (VPN) 的情況下管理使用者對內部資源和資料的存取。它可以輕鬆地與 SSO 提供者整合,以提供使用者授權和使用者驗證。

詳細瞭解 SSO。