疑難排解 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 連線> 連線 [同步處理] 窗格來檢查狀態。
一路按一下來查看已針對「無縫 SSO」啟用的所有 AD 樹系。
Microsoft Entra 系統管理中心的登入失敗原因(需要 進階版 授權)
如果您的租使用者有與其相關聯的 Microsoft Entra ID P1 或 P2 授權,您也可以在 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 模組
- 首先,下載並安裝 Azure AD PowerShell。
- 瀏覽至
%programfiles%\Microsoft Azure Active Directory Connect
資料夾。 - 使用此命令匯入無縫 SSO PowerShell 模組:
Import-Module .\AzureADSSO.psd1
。
步驟 2:取得已啟用無縫 SSO 的 Active Directory 樹系列表
- 以系統管理員身分執行 PowerShell。 在 PowerShell 中,呼叫
New-AzureADSSOAuthenticationContext
。 出現提示時,請輸入租使用者的混合式身分識別 管理員 istrator 或混合式身分識別系統管理員認證。 - 呼叫
Get-AzureADSSOStatus
。 此命令提供 Active Directory 樹系列表(查看已啟用此功能的「網域」清單。
步驟 3:針對您已設定此功能的每個 Active Directory 樹系停用無縫 SSO
呼叫
$creds = Get-Credential
。 出現提示時,請輸入預定 Active Directory 樹系的網域系統管理員認證。注意
網域系統管理員認證使用者名稱必須以 SAM 帳戶名稱格式輸入(contoso\johndoe 或 contoso.com\johndoe)。 我們會利用使用者名稱的網域部分,使用 DNS 來尋找網域系統管理員的網域控制站。
注意
使用的網域系統管理員帳戶不得是受保護使用者群組的成員。 若是如此,作業會失敗。
呼叫
Disable-AzureADSSOForest -OnPremCredentials $creds
。 此命令會AZUREADSSOACC
從這個特定 Active Directory 樹系的內部部署域控制器中移除電腦帳戶。注意
如果基於任何原因而無法存取內部部署 AD,您可以略過 步驟 3.1 和 3.2 ,改為呼叫
Disable-AzureADSSOForest -DomainFqdn <Domain name from the output list in step 2>
。針對您已設定此功能的每個 Active Directory 樹系重複上述步驟。
步驟 4:為每個 Active Directory 樹系啟用無縫 SSO
呼叫
Enable-AzureADSSOForest
。 出現提示時,請輸入預定 Active Directory 樹系的網域系統管理員認證。注意
網域系統管理員認證使用者名稱必須以 SAM 帳戶名稱格式輸入(contoso\johndoe 或 contoso.com\johndoe)。 我們會利用使用者名稱的網域部分,使用 DNS 來尋找網域系統管理員的網域控制站。
注意
使用的網域系統管理員帳戶不得是受保護使用者群組的成員。 若是如此,作業會失敗。
針對您想要設定此功能的每個 Active Directory 樹系重複上述步驟。
步驟 5:在您的租用戶上啟用此功能
若要開啟租使用者上的功能,請呼叫 Enable-AzureADSSO -Enable $true
。