疑難排解 Microsoft Entra 無縫單一登入

本文可協助您尋找有關 Microsoft Entra 無縫單一登錄 (無縫 SSO) 常見問題的疑難解答資訊。

已知問題

  • 在少數情況下,啟用無縫 SSO 最多可能需要 30 分鐘的時間。
  • 如果您在租使用者上停用並重新啟用無縫 SSO,使用者將無法取得單一登錄體驗,直到快取的 Kerberos 票證,通常有效期為 10 小時,已過期。
  • 如果無縫 SSO 成功,用戶就沒有機會選取 [讓我保持登入]。
  • Microsoft 365 Win32 用戶端(Outlook、Word、Excel 和其他版本)使用非互動式流程支援 16.0.8730.xxxx 版和更新版本。 不支援其他版本;在這些版本上,用戶會輸入其用戶名稱,但不會輸入密碼來登入。 針對 OneDrive,您必須啟用 OneDrive 無訊息設定功能 ,以取得無訊息登錄體驗。
  • 在 Firefox 的私用瀏覽模式中,無法使用無縫 SSO。
  • Internet Explorer 在開啟「增強保護」模式時也無法使用無縫 SSO。
  • 不再支援 Microsoft Edge (舊版)
  • iOS 和 Android 上的行動瀏覽器無法使用無縫 SSO。
  • 如果使用者是 Active Directory 中太多群組的一部分,使用者的 Kerberos 票證可能會太大而無法處理,這會導致無縫 SSO 失敗。 Microsoft Entra HTTPS 要求可以有標頭,大小上限為 50 KB;Kerberos 票證必須小於該限制,才能容納其他 Microsoft Entra 成品(通常為 2 - 5 KB),例如 Cookie。 我們建議減少使用者的群組成員資格,然後再試一次。
  • 如果您要同步處理 30 個以上的 Active Directory 樹系,則無法透過 Microsoft Entra 連線 啟用無縫 SSO。 因應措施是,您可以 手動在您的租用戶上啟用 此功能。
  • 將 Microsoft Entra 服務 URL (https://autologon.microsoftazuread-sso.com) 新增至 [信任的網站] 區域,而不是 [近端內部網路] 區域 會封鎖使用者登入
  • 無縫 SSO 支援 Kerberos 的AES256_HMAC_SHA1、AES128_HMAC_SHA1和RC4_HMAC_MD5加密類型。 建議將 AzureADSSOAcc$ 帳戶的加密類型設定為 AES256_HMAC_SHA1,或其中一個 AES 類型與 RC4,以取得額外的安全性。 加密類型會儲存在Active Directory 中帳戶的 msDS-SupportedEncryptionTypes 屬性上。 如果 AzureADSSOAcc$ 帳戶加密類型設定為 RC4_HMAC_MD5,而且您想要將它變更為其中一種 AES 加密類型,請確定您先變換 AzureADSSOAcc$ 帳戶的 Kerberos 解密金鑰,如相關問題常見問題檔中所述,否則不會發生無縫 SSO。
  • 如果您有一個以上的樹系具有樹系信任,請在其中一個樹系中啟用 SSO,將會在所有受信任的樹系中啟用 SSO。 如果您在已啟用 SSO 的樹系中啟用 SSO,您將會收到錯誤,指出已在樹系中啟用 SSO。
  • 啟用無縫 SSO 的原則具有 25600 個字元的限制。 此限制適用於原則中包含的所有專案,包括您想要啟用無縫 SSO 的樹系名稱。 如果您的環境中有大量樹系,您可能會達到 char 限制。 如果您的樹系之間有信任,就足以在一個樹系上啟用無縫 SSO。 例如,如果您有 contoso.com 和 fabrikam.com,而且兩者之間有信任,則只能在 contoso.com 上啟用無縫 SSO,而且也適用於 fabrikam.com。 如此一來,您可以減少原則中啟用的樹係數目,並避免達到原則字元限制。

檢查功能的狀態

確認您租用戶端的無縫 SSO 功能仍為 [已啟用]。 您可以移至 [Microsoft Entra 系統管理中心][https://portal.azure.com/Microsoft Entra 系統管理中心][] 中的 [身分識別>混合式管理>Microsoft Entra 連線> 連線 [同步處理] 窗格來檢查狀態。

Microsoft Entra 系統管理中心的螢幕快照:Microsoft Entra 連線 窗格。

一路按一下來查看已針對「無縫 SSO」啟用的所有 AD 樹系。

Microsoft Entra 系統管理中心的螢幕快照:無縫 SSO 窗格。

Microsoft Entra 系統管理中心登入失敗原因(需要 進階版 授權)

如果您的租使用者有與其相關聯的 Microsoft Entra ID P1 或 P2 授權,您也可以在 Microsoft Entra 系統管理中心的 Microsoft Entra 識別符內查看登入活動報告

Microsoft Entra 系統管理中心的螢幕快照:登入報告。

流覽至 [Microsoft Entra 系統管理中心] 中的 [身分識別>監視與健康情況>登入](https://portal.azure.com/),然後選取特定使用者的登入活動。 尋找 [登入錯誤碼] 欄位。 使用下表,將該欄位的值對應至失敗原因和解決方式:

登入錯誤碼 登入失敗原因 解決方法
81001 使用者的 Kerberos 票證太大。 降低使用者的群組成員資格,並再試一次。
81002 無法驗證使用者的 Kerberos 票證。 請參閱為檢查清單疑難排解
81003 無法驗證使用者的 Kerberos 票證。 請參閱為檢查清單疑難排解
81004 Kerberos 驗證嘗試失敗。 請參閱為檢查清單疑難排解
81008 無法驗證使用者的 Kerberos 票證。 請參閱為檢查清單疑難排解
81009 無法驗證使用者的 Kerberos 票證。 請參閱為檢查清單疑難排解
81010 無縫式 SSO 失敗,因為使用者的 Kerberos 票證已過期或無效。 使用者需要從您公司網路內部已加入網域的裝置登入。
81011 無法根據使用者 Kerberos 票證中的資訊找到使用者物件。 使用 Microsoft Entra 連線,將使用者的資訊同步處理至 Microsoft Entra ID。
81012 嘗試登入 Microsoft Entra ID 的使用者與登入裝置的使用者不同。 使用者需要從不同的裝置登入。
81013 無法根據使用者 Kerberos 票證中的資訊找到使用者物件。 使用 Microsoft Entra 連線,將使用者的資訊同步處理至 Microsoft Entra ID。

疑難排解檢查清單

使用下列檢查清單來針對無縫 SSO 問題進行疑難解答:

  • 確定已在 Microsoft Entra 連線 中啟用無縫 SSO 功能。 如果您無法啟用此功能 (例如,因為連接埠已封鎖),請確定您已完成所有必要條件
  • 如果您已在租用戶上同時啟用 Microsoft Entra Join 和無縫 SSO,請確定問題與 Microsoft Entra join 不一樣。 如果裝置既已向 Microsoft Entra ID 註冊也加入網域,則來自 Microsoft Entra 加入的 SSO 優先順序會高於無縫 SSO。 使用來自「Microsoft Entra 加入」的 SSO 時,使用者會看到指出「已連線到 Windows」的登入圖格。
  • 確定 Microsoft Entra URL (https://autologon.microsoftazuread-sso.com) 是使用者內部網路區域設定的一部分。
  • 確定公司裝置已加入 Active Directory 網域。 裝置不需要加入 Microsoft Entra,無縫 SSO 即可運作。
  • 確定使用者已透過 Active Directory 網域帳戶登入裝置。
  • 確定使用者帳戶是來自已設定無縫 SSO 的 Active Directory 樹系。
  • 確定裝置已連線到公司網路。
  • 確定裝置的時間已經與 Active Directory 和網域控制站的時間同步,且彼此的時間差不到五分鐘。
  • 請確認在您想要啟用無縫 SSO 的每個 AD 樹系中,AZUREADSSOACC 電腦帳戶存在且已啟用。 如果計算機帳戶已刪除或遺失,您可以使用 PowerShell Cmdlet 重新建立它們。
  • 從命令提示字元使用 klist 命令,列出裝置上現有的 Kerberos 票證。 確認是否有核發給 AZUREADSSOACC 電腦帳戶的票證。 使用者的 Kerberos 票證有效期通常為 10 個小時。 您的 Active Directory 可能有不同的設定。
  • 如果您在租使用者上停用並重新啟用無縫 SSO,則除非快取的 Kerberos 票證已過期,否則使用者將無法取得單一登錄體驗。
  • 使用 klist purge 命令從裝置清除現有的 Kerberos 票證,然後再試一次。
  • 若要判斷是否有 JavaScript 相關問題,請檢閱瀏覽器的主控台記錄 (在 [開發人員工具] 底下)。
  • 檢閱網域控制站記錄

域控制器記錄

如果您在域控制器上啟用成功稽核,則每次使用者透過無縫 SSO 登入時,都會在事件記錄檔中記錄安全性專案。 您可以使用下列查詢來尋找這些安全性事件。 (尋找與計算機帳戶 AzureADSSOAcc$相關聯的事件 4769

  <QueryList>
    <Query Id="0" Path="Security">
      <Select Path="Security">*[EventData[Data[@Name='ServiceName'] and (Data='AZUREADSSOACC$')]]</Select>
    </Query>
  </QueryList>

手動重設功能

如果疑難解答沒有説明,您可以手動重設租使用者上的功能。 請遵循您在內部部署伺服器上執行 Microsoft Entra 連線 中的這些步驟。

步驟 1:匯入無縫 SSO PowerShell 模組

  1. 首先,下載並安裝 Azure AD PowerShell
  2. 瀏覽至 %programfiles%\Microsoft Azure Active Directory Connect 資料夾。
  3. 使用此命令匯入無縫 SSO PowerShell 模組: Import-Module .\AzureADSSO.psd1

步驟 2:取得已啟用無縫 SSO 的 Active Directory 樹系列表

  1. 以系統管理員身分執行 PowerShell。 在 PowerShell 中,呼叫 New-AzureADSSOAuthenticationContext。 出現提示時,請輸入租使用者的混合式身分識別 管理員 istrator 或混合式身分識別系統管理員認證。
  2. 呼叫 Get-AzureADSSOStatus。 此命令提供 Active Directory 樹系列表(查看已啟用此功能的「網域」清單。

步驟 3:針對您已設定此功能的每個 Active Directory 樹系停用無縫 SSO

  1. 呼叫 $creds = Get-Credential。 出現提示時,請輸入預定 Active Directory 樹系的網域系統管理員認證。

    注意

    網域系統管理員認證使用者名稱必須以 SAM 帳戶名稱格式輸入(contoso\johndoe 或 contoso.com\johndoe)。 我們會利用使用者名稱的網域部分,使用 DNS 來尋找網域系統管理員的網域控制站。

    注意

    使用的網域系統管理員帳戶不得是受保護使用者群組的成員。 若是如此,作業會失敗。

  2. 呼叫 Disable-AzureADSSOForest -OnPremCredentials $creds。 此命令會 AZUREADSSOACC 從這個特定 Active Directory 樹系的內部部署域控制器中移除電腦帳戶。

    注意

    如果基於任何原因而無法存取內部部署 AD,您可以略過 步驟 3.13.2 ,改為呼叫 Disable-AzureADSSOForest -DomainFqdn <Domain name from the output list in step 2>

  3. 針對您已設定此功能的每個 Active Directory 樹系重複上述步驟。

步驟 4:為每個 Active Directory 樹系啟用無縫 SSO

  1. 呼叫 Enable-AzureADSSOForest。 出現提示時,請輸入預定 Active Directory 樹系的網域系統管理員認證。

    注意

    網域系統管理員認證使用者名稱必須以 SAM 帳戶名稱格式輸入(contoso\johndoe 或 contoso.com\johndoe)。 我們會利用使用者名稱的網域部分,使用 DNS 來尋找網域系統管理員的網域控制站。

    注意

    使用的網域系統管理員帳戶不得是受保護使用者群組的成員。 若是如此,作業會失敗。

  2. 針對您想要設定此功能的每個 Active Directory 樹系重複上述步驟。

步驟 5:在您的租用戶上啟用此功能

若要開啟租使用者上的功能,請呼叫 Enable-AzureADSSO -Enable $true