你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Active Directory 无缝单一登录:快速入门

部署无缝单一登录

Azure Active Directory (Azure AD) 无缝单一登录(无缝 SSO)可使登录连接到企业网络的企业台式机的用户自动登录。 无缝 SSO 可让用户轻松访问基于云的应用程序,而无需使用其他任何本地组件。

要部署无缝 SSO,需要遵循以下步骤。

步骤 1:检查先决条件

请确保符合以下先决条件:

  • 设置 Azure AD Connect 服务器:如果使用直通身份验证作为登录方法,则无需进行其他先决条件检查。 如果使用密码哈希同步作为登录方法,并且 Azure AD Connect 与 Azure AD 之间有防火墙,则请确保:

    • 使用 Azure AD Connect 版本 1.1.644.0 或更高版本。

    • 如果防火墙或代理允许,则将连接添加到通过端口 443 的 *.msappproxy.net URL 的允许列表。 如果需要特定的 URL 而不是通配符来配置代理,则可以配置 tenantid.registration.msappproxy.net,其中 tenantid 是要在其中配置该功能的租户的 GUID。 如果在组织中无法使用基于 URL 的代理例外,则可以改为允许访问每周更新的 Azure 数据中心 IP 范围。 此先决条件仅适用于启用了该功能的情况。 无需用户实际登录。

      注意

      Azure AD Connect 版本 1.1.557.0、1.1.558.0、1.1.561.0 和 1.1.614.0 具有密码哈希同步相关问题。 如果不打算将密码哈希同步与直通身份验证结合使用,请阅读 Azure AD Connect 发行说明了解详细信息。

      注意

      如果有传出 HTTP 代理,请确保此 URL (autologon.microsoftazuread-sso.com) 被列入允许列表中。 应显式指定此 URL,因为可能不接受通配符。

  • 使用受支持的 Azure AD Connect 拓扑:请确保使用 Azure AD Connect 支持的拓扑之一,如此处所述。

    注意

    无缝 SSO 支持多个 AD 林,无论它们之间是否存在 AD 信任。

  • 设置域管理员凭据:你需要为每个 Active Directory 林提供域管理员凭据:

    • 通过 Azure AD Connect 同步到 Azure AD。
    • 包含你想要为其启用无缝 SSO 的用户。
  • 启用新式身份验证:需要在租户上启用新式身份验证,此功能才有效。

  • 使用最新版本的 Microsoft 365 客户端:若要获取 Microsoft 365 客户端的无提示登录体验,你的用户需要使用 16.0.8730.xxxx 或更高版本。

步骤 2:启用功能

通过 Azure AD Connect 启用无缝 SSO。

注意

此外,如果 Azure AD Connect 不能满足你的要求,还可以使用 PowerShell 启用无缝 SSO。 如果每个 Active Directory 林具有多个域,并且你想要更具针对性地指向要启用无缝 SSO 的域,请使用此选项。

如果你要全新安装 Azure AD Connect,请选择自定义安装路径。 在“用户登录”页上,请选择“启用单一登录”选项。

注意

仅当登录方式为“密码哈希同步”或“传递身份验证”时,该选项才适用

Azure AD Connect: User sign-in

如果你已安装了 Azure AD Connect,请在 Azure AD Connect 上选择“更改用户登录”页,然后选择“下一步”。 如果使用 Azure AD Connect 1.1.880.0 版本或更高版本,则默认情况下将选则“启用单一登录”选项。 如果使用是较旧版本的 Azure AD Connect,请选择“启用单一登录”选项

Azure AD Connect: Change the user sign-in

继续按向导操作,直到出现“启用单一登录”页。 为每个 Active Directory 林提供域管理员凭据,以便:

  • 通过 Azure AD Connect 同步到 Azure AD。
  • 包含你想要为其启用无缝 SSO 的用户。

完成向导后,租户即启用了无缝 SSO。

注意

域管理员凭据不存储在 Azure AD Connect 或 Azure AD 中。 它们仅用于启用该功能。

按照这些说明验证是否已正确启用无缝 SSO:

  1. 使用租户的全局管理员或混合标识管理员凭据登录到 Azure Active Directory 管理中心
  2. 在左窗格中选择“Azure Active Directory”
  3. 选择“Azure AD Connect”
  4. 验证无缝单一登录功能是否显示为“已启用”

