Microsoft Entra 无缝单一登录:常见问题解答

本文解决了有关 Microsoft Entra 无缝单一登录(无缝 SSO)的常见问题。 请随时返回查看新内容。

无缝 SSO 使用的登录方法是什么

无缝 SSO 可与密码哈希同步传递身份验证登录方法结合使用。 但是,此功能不能用于 Active Directory 联合身份验证服务 (ADFS)。

无缝 SSO 是否为免费功能?

无缝 SSO 是一项免费功能,你不需要拥有任何付费版本的 Microsoft Entra ID 即可使用它。

能否在 Microsoft Azure 德国云和 Microsoft Azure 政府云中使用无缝 SSO?

无缝 SSO 可用于 Azure 政府云。 有关详细信息,请查看针对 Azure 政府的混合标识注意事项

哪些应用程序利用了无缝 SSO 的“domain_hint”或“login_hint”参数功能?

表包含一个列表,其中列出可将这些参数发送到 Microsoft Entra ID 的应用程序。 此操作使用无缝 SSO 为用户提供无提示登录体验。

应用程序名称 可供使用的应用程序 URL
访问面板 https://myapps.microsoft.com/contoso.com
Outlook 网页版 https://outlook.office365.com/contoso.com
Office 365 门户 https://portal.office.com?domain_hint=contoso.com、https://www.office.com?domain_hint=contoso.com

