全部產品
Search
文件中心

Resource Access Management:SSO概覽

更新時間:Feb 05, 2024

阿里雲支援基於SAML 2.0和OIDC的SSO(Single Sign On,單點登入),也稱為身份同盟登入。本文為您介紹企業如何使用自有的身份系統實現與阿里雲的SSO。

SSO基本概念

概念

說明

身份供應商(IdP)

一個包含有關外部身份供應商中繼資料的RAM實體,身份供應商可以提供身份管理服務。

  • 企業本地IdP:Microsoft Active Directory Federation Service (AD FS)、Shibboleth等。

  • Cloud IdP:Azure AD、Google Workspace、Okta、OneLogin等。

服務提供者(SP)

利用IdP的身份管理功能,為使用者提供具體服務的應用,SP會使用IdP提供的使用者資訊。一些非SAML協議的身份系統(例如:OpenID Connect),也把服務提供者稱作IdP的信賴方。

安全性聲明標記語言(SAML 2.0)

實現企業級使用者身份認證的標準協議,它是SP和IdP之間實現溝通的技術實現方式之一。SAML 2.0已經是目前實現企業級SSO的一種事實標準。

SAML斷言(SAML assertion)

SAML協議中用來描述認證請求和認證響應的核心元素。例如:使用者的具體屬性就包含在認證響應的斷言裡。

信賴(Trust)

建立在SP和IdP之間的互信機制,通常由公開金鑰和私密金鑰來實現。SP通過可信的方式擷取IdP的SAML中繼資料,中繼資料中包含IdP簽發SAML斷言的簽名驗證公開金鑰,SP則使用公開金鑰來驗證斷言的完整性。

OIDC

OIDC(OpenID Connect)是建立在OAuth 2.0基礎上的一個認證協議。OAuth是授權協議,而OIDC在OAuth協議上構建了一層身份層,除了OAuth提供的授權能力,它還允許用戶端能夠驗證終端使用者的身份,以及通過OIDC協議的API(HTTP RESTful形式)擷取使用者的基本資料。

OIDC令牌

OIDC可以給應用簽發代表登入使用者的身份令牌,即OIDC令牌(OIDC Token)。OIDC令牌用於擷取登入使用者的基本資料。

用戶端ID

您的應用在外部IdP註冊的時候,會產生一個用戶端ID(Client ID)。當您從外部IdP申請簽發OIDC令牌時必須使用該用戶端ID,簽發出來的OIDC令牌也會通過aud欄位攜帶該用戶端ID。在建立OIDC身份供應商時配置該用戶端ID,然後在使用OIDC令牌換取STS Token時,阿里雲會校正OIDC令牌中aud欄位所攜帶的用戶端ID與OIDC身份供應商中配置的用戶端ID是否一致。只有一致時,才允許扮演角色。

驗證指紋

為了防止頒發者URL被惡意劫持或篡改,您需要配置外部IdP的HTTPS CA認證產生的驗證指紋。阿里雲會輔助您自動計算該驗證指紋,但是建議您在本地自己計算一次(例如:使用OpenSSL計算指紋),與阿里雲計算的指紋進行對比。如果對比發現不同,則說明該頒發者URL可能已經受到攻擊,請您務必再次確認,並填寫正確的指紋。

頒發者URL

頒發者URL由外部IdP提供,對應OIDC Token中的iss欄位值。頒發者URL必須以https開頭,符合標準URL格式,但不允許帶有query參數(以?標識)、fragment片段(以#標識)和登入資訊(以@標識)。

臨時身份憑證

STS(Security Token Service)是阿里雲提供的一種臨時存取權限管理服務,通過STS擷取可以自訂時效和存取權限的臨時身份憑證(STS Token)。

SSO方式

阿里雲提供以下兩種SSO方式:

  • 使用者SSO

    阿里雲通過IdP頒發的SAML斷言確定企業使用者與阿里雲RAM使用者的對應關係 。企業使用者登入後,使用該RAM使用者訪問阿里雲資源。更多資訊,請參見使用者SSO概覽

  • 角色SSO

    支援基於SAML 2.0和OIDC的兩種角色SSO:

    • SAML角色SSO:阿里雲通過IdP頒發的SAML斷言確定企業使用者在阿里雲上可以使用的RAM角色。企業使用者登入後,使用SAML斷言中指定的RAM角色訪問阿里雲資源。請參見SAML角色SSO概覽

    • OIDC角色SSO:企業使用者通過IdP簽發的OIDC令牌(OIDC Token),調用阿里雲API扮演指定角色並換取角色臨時身份憑證(STS Token),然後使用STS Token安全地訪問阿里雲資源。更多資訊,請參見OIDC角色SSO概覽

SSO方式比較

SSO方式

SP發起的SSO

IdP發起的SSO

使用RAM使用者帳號和密碼登入

一次性配置IdP關聯多個阿里雲帳號

多個IdP

使用者SSO

支援

支援

不支援

不支援

不支援

角色SSO

不支援

支援

支援

支援

支援

說明

關於使用者SSO與角色SSO的更多比較,請參見SSO方式的適用情境

SSO常見問題

單點登入(SSO)常見問題