Azure portal: Azure AD Connect pane

重要

无缝 SSO 在每个 AD 林的本地 Active Directory (AD) 中创建一个名为 AZUREADSSOACC 的计算机帐户。 出于安全原因,需要对 AZUREADSSOACC 计算机帐户进行严格保护。 只有域管理员才能管理计算机帐户。 请确保计算机帐户上的 Kerberos 委派处于禁用状态,并且 Active Directory 中的其他帐户没有对 AZUREADSSOACC 计算机帐户的委派权限。 将计算机帐户存储在组织单位 (OU) 中,在这里,它们不会被意外删除,并且只有域管理员具有访问权限。

注意

如果在本地环境中使用哈希传递和凭据盗用缓解体系结构,请进行适当更改,确保 AZUREADSSOACC 计算机帐户最终不会出现在“隔离”容器中。

步骤 3:扩展此功能

可使用以下说明向用户逐步推出无缝 SSO。 首先,使用 Active Directory 中的组策略将以下 Azure AD URL 添加到所有或所选用户的 Intranet 区域设置:

  • https://autologon.microsoftazuread-sso.com

此外,还需要通过“组策略”启用称为“允许通过脚本更新状态栏”的 Intranet 区域策略设置。

注意

以下说明仅适用于 Windows 上的 Internet Explorer、Microsoft Edge 和 Google Chrome(如果它与 Internet Explorer 共享一组相同的受信任站点 URL)。 请阅读下一节,了解在 macOS 上设置 Mozilla Firefox 和 Google Chrome 的说明。

为什么需要修改用户的 Intranet 区域设置?

默认情况下,浏览器将自动从特定 URL 计算正确的区域(Internet 或 Intranet)。 例如,http://contoso/ 映射到 Intranet 区域,而 http://intranet.contoso.com/ 映射到 Internet 区域(因为此 URL 包含句点)。 浏览器不会将 Kerberos 票证发送到云终结点(例如 Azure AD URL),除非将此 URL 显式添加到浏览器的 Intranet 区域。

有两种方法来修改用户的 Intranet 区域设置:

选项 管理员注意事项 用户体验
组策略 管理员锁定 Intranet 区域设置的编辑 用户无法修改自己的设置
组策略首选项 管理员允许编辑 Intranet 区域设置 用户可以修改自己的设置

“组策略”选项 - 详细步骤

  1. 打开“组策略管理编辑器”工具。

  2. 编辑适用于部分或全部用户的组策略。 此示例使用默认域策略

  3. 浏览到“用户配置”“策略”“管理模板”“Windows 组件”“Internet Explorer”“Internet 控制面板”“安全页”。 然后选择“站点到区域分配列表”Screenshot that shows the

  4. 启用策略,然后在对话框中输入以下值:

    • 值名称:要将 Kerberos 票证转发到的 Azure AD URL。

    • 值(数据):1 指示 Intranet 区域。

      结果类似以下形式:

      值名称:https://autologon.microsoftazuread-sso.com

      值(数据):1

    注意

    如果你想禁止某些用户使用无缝 SSO(例如,如果这些用户在共享展台上登录),请将前面的值设置为 4。 此操作将 Azure AD URL 添加到受限区域,并且始终无法使用无缝 SSO。

  5. 选择“确定”,然后再选择“确定”。

    Screenshot that shows the

  6. 浏览到“用户配置”“策略”“管理模板”“Windows 组件”“Internet Explorer”“Internet 控制面板”“安全页”“Intranet 区域”。 然后选择“允许通过脚本更新状态栏”

    Screenshot that shows the

  7. 启用策略设置,然后选择“确定”

    Screenshot that shows

“组策略首选项”选项 - 详细步骤

  1. 打开“组策略管理编辑器”工具。

  2. 编辑适用于部分或全部用户的组策略。 此示例使用默认域策略

  3. 浏览到“用户配置”“首选项”“Windows 设置”“注册”“新建”“注册项”。

    Screenshot that shows

  4. 在相应字段中输入以下值,然后单击“确定”

    • 密钥路径:Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\microsoftazuread-sso.com\autologon

    • 值名称:https

    • 值类型:REG_DWORD

    • 值数据:00000001

      Screenshot that shows the

      Single sign-on

