本文解决了有关 Microsoft Entra 无缝单一登录(无缝 SSO)的常见问题。 请随时返回查看新内容。
无缝 SSO 使用的登录方法是什么
无缝 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 天使用 Update-AzureADSSOForest
cmdlet 滚动更新 Kerberos 解密密钥至少一次。 使用 Update-AzureADSSOForest
cmdlet 时,请确保不要针对每个林多次运行 Update-AzureADSSOForest
命令。 否则,在用户的 Kerberos 票证过期并由本地 Active Directory 再次发布之前,此功能将停止运行。
在运行 Microsoft Entra Connect 的本地服务器上执行以下步骤:
注意
需有域管理员和混合标识管理员凭据才能执行这些步骤。
如果你不是域管理员,而是由域管理员分配了权限,则应调用 Update-AzureADSSOForest -OnPremCredentials $creds -PreserveCustomPermissionsOnDesktopSsoAccount
步骤 1. 获取已在其中启用无缝 SSO 的 AD 林的列表
- 首先,下载并安装 Azure AD PowerShell。
- 导航到
$env:programfiles"\Microsoft Azure Active Directory Connect"
文件夹。 - 使用以下命令导入无缝 SSO PowerShell 模块:
Import-Module .\AzureADSSO.psd1
。 - 以管理员身份运行 PowerShell。 在 PowerShell 中,调用
New-AzureADSSOAuthenticationContext
。 运行此命令时会出现一个弹出窗口,用于输入租户的混合标识管理员凭据。 - 调用
Get-AzureADSSOStatus | ConvertFrom-Json
。 此命令会提供已在其中启用此功能的 AD 林的列表(查看“域”列表)。
步骤 2. 在设置 Kerberos 解密密钥的每个 AD 林上更新此密钥
- 调用
$creds = Get-Credential
。 出现提示时,输入目标 AD 林的域管理员凭据。
注意
必须以 SAM 帐户名称格式(contoso\johndoe 或 contoso.com\johndoe)输入域管理员凭据用户名。 我们使用用户名的域部分查找使用 DNS 的域管理员的域控制器。
注意
使用的域管理员帐户不得是受保护用户组的成员。 如果是这样,则操作会失败。
调用
Update-AzureADSSOForest -OnPremCredentials $creds
。 此命令会在此特定 AD 林中更新AZUREADSSO
计算机帐户的 Kerberos 解密密钥,并在 Microsoft Entra ID 中对其进行更新。针对已设置了此功能的每个 AD 林重复上述步骤。
注意
如果要更新 Microsoft Entra Connect 林以外的林,请确保与全局编录服务器(TCP 3268 和 TCP 3269)的连接可用。
重要
以暂存模式运行 Microsoft Entra Connect 的服务器上无需完成此操作。
如何禁用无缝 SSO?
步骤 1. 在租户上禁用此功能
选项 A:使用 Microsoft Entra Connect 禁用
- 运行 Microsoft Entra Connect,选择“更改用户登录页”,然后单击“下一步”。
- 取消选中“启用单一登录”选项。 在向导中继续操作。
完成向导后,将在租户中禁用无缝 SSO。 但是,屏幕上会显示以下消息:
“单一登录现已禁用,但可执行其他手动步骤以完成清理。 了解详细信息
要完成清理过程,请在运行 Microsoft Entra Connect 的本地服务器上执行步骤 2 和 3。
选项 B:使用 PowerShell 进行禁用
在运行 Microsoft Entra Connect 的本地服务器上运行以下步骤:
- 首先,下载并安装 Azure AD PowerShell。
- 导航到
$env:ProgramFiles"\Microsoft Azure Active Directory Connect"
文件夹。 - 使用以下命令导入无缝 SSO PowerShell 模块:
Import-Module .\AzureADSSO.psd1
。 - 以管理员身份运行 PowerShell。 在 PowerShell 中,调用
New-AzureADSSOAuthenticationContext
。 运行此命令时会出现一个弹出窗口,用于输入租户的混合标识管理员凭据。 - 调用
Enable-AzureADSSO -Enable $false
。
此时无缝 SSO 处于禁用状态,但域保持已配置状态,以便你可以重新启用无缝 SSO。 如果要从无缝 SSO 配置中完全删除域,请在完成上面的步骤 5 之后调用以下 cmdlet:Disable-AzureADSSOForest -DomainFqdn <fqdn>
。
重要
使用 PowerShell 禁用无缝 SSO 不会更改 Microsoft Entra Connect 中的状态。 无缝 SSO 在“更改用户登录”页面中显示为已启用。
注意
如果没有 Microsoft Entra Connect Sync 服务器,则可以下载一个并运行初始安装。 这不会设置服务器,但它将解压缩禁用 SSO 所需的必要文件。 MSI 安装完成后,关闭 Microsoft Entra Connect 向导,然后运行步骤以使用 PowerShell 禁用无缝 SSO。
步骤 2. 获取已在其中启用了无缝 SSO 的 AD 林列表
如果已使用 Microsoft Entra Connect 禁用了无缝 SSO,请依次执行任务 1 到 4。 但是,如果是使用 PowerShell 禁用了无缝 SSO,请跳转到任务 5。
- 首先,下载并安装 Azure AD PowerShell。
- 导航到
$env:ProgramFiles"\Microsoft Azure Active Directory Connect"
文件夹。 - 使用以下命令导入无缝 SSO PowerShell 模块:
Import-Module .\AzureADSSO.psd1
。 - 以管理员身份运行 PowerShell。 在 PowerShell 中,调用
New-AzureADSSOAuthenticationContext
。 运行此命令时会出现一个弹出窗口,用于输入租户的混合标识管理员凭据。 - 调用
Get-AzureADSSOStatus | ConvertFrom-Json
。 此命令可提供已在其中启用了此功能的 AD 林列表(请查看“域”列表)。
步骤 3. 从列表中你所看到的每个 AD 林中手动删除 AZUREADSSO
计算机帐户。