>
> – 身份驗證:判斷用戶是否與其所述身份相符
> – 授權:將用戶授權傳遞給應用,以訪問特定系統或內容

SAML 有何用途?

SAML 有助于增強企業的安全性,并簡化員工、合作伙伴和客戶的登錄過程。組織用它來實現 單點登錄, 這使用戶能夠使用一個用戶名加密碼訪問多個站點、服務和應用。減少用戶必須記住的密碼數量不僅對用戶來說更容易操作,而且還能降低其中一個密碼被盜的風險。組織也可在其已啟用 SAML 的應用中設置 身份驗證 的安全標準。例如,他們可要求用戶先進行 多重身份驗證 才能訪問本地網絡和應用(例如 Salesforce、Concur 和 Adobe)。

SAML 可幫助組織處理以下用 例:

統一標識和訪問管理:通過在一個系統中管理身份驗證和授權,IT 團隊可大大縮短他們在用戶預配和標識權利方面耗費的時間。

啟用零信任: 零信任安全策略要求組織驗證每個訪問請求,并僅限需要敏感信息的用戶訪問這些信息。技術團隊可使用 SAML 為其所有應用設置策略,例如多重身份驗證和條件訪問。當用戶的行為、設備或位置導致用戶風險增大時,他們還可實施更嚴格的安全措施,例如強制要求密碼重置。

豐富員工體驗:除了簡化員工訪問,IT 團隊還可在登錄頁面上標注品牌,跨應用創建一致的體驗。員工也可通過自助服務體驗輕松重置密碼,從而節省時間。

SAML 的工作原理

SAML 在身份提供方與 SP 之間傳遞用戶、登錄名和屬性的相關信息。每一個用戶對 IdP 進行一次身份驗證后,便可將其身份驗證會話無縫擴展至潛在的眾多應用。當用戶嘗試訪問這些服務時,IdP 會將所謂的 SAML 斷言傳遞給 SP。SP 會根據身份來請求授權和身份驗證。

SAML 示例:

  1. 登錄并訪問 SSO 身份驗證。
  2. 從身份提供方導出元數據并導入。
  3. 身份系統將了解有關 SSO 身份提供方的更多信息,以便于從身份系統導出元數據。
  4. 將元數據提供給您的 SSO 身份提供方團隊。
  5. 測試并啟用 SSO。
  6. 建議用戶僅使用自己的 SSO 憑證進行登錄。

什么是 SAML 斷言?

SAML 斷言是身份提供方發送給 SP 的 XML 文檔,內含用戶授權狀態。SAML 斷言有三種類型,即身份驗證、屬性和授權決策。

SAML 與OAuth

用戶使用 SAML 和 OAuth 可更輕松地訪問多個服務,無需單獨登錄每個服務,實現單點登錄體驗,但是這兩個協議使用不同的技術和過程。SAML 使用 XML 來讓用戶使用相同的憑據訪問多個服務,而 OAuth 使用 JWT 或 JavaScript 對象表示法來傳遞授權數據。

參考資料

Spring SAML
什么是SAML(微軟)?
什么是SAML(Oracle)?SAML和OAuth2這兩種SSO協議的區別

OpenSAML 使用引導,可參考下面的系列文章:

  1. OpenSAML 使用引導 I : 簡介
  2. OpenSAML 使用引導 II : Service Provider 的實現之AuthnRequest
  3. OpenSAML 使用引導 III: Service Provider 的實現之Artifact與斷言
  4. OpenSAMl 使用引導IV: 安全特性
一站搜索、試用、比較全球API!
冪簡集成已收錄 5484種API!
試用API,一次比較多個渠道