浏览器注意事项

Mozilla Firefox(所有平台)

如果要在环境中使用身份验证策略设置,请确保将 Azure AD URL () 添加到 SPNEGO 部分。 还可以将 PrivateBrowsing 选项设置为 true,以允许在隐私浏览模式下使用无缝 SSO。

Safari (macOS)

确保运行 macOS 的计算机已加入 AD。 有关 AD 加入 macOS 设备的说明超出了本文的范围。

基于 Chromium 的 Microsoft Edge(所有平台)

如果已替代环境中的 AuthNegotiateDelegateAllowlistAuthServerAllowlist 策略设置,请确保也向其添加 Azure AD 的 URL ()。

基于 Chromium 的 Microsoft Edge(macOS 和其他非 Windows 平台)

有关 macOS 和其他非 Windows 平台上基于 Chromium 的 Microsoft Edge,请参阅基于 Chromium 的 Microsoft Edge 策略列表,了解如何将用于集成身份验证的 Azure AD URL 添加到允许列表。

Google Chrome(所有平台)

如果已替代环境中的 AuthNegotiateDelegateAllowlistAuthServerAllowlist 策略设置,请确保也向其添加 Azure AD 的 URL ()。

macOS

使用第三方 Active Directory 组策略扩展将 Azure AD URL 扩展到面向 macOS 用户的 Firefox 和 Google Chrome,此内容不在本文讨论范围之内。

已知的浏览器限制

无缝 SSO 在以增强保护模式下运行的 Internet Explorer 中不起作用。 无缝 SSO 支持基于 Chromium 的下一版本的 Microsoft Edge,它根据设计在 InPrivate 和来宾模式下工作。 不再支持 Microsoft Edge(旧版)。

可能需要根据相应的文档,为 InPrivate 和/或来宾用户配置 AmbientAuthenticationInPrivateModesEnabled

步骤 4:测试功能

要测试特定用户的功能,请确保符合以下所有条件:

  • 用户登录到某个企业设备。
  • 该设备已加入 Active Directory 域。 设备不需要加入 Azure AD
  • 该设备已通过远程访问连接(例如 VPN 连接)与企业有线或无线网络中的域控制器 (DC) 建立了直接连接。
  • 你可以通过组策略将此功能扩展到用户

要测试用户仅输入用户名而不是密码的场景:

  • 登录 https://myapps.microsoft.com/ 。 请确保清除浏览器缓存,或在专用模式下将新的专用浏览器会话与任何受支持的浏览器一起使用。

要测试用户并非必须输入用户名或密码的场景,请使用以下步骤之一:

  • 登录到 https://myapps.microsoft.com/contoso.onmicrosoft.com 请确保清除浏览器缓存,或在专用模式下将新的专用浏览器会话与任何受支持的浏览器一起使用。 将“contoso”替换为租户的名称。
  • 在新的专用浏览器会话中登录到 https://myapps.microsoft.com/contoso.com。 将“contoso.com”替换为租户中的已验证域(而不是联盟域)。

步骤 5:滚动更新密钥

在步骤 2 中,Azure AD Connect 在已启用无缝 SSO 的所有 Active Directory 林中创建计算机帐户(表示 Azure AD)。 若要了解详细信息,请参阅 Azure Active Directory 无缝单一登录:深入技术探究

重要

如果泄露,可以使用计算机帐户上的 Kerberos 解密密钥为 AD 林中的任意用户生成 Kerberos 票证。 然后,恶意执行组件可以为遭到入侵的用户模拟 Azure AD 登录。 强烈建议定期滚动更新这些 Kerberos 解密密钥,至少每 30 天一次。

有关如何滚动更新密钥的说明,请参阅 Azure Active Directory 无缝单一登录:常见问题

重要

启用该功能后无需立即执行此步骤。 至少每隔 30 天滚动更新一次 Kerberos 解密密钥。

后续步骤

  • 深入技术探究:了解无缝单一登录功能的工作原理。
  • 常见问题:获取无缝单一登录常见问题的解答。
  • 疑难解答:了解如何解决无缝单一登录功能的常见问题。
  • UserVoice:使用 Azure Active Directory 论坛来提交新的功能请求。