單一登入疑難排解
設定或使用單一登入 (SSO) 時,您可能會遇到源自您的身分識別提供者 (IdP) 或 Docker 設定的問題。以下章節說明如何在 Docker 管理主控台中檢視錯誤訊息,以及一些常見錯誤和可能的解決方案。您也可以參閱您的身分識別提供者文件,瞭解您是否可以在其服務中檢視錯誤日誌。
檢視 SSO 和 SCIM 錯誤日誌
登入 管理主控台。
在左側導覽下拉式選單中選取您的組織或公司,然後選取**SSO 和 SCIM**。
**注意**
當組織屬於公司的一部分時,您必須選取公司並在公司層級檢視該組織的 SSO 連線。
在 SSO 連線表格中,選取**動作**圖示和**檢視錯誤日誌**。**連線錯誤**頁面會顯示過去 7 天發生的錯誤清單。
在**連線錯誤**頁面中,選取錯誤訊息旁的**檢視錯誤詳細資訊**以取得更多詳細資訊。系統會顯示一個包含更多詳細資訊的 JSON 物件模態。
常見 SSO 錯誤和解決方案
檢視 SSO 和 SCIM 錯誤日誌,然後使用以下章節瞭解常見設定錯誤的解決方案。
連線未啟用 IdP 起始的登入
此問題的錯誤日誌中會顯示類似以下的錯誤訊息。
IdP-Initiated sign in is not enabled for connection '$ssoConnection'.
Docker 不支援由身分識別提供者 (IdP) 起始的 SAML 流程。當使用者嘗試從 IdP 進行驗證時,例如使用儀表板上的 Docker SSO 應用程式圖示,就會發生此錯誤。
可能的解決方案
- 使用者必須從 Docker 應用程式(Hub、Desktop 等)起始驗證。使用者需要輸入他們的電子郵件地址,然後他們將被重新導向到為其網域配置的 SSO IdP。
- (選用)將 Docker SSO 應用程式設定為在您的 IdP 上對使用者不可見,這樣使用者就不會嘗試從那裡開始驗證。
組織中的席位不足
此問題的錯誤日誌中會顯示類似以下的錯誤訊息。
Not enough seats in organization '$orgName'. Add more seats or contact your administrator.
當嘗試透過 SSO 即時佈建或 SCIM 將使用者佈建到組織中,但組織沒有可用的席位供使用者使用時,就會發生此錯誤。
可能的解決方案
網域未經驗證 SSO 連線
此問題的錯誤日誌中會顯示類似以下的錯誤訊息。
Domain '$emailDomain' is not verified for your SSO connection. Contact your company administrator. TraceID: XXXXXXXXXXXXXX
如果 IdP 透過 SSO 驗證使用者,但傳回 Docker 的使用者主體名稱 (UPN) 與 Docker 中配置的 SSO 連線關聯的任何已驗證網域都不相符,就會發生此錯誤。
可能的解決方案
- 請確認 IdP SSO 連線在斷言屬性(屬性映射)中傳回了正確的 UPN 值。
- 新增並驗證您的 IdP 用作 UPN 的所有網域和子網域,並將它們與您的 Docker SSO 連線關聯。更多詳情,請參閱設定單一登入。
找不到工作階段
此問題的錯誤日誌中會顯示類似以下的錯誤訊息。
We couldn't find your session. You may have pressed the back button, refreshed the page, opened too many sign-in dialogs, or there is some issue with cookies. Try signing in again. If the issue persists, contact your administrator.
此錯誤通常發生在驗證流程中,當使用者按下瀏覽器的返回或重新整理按鈕時。這會導致登入流程遺失初始驗證請求的追蹤,而這是完成所有驗證流程所必需的。
可能的解決方案
- 登入期間避免按下返回或重新整理按鈕。
- 關閉瀏覽器的分頁,並從應用程式(Docker Desktop、Hub 等)重新開始驗證流程。
使用者未指派給組織
此問題的錯誤日誌中會顯示類似以下的錯誤訊息。
User '$username' is not assigned to this SSO organization. Contact your administrator. TraceID: XXXXXXXXXXXXX
如果停用了 SSO 即時 (JIT) 佈建,則會發生此錯誤。JIT 佈建可確保使用者在透過 SSO 驗證後新增到組織中。可以選擇停用 JIT 佈建,以防止使用者自動佔用組織中的席位,或在 SCIM 作為使用者佈建的唯一選項時使用。
可能的解決方案
- 檢閱您的 SSO 連線設定,並啟用 JIT 佈建,以便在透過 SSO 驗證後將所有使用者新增到組織。更多詳情,請參閱即時佈建。
- 如果 JIT 佈建應保持停用狀態,則透過手動邀請使用者將其新增到組織中。下次使用者透過 SSO 驗證時,他們將被新增到組織中,因為他們已被邀請。更多詳情,請參閱管理組織成員。
- 如果 SCIM 應佈建使用者,請確保控制 SCIM 佈建的 IdP 已正確設定,以便在使用者被指派到應用程式後立即與 Docker 同步。更多詳情,請參閱您的身分識別提供者文件。
名稱 ID 不是電子郵件地址
此問題的錯誤日誌中會顯示類似以下的錯誤訊息。
The name ID sent by the identity provider is not an email address. Contact your company administrator.
當您的 IdP 傳回不符合所需電子郵件地址格式的名稱 ID (UPN) 時,SAML 驗證期間可能會發生此錯誤。Docker SSO 應用程式要求名稱識別符號是使用者的主要電子郵件地址。
可能的解決方案
- 請確認名稱 ID 屬性格式為
EmailAddress
。