全部產品
Search
文件中心

Resource Access Management:單點登入(SSO)常見問題

更新時間:Feb 05, 2024

本文為您介紹RAM中單點登入(SSO)相關的一些常見問題。

如何在瀏覽器中查看SAML響應?

當您在單點登入過程中遇到問題時,您可以在Google Chrome瀏覽器中,查看SAML響應,方便定位問題。不同瀏覽器版本的操作可能略有差異,如下以Google Chrome 108.0.5359.125(64位)為例,為您介紹具體的操作步驟。

  1. F12,開啟開發人員工具控制台。

  2. 單擊Network頁簽,然後選中Preserve log

  3. 重現問題。

  4. Network的日誌資料中,尋找sso。選擇目標資料,單擊Payload頁簽,查看SAML響應。

使用者SSO時,報錯“該使用者不存在”,怎麼辦?

問題原因

解決方案

阿里雲需要通過UPN(User Principal Name)來定位一個RAM使用者,所以要求企業IdP產生的SAML響應包含使用者的UPN,其中UPN尾碼可以是域別名、輔助網域名稱或預設網域名稱。如果企業IdP中的使用者名稱尾碼與RAM使用者的UPN尾碼不一致,就會匹配失敗。更多資訊,請參見使用者SSO的SAML響應中的NameID元素NameID樣本

設定輔助網域名稱,使RAM使用者的UPN尾碼與企業IdP中的一致。具體操作,請參見進行使用者SSO時阿里雲SP的SAML配置

在RAM中沒有建立RAM使用者,或建立的RAM使用者名稱與IdP中的使用者名稱不一致。

  • 修改RAM使用者名稱,使其與IdP中的使用者名稱保持一致。

  • 因RAM使用者名稱存在字元限制,只能包含英文字母、數字和特殊字元-_.,最多64個字元,所以IdP中的使用者名稱需要遵從RAM的這個字元限制。如果不滿足,請嘗試以下方法:

    • 修改IdP中的使用者名稱,使其符合RAM的字元要求。

    • 修改IdP單點登入配置中唯一標識使用者的欄位。您可以選擇E-mail等其他能唯一標識使用者且不帶有特殊字元的欄位。

    • 在IdP單點登入配置中設定使用者名稱對應的轉換規則。

SCIM使用者同步沒有成功。

查詢IdP中SCIM同步處理記錄,尋找同步失敗的原因做對應處理。

同一個使用者,IdP中的UPN和同步到RAM中的UPN不一致。可能的情況:

  • SCIM同步時選擇同步到RAM的使用者名稱使用的不是UPN。

  • SCIM同步配置了使用者名稱對應的轉換規則。

在IdP單點登入配置中設定的使用者名稱對應轉換規則與SCIM同步中的配置的保持一致。

SAML響應中的Conditions包含的Audience元素的取值錯誤,尤其是其中的accountId錯誤。

在SAML響應中,找到Conditions中的AudienceRestriction元素,確認其包含Audience元素,且Audience取值為 https://signin-intl.aliyun.com/${accountId}/saml/SSO${accountId}為阿里雲帳號ID。

部分IdP有單獨的Audience URL配置項,請確認配置正確。

角色SSO時,報錯“NoPermission.NotTrusted”,怎麼辦?

問題原因

解決方案

在SAML響應的AttributeStatement元素中,尋找Attribute Namehttps://www.aliyun.com/SAML-Role/Attributes/Role的屬性值,該屬性值為實際請求扮演的RAM角色名稱和身份供應商名稱的拼接值。如果該RAM角色名稱和身份供應商名稱在阿里雲上實際不存在,或該RAM角色的信任策略中配置的身份供應商與實際屬性值中的身份供應商不一致時會報該錯誤。更多資訊,請參見角色SSO的SAML響應

角色SSO時,報錯“屬性錯誤Role”,怎麼辦?

問題原因

解決方案

企業IdP中Name屬性值為https://www.aliyun.com/SAML-Role/Attributes/RoleAttribute元素未配置或者配置不正確。

在企業IdP中修改Attribute的配置。更多資訊,請參見角色SSO的SAML響應

角色SSO時,報錯“InvalidParameter.RoleSessionName”,怎麼辦?

問題原因

解決方案

企業IdP中Name屬性值為https://www.aliyun.com/SAML-Role/Attributes/RoleSessionNameAttribute元素配置不正確。

在企業IdP中檢查並修改Attribute元素配置。首先,檢查內容是否正確。其次,檢查Attribute取值格式是否正確,格式要求:長度不少於2個字元且不超過64個字元,只能包含英文字母、數字和特殊字元-_.@=。更多資訊 ,請參見角色SSO的SAML響應

當前登入的使用者在IdP側缺少RoleSessionName對應的屬性值。例如:IdP中指定Email為RoleSessionName,但登入使用者在IdP沒有錄入Email資訊。

確認IdP中指定RoleSessionName對應的屬性,設定登入使用者的屬性值。

SSO登入時,報錯“The assertion signature is invalid” 和“The assertion signature is invalid 或 Sigin token到期”,怎麼辦?

問題原因

解決方案

企業IdP中使用的簽名公私密金鑰對發生了輪轉,但未更新在阿里雲中配置的IdP中繼資料。

更新在阿里雲中配置的IdP中繼資料。您可以從企業IdP下載最新的中繼資料檔案,重新上傳到阿里雲中。

企業IdP中使用的簽名公私密金鑰對發生了輪轉,且更新了在阿里雲中配置的IdP中繼資料。但IdP在輪轉期間可能仍在使用舊的私密金鑰,而阿里雲中配置的中繼資料只包含新的公開金鑰。

在阿里雲中配置的IdP中繼資料應該同時包含新舊公開金鑰。配置包含兩個公開金鑰的中繼資料方法如下:

  • 建立新的認證(不要禁用或刪除舊認證)。

  • 下載新的中繼資料檔案,確認中繼資料檔案中是否包含新舊認證公開金鑰。

    • 部分IdP(例如:Azure AD)的中繼資料檔案自動包含新舊認證。

    • 如果中繼資料檔案未包含新舊認證公開金鑰,需要手動修改中繼資料檔案添加認證。在RAM的SSO配置中下載舊的中繼資料檔案,在中繼資料檔案中的KeyDescriptor部分,複製X509Certificate原認證資訊,粘貼到新的中繼資料檔案中相同位置,然後儲存。

    • RAM的SSO配置中上傳新的中繼資料檔案。

    • 在IdP單點登入配置中啟用新的認證,禁用老的認證。

中繼資料檔案較大導致上傳沒有成功。

請在上傳檔案後稍等片刻,直至上傳完成。完成後,下載中繼資料檔案檢查上傳內容是否完整。

自建IdP的metadata參數缺失或參數不正確,怎麼辦?

問題原因

解決方案

metadata參數未按SAML 2.0協議配置。

參照SAML 2.0協議正確配置參數。更多資訊,請參見SAML 2.0