此外,如果应用程序向设置为租户的 Microsoft Entra 终结点(即https://login.microsoftonline.com/contoso.com/<..>或https://login.microsoftonline.com/<tenant_ID>/<..>)而不是 Microsoft Entra 的通用终结点(即https://login.microsoftonline.com/common/<...>)发送登录请求,则用户也可获得无提示登录体验。 表包含发出这些类型的登录请求的应用程序的列表。

应用程序名称 可供使用的应用程序 URL
SharePoint Online https://contoso.sharepoint.com
Microsoft Entra 管理中心 https://portal.azure.com/contoso.com

在上述表中,将“contoso.com”替换为域名,为租户获取正确的应用程序 URL。

如果希望其他应用程序具备无提示登录体验,请在反馈部分告知我们。

无缝 SSO 是否支持“备用 ID”(而不是“userPrincipalName”)作为用户名?

是的。 在 Microsoft Entra Connect 中进行配置时,无缝 SSO 支持将 Alternate ID 作为用户名,如此处所示。 并非所有 Microsoft 365 应用程序都支持 Alternate ID。 有关支持声明,请参阅特定应用程序文档。

Microsoft Entra 联接和无缝 SSO 提供的单一登录体验有何不同?

如果用户的设备注册了 Microsoft Entra,Microsoft Entra ID 加入会向用户提供 SSO。 这些设备不必已加入域。 使用主刷新令牌或 PRT(而非 Kerberos)提供 SSO。 用户体验在 Windows 10 设备上最佳。 在 Microsoft Edge 浏览器上,SSO 会自动实现。 也可在 Chrome 上实现,但需要使用浏览器扩展插件。

可在租户上使用 Microsoft Entra 联接和无缝 SSO。 这两种功能互补。 如果同时开启这两项功能,则来自 Microsoft Entra 联接的 SSO 优先于无缝 SSO。

我想要在 Microsoft Entra ID 中注册非 Windows 10 设备,但不使用 AD FS。 是否可以改为使用无缝 SSO?

可以,此方案需要版本 2.1 或更高版本的工作区加入客户端

如何滚动更新“AZUREADSSO”计算机帐户的 Kerberos 解密密钥?

请务必在本地 AD 林中频繁滚动更新 AZUREADSSO 计算机帐户(代表 Microsoft Entra ID)的 Kerberos 解密密钥。

重要

强烈建议至少每 30 天滚动更新一次 Kerberos 解密密钥。

在运行 Microsoft Entra Connect 的本地服务器上执行以下步骤:

注意

你需要同时具有域管理员和全局管理员/混合标识管理员凭据,才能执行这些步骤。 如果你不是域管理员,而是由域管理员分配了权限,则应调用 Update-AzureADSSOForest -OnPremCredentials $creds -PreserveCustomPermissionsOnDesktopSsoAccount

步骤 1。 获取已在其中启用了无缝 SSO 的 AD 林列表

  1. 首先,下载并安装 Azure AD PowerShell
  2. 导航到 $env:programfiles"\Microsoft Azure Active Directory Connect" 文件夹。
  3. 使用以下命令导入无缝 SSO PowerShell 模块:Import-Module .\AzureADSSO.psd1
  4. 以管理员身份运行 PowerShell。 在 PowerShell 中,调用 New-AzureADSSOAuthenticationContext。 此命令可提供一个弹出窗口,用以输入租户的全局管理员或混合标识管理员凭据。
  5. 调用 Get-AzureADSSOStatus | ConvertFrom-Json。 此命令可提供已在其中启用了此功能的 AD 林列表(请查看“域”列表)。

步骤 2。 在设置 Kerberos 解密密钥的每个 AD 林上更新此密钥

  1. 调用 $creds = Get-Credential。 出现提示时,输入目标 AD 林的域管理员凭据。

注意

必须以 SAM 帐户名称格式(contoso\johndoe 或 contoso.com\johndoe)输入域管理员凭据用户名。 我们使用用户名的域部分查找使用 DNS 的域管理员的域控制器。

注意

使用的域管理员帐户不得是受保护用户组的成员。 如果是,则操作将失败。

  1. 调用 Update-AzureADSSOForest -OnPremCredentials $creds。 此命令会在此特定 AD 林中更新 AZUREADSSO 计算机帐户的 Kerberos 解密密钥,并在 Microsoft Entra ID 中对其进行更新。

  2. 针对已设置了此功能的每个 AD 林重复上述步骤。

注意

如果要更新 Microsoft Entra Connect 林以外的林,请确保与全局编录服务器(TCP 3268 和 TCP 3269)的连接可用。

重要

以暂存模式运行 Microsoft Entra Connect 的服务器上无需完成此操作。 确保没有在每个林中运行 Update-AzureADSSOForest 命令超过一次。 否则,在用户的 Kerberos 票证过期并由本地 Active Directory 再次发布之前,此功能将停止运行。

如何禁用无缝 SSO?

步骤 1. 在租户上禁用此功能

选项 A:使用 Microsoft Entra Connect 禁用

  1. 运行 Microsoft Entra Connect,选择“更改用户登录页”,然后单击“下一步”。
  2. 取消选中“启用单一登录”选项。 在向导中继续操作。

完成向导后,将在租户上禁用无缝 SSO。 但是,屏幕上会显示以下消息:

“单一登录现已禁用,但可执行其他手动步骤以完成清理。 了解详细信息

要完成清理过程,请在运行 Microsoft Entra Connect 的本地服务器上执行步骤 2 和 3。

选项 B:使用 PowerShell 进行禁用

在运行 Microsoft Entra Connect 的本地服务器上运行以下步骤:

  1. 首先,下载并安装 Azure AD PowerShell
  2. 导航到 $env:ProgramFiles"\Microsoft Azure Active Directory Connect" 文件夹。
  3. 使用以下命令导入无缝 SSO PowerShell 模块:Import-Module .\AzureADSSO.psd1
  4. 以管理员身份运行 PowerShell。 在 PowerShell 中,调用 New-AzureADSSOAuthenticationContext。 此命令可提供一个弹出窗口,用以输入租户的全局管理员或混合标识管理员凭据。
  5. 调用 Enable-AzureADSSO -Enable $false

此时无缝 SSO 处于禁用状态,但域会保持已配置状态,这是考虑到你可能需要重新启用无缝 SSO。 如果要从无缝 SSO 配置中完全删除域,请在完成上面的步骤 5 之后调用以下 cmdlet:Disable-AzureADSSOForest -DomainFqdn <fqdn>

重要

使用 PowerShell 禁用无缝 SSO 不会更改 Microsoft Entra Connect 中的状态。 无缝 SSO 在“更改用户登录”页面中将显示为已启用。

步骤 2。 获取已在其中启用了无缝 SSO 的 AD 林列表

如果已使用 Microsoft Entra Connect 禁用了无缝 SSO,请依次执行任务 1 到 4。 但是,如果是使用 PowerShell 禁用了无缝 SSO,请跳转到任务 5。

  1. 首先,下载并安装 Azure AD PowerShell
  2. 导航到 $env:ProgramFiles"\Microsoft Azure Active Directory Connect" 文件夹。
  3. 使用以下命令导入无缝 SSO PowerShell 模块:Import-Module .\AzureADSSO.psd1
  4. 以管理员身份运行 PowerShell。 在 PowerShell 中,调用 New-AzureADSSOAuthenticationContext。 此命令可提供一个弹出窗口,用以输入租户的全局管理员或混合标识管理员凭据。
  5. 调用 Get-AzureADSSOStatus | ConvertFrom-Json。 此命令可提供已在其中启用了此功能的 AD 林列表(请查看“域”列表)。

步骤 3. 从列表中你所看到的每个 AD 林中手动删除 AZUREADSSO 计算机帐户。

后续步骤