添加本地应用程序以通过 Microsoft Entra ID 中的应用程序代理进行远程访问

Microsoft Entra ID 具有应用程序代理服务,使用户能够通过使用其 Microsoft Entra 帐户登录来访问本地应用程序。 若要详细了解应用程序代理,请参阅什么是应用代理?。 本教程将准备与应用程序代理配合使用的环境。 准备好环境后,使用 Microsoft Entra 管理中心将本地应用程序添加到租户。

应用程序代理概述示意图

连接器是应用程序代理的关键部分。 若要详细了解连接器,请参阅了解 Microsoft Entra 专用网络连接器

在本教程中,你将了解:

  • 打开出站流量的端口并允许访问特定的 URL。
  • 在 Windows 服务器上安装连接器,并将其注册到应用程序代理。
  • 验证是否正确安装并注册了连接器。
  • 将本地应用程序添加到 Microsoft Entra 租户。
  • 验证测试用户可以使用 Microsoft Entra 帐户登录到该应用程序。

先决条件

若要将本地应用程序添加到 Microsoft Entra ID,需要:

  • 一个 Microsoft Entra ID P1 或 P2 订阅
  • 一个应用程序管理员帐户。
  • 一组与本地目录同步的用户标识。 或者直接在 Microsoft Entra 租户中创建它们。 标识同步允许 Microsoft Entra ID 在授予用户对应用代理发布的应用程序的访问权限之前对用户进行预身份验证。 同步还提供必要的用户标识符信息以执行单一登录 (SSO)。
  • 了解 Microsoft Entra 中的应用程序管理,请参阅查看 Microsoft Entra 中的企业应用程序
  • 了解单一登录 (SSO),请参阅了解单一登录

Windows Server

应用程序代理需要 Windows Server 2012 R2 或更高版本。 你需要在服务器上安装专用网络连接器。 此连接器服务器与 Microsoft Entra ID 中的应用程序代理服务以及计划发布的本地应用程序通信。

在生产环境中使用多个 Windows 服务器,以实现高可用性。 一个 Windows 服务器足以进行测试。

重要

.NET Framework

必须具有 .NET 4.7.1 或更高版本才能安装或升级应用程序代理 1.5.3437.0 或更高版本。 默认情况下,Windows Server 2012 R2 和 Windows Server 2016 没有此版本。

请参阅如何:确定已安装的 .NET Framework 版本以获取详细信息。

HTTP 2.0

如果要在 Windows Server 2019 或更高版本上安装连接器,必须在 WinHttp 组件中禁用 HTTP2 协议支持,这样 Kerberos 约束委派才能正常工作。 默认情况下,在受支持的操作系统的早期版本中已禁用此功能。 添加以下注册表项并重启服务器会在 Windows Server 2019 上禁用此功能。 请注意,这是计算机范围的注册表项。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"EnableDefaultHTTP2"=dword:00000000

可以通过 PowerShell 使用以下命令设置密钥:

Set-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\' -Name EnableDefaultHTTP2 -Value 0

有关连接器服务器的建议

  • 优化连接器和应用程序之间的性能。 将连接器服务器安装在物理上靠近应用服务器的位置。 有关详细信息,请参阅使用 Microsoft Entra 应用程序代理优化流量流
  • 确保连接器服务器和 Web 应用程序服务器位于同一个 Active Directory 域,或者跨信任域。 若要配合集成 Windows 身份验证 (IWA) 和 Kerberos 约束委派 (KCD) 使用单一登录 (SSO),这些服务器必须位于同一个域或信任域中。 如果连接器服务器和 Web 应用程序服务器处于不同的 Active Directory 域,则使用基于资源的委派进行单一登录。 有关详细信息,请参阅用于使用应用程序代理进行单一登录的 KCD

警告

如果已部署 Microsoft Entra 密码保护代理,请不要在同一台计算机上同时安装 Microsoft Entra 应用程序代理和 Microsoft Entra 密码保护代理。 Microsoft Entra 应用程序代理和 Microsoft Entra 密码保护代理会安装不同版本的 Microsoft Entra Connect 代理更新程序服务。 当在同一台计算机上一起安装时,这些不同的版本是不兼容的。

传输层安全性 (TLS) 要求

在安装专用网络连接器之前,必须为 Windows 连接器服务器启用 TLS 1.2。

若要启用 TLS 1.2,请执行以下操作:

  1. 设置注册表项。

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
    "DisabledByDefault"=dword:00000000
    "Enabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
    "DisabledByDefault"=dword:00000000
    "Enabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
    "SchUseStrongCrypto"=dword:00000001
    
  2. 重新启动服务器。

注意

Microsoft 在将 Azure 服务更新为使用来自一组不同的根证书颁发机构 (CA) 的 TLS 证书。 此更改正在进行中,因为当前 CA 证书不符合某个 CA/浏览器论坛基线要求。 有关详细信息,请参阅 Azure TLS 证书更改

准备本地环境

要为 Microsoft Entra 应用程序代理准备环境,请启用与 Microsoft 数据中心的通信。 连接器必须向应用程序代理发出 HTTPS (TCP) 请求。 防火墙阻止网络流量时,会出现一个常见问题。

重要

如果要为 Azure 政府云安装连接器,请遵循先决条件安装步骤。 Azure 政府云需要能够访问一组不同的 URL 和一个额外的参数来运行安装。

打开端口

出站流量打开以下端口:

端口号 用途
80 验证 TLS/SSL 证书的同时下载证书吊销列表 (CRL)
443 与应用程序代理服务进行所有出站通信

如果防火墙根据发起方用户实施流量控制,另请针对来自作为网络服务运行的 Windows 服务的流量打开端口 80 和 443。

注意

出现网络问题时发生错误。 检查是否打开了所需端口。 若要详细了解如何排查与连接器错误相关的问题,请参阅排查连接器问题

允许访问 URL

允许访问以下 URL:

代码 端口 用途
*.msappproxy.net
*.servicebus.windows.net
443/HTTPS 连接器与应用程序代理云服务之间的通信。
crl3.digicert.com
crl4.digicert.com
ocsp.digicert.com
crl.microsoft.com
oneocsp.microsoft.com
ocsp.msocsp.com
80/HTTP 连接器使用这些 URL 来验证证书。
login.windows.net
secure.aadcdn.microsoftonline-p.com
*.microsoftonline.com
*.microsoftonline-p.com
*.msauth.net
*.msauthimages.net
*.msecnd.net
*.msftauth.net
*.msftauthimages.net
*.phonefactor.net
enterpriseregistration.windows.net
management.azure.com
policykeyservice.dc.ad.msft.net
ctldl.windowsupdate.com
www.microsoft.com/pkiops
443/HTTPS 在注册过程中,连接器将使用这些 URL。
ctldl.windowsupdate.com
www.microsoft.com/pkiops
80/HTTP 在注册过程中,连接器将使用这些 URL。

如果防火墙或代理允许根据域后缀配置访问规则,则可允许连接到 *.msappproxy.net*.servicebus.windows.net 和其他 URL。 或者,允许访问 Azure IP 范围和服务标记 - 公有云。 IP 范围每周更新。

重要

避免对 Microsoft Entra 专用网络连接器和 Microsoft Entra 应用程序代理服务之间的出站 TLS 通信进行所有形式的内联检查和终止。

Microsoft Entra 应用程序代理终结点的域名系统 (DNS)

Microsoft Entra 应用程序代理终结点的公共 DNS 记录是链接的指向 A 记录的 CNAME 记录。 以这种方式设置记录可确保容错和灵活性。 Microsoft Entra 专用网络连接器始终访问带有域后缀 *.msappproxy.net*.servicebus.windows.net 的主机名。 但是,在名称解析过程中,CNAME 记录可能包含具有不同主机名和后缀的 DNS 记录。 由于存在差异,必须确保设备可解析链中的所有记录并允许连接到已解析的 IP 地址,这取决于设置 - 连接器服务器、防火墙和出站代理。 由于链中的 DNS 记录有时可能会更改,因此我们无法提供 DNS 记录的任何列表。

安装并注册连接器

若要使用应用程序代理,请在与应用程序代理服务配合使用的每个 Windows 服务器上安装连接器。 连接器是一个代理,可以管理从本地应用程序服务器到 Microsoft Entra ID 中应用程序代理的出站连接。 连接器可以在具有身份验证代理(如 Microsoft Entra Connect)的服务器上安装。

安装连接器:

  1. 至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心

  2. 请在右上角选择用户名。 验证是否已登录到使用应用程序代理的目录。 如果需要更改目录,请选择“切换目录”,然后选择使用应用程序代理的目录

  3. 浏览到“标识”>“应用程序”>“企业应用程序”>“应用程序代理”。

  4. 选择“下载连接器服务” 。

  5. 阅读“服务条款”。 准备就绪后,选择“接受条款并下载”

  6. 在窗口底部,选择“运行”以安装连接器 。 此时会打开安装向导。

  7. 按照向导中的说明安装服务。 当系统提示将连接器注册到 Microsoft Entra 租户使用的应用程序代理时,请提供应用程序管理员凭据。

    • 在 Internet Explorer (IE) 中,如果“IE 增强的安全配置”设置为“打开”,则可能不会显示注册屏幕。 若要访问,请按照错误消息中的说明进行操作。 确保“Internet Explorer 增强的安全性配置”设置为“关” 。

一般备注

如果已安装连接器,请重新安装以获取最新版本。 若要查看有关以前发布的版本及其包含的更改的信息,请参阅应用程序代理 - 版本发布历史记录

如果选择对本地应用程序使用多个 Windows 服务器,则需要在每个服务器上安装并注册连接器。 可将连接器组织成连接器组。 有关详细信息,请参阅连接器组

如果在不同区域中安装连接器,则应通过选择具有每个连接器组的最近的应用程序代理云服务区域来优化流量。 若要了解详细信息,请参阅使用 Microsoft Entra 应用程序代理优化流量流

如果你的组织使用代理服务器连接到 Internet,则需要为应用程序代理配置代理服务器。 有关详细信息,请参阅使用现有的本地代理服务器

有关连接器、容量规划以及它们如何保持最新状态的信息,请参阅了解 Microsoft Entra 专用网络连接器

验证是否正确安装并注册了连接器

可以使用 Microsoft Entra 管理中心或 Windows 服务器来确认是否正确安装了新连接器。 有关排查应用程序代理问题的信息,请参阅调试应用程序代理应用程序问题

通过 Microsoft Entra 管理中心验证安装

确认是否正确安装并注册了连接器:

  1. 至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心

  2. 请在右上角选择用户名。 验证是否已登录到使用应用程序代理的目录。 如果需要更改目录,请选择“切换目录”,然后选择使用应用程序代理的目录

  3. 浏览到“标识”>“应用程序”>“企业应用程序”>“应用程序代理”。

  4. 验证连接器的详细信息。 默认情况下,连接器应处于展开状态。 活动的绿色标签表示相应的连接器可以连接到服务。 但是,即使标签是绿色的,网络问题也仍可能会阻止该连接器接收消息。

    Microsoft Entra 专用网络连接器

要获得关于安装连接器的更多帮助,请参阅安装专用网络连接器时出现问题

通过 Windows Server 验证安装

确认是否正确安装并注册了连接器:

  1. 单击“Windows”键并输入 services.msc,打开 Windows 服务管理器。

  2. 检查以下两个服务的状态是否为“正在运行”。

    • Microsoft Entra 专用网络连接器用于启用连接。
    • Microsoft Entra 专用网络连接器更新程序是一个自动的更新服务。 该更新程序会检查连接器的新版本并根据需要更新连接器。
  3. 如果这些服务的状态不是“正在运行”,请单击右键以选择每个服务,然后选择“启动” 。

将本地应用添加到 Microsoft Entra ID

将本地应用程序添加到 Microsoft Entra ID。

  1. 至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”。

  3. 选择“新建应用程序” 。

  4. 选择“添加本地应用程序”按钮,该按钮显示在“本地应用程序”部分的中间位置。 也可以在页面顶部选择“创建自己的应用程序”,然后选择“配置应用程序代理以安全地远程访问本地应用程序”

  5. 在“添加自己的本地应用程序”部分中,提供有关应用程序的以下信息 :

    字段 描述
    Name 显示在“我的应用”和 Microsoft Entra 管理中心的应用程序名称。
    维护模式 选择是否要启用维护模式并暂时禁用所有用户对应用程序的访问。
    内部 URL 用于从专用网络内部访问应用程序的 URL。 可以提供后端服务器上要发布的特定路径,而服务器的其余部分则不发布。 通过这种方式,可以在同一服务器上将不同站点发布为不同应用,并为每个站点提供其自己的名称和访问规则。

    如果发布路径,请确保它包含应用程序的所有必要映像、脚本和样式表。 例如,如果你的应用位于 https://yourapp/app,并使用位于 https://yourapp/media 的映像,则应发布 https://yourapp/ 作为路径。 此内部 URL 不一定是用户看到的登陆页面。 有关详细信息,请参阅为发布的应用设置自定义主页
    外部 URL 用户从网络外部访问应用时使用的地址。 如果你不想使用默认的应用程序代理域,请参阅 Microsoft Entra 应用程序代理中的自定义域
    预身份验证 应用程序代理在向用户授予应用程序访问权限之前如何验证用户。

    Microsoft Entra ID - 应用程序代理重定向用户以使用 Microsoft Entra ID 登录,从而验证用户对目录和应用程序的权限。 建议将此选项保留为默认值,以便可以利用条件访问和多重身份验证等 Microsoft Entra 安全功能。 必须使用 Microsoft Entra ID 通过 Microsoft Defender for Cloud Apps 来监视应用程序。

    直通 - 用户无需对 Microsoft Entra ID 进行身份验证即可访问应用程序。 仍可在后端设置身份验证要求。
    连接器组 连接器处理对应用程序的远程访问,借助连接器组可按区域、网络或用途组织连接器和应用。 如果尚未创建任何连接器组,应用将分配到“默认” 。

    如果应用程序使用 WebSocket 进行连接,组中的所有连接器必须为 1.5.612.0 或更高版本。
  6. 根据需要配置其他设置。 对于大多数应用程序,应保留这些设置的默认状态。

    字段 说明
    后端应用程序超时 仅当应用程序身份验证和连接速度较慢时,才将此值设置为“长” 。 默认情况下,后端应用程序超时的长度为 85 秒。 如果设置得太长,则后端超时将增加到 180 秒。
    使用仅限 HTTP 的 Cookie 选择此项可让应用程序代理 Cookie 在 HTTP 响应标头中包含 HTTPOnly 标志。 如果使用远程桌面服务,请将此选项保持未选中状态。
    使用永久性 Cookie 将此选项保持未选中状态。 仅对无法在进程之间共享 cookie 的应用程序使用此设置。 有关 Cookie 设置的详细信息,请参阅用于在 Microsoft Entra ID 中访问本地应用程序的 Cookie 设置
    转换标头中的 URL 请将此选项保持选中状态,除非应用程序要求在身份验证请求中包含原始主机标头。
    转换应用程序主体中的 URL 请将此选项保持未选中状态,除非具有指向其他本地应用程序的硬编码 HTML 链接且不使用自定义域。 有关详细信息,请参阅使用应用程序代理进行链接转换

    如果你打算使用 Microsoft Defender for Cloud Apps 监视此应用程序,请选择此项。 有关详细信息,请参阅使用 Microsoft Defender for Cloud Apps 和 Microsoft Entra ID 配置实时应用程序访问监视
    验证后端 TLS/SSL 证书 选择此项可为应用程序启用后端 TLS/SSL 证书验证。
  7. 选择 添加

测试应用程序

现在,可以测试是否正确添加了应用程序。 在以下步骤中,你要将一个用户帐户添加到应用程序,然后尝试登录。

添加用于测试的用户

将用户添加到应用程序之前,请验证该用户帐户是否有权从企业网络内部访问应用程序。

添加测试用户:

  1. 选择“企业应用程序”,然后选择要测试的应用程序 。
  2. 选择“入门”,然后选择“分配用于测试的用户” 。
  3. 在“用户和组”下,选择“添加用户” 。
  4. 在“添加分配”下,选择“用户和组” 。 “用户和组”部分将随即显示 。
  5. 选择要添加的帐户。
  6. 依次选择“选择”、“分配” 。

测试登录

若要测试对应用程的d身份验证:

  1. 从要测试的应用程序中,选择“应用程序代理”
  2. 在页面顶部,选择“测试应用程序” 以对应用程序运行测试并检查是否存在任何配置问题。
  3. 请确保首先启动应用程序以测试登录到应用程序,然后下载诊断报告以查看有关任何检测到的问题的解决方案指南。

有关故障排除信息,请参阅根据错误消息排查应用程序代理问题

清理资源

完成后,请不要忘记删除在本教程中创建的任何资源。

疑难解答

了解常见问题及其排查方法。

创建应用程序/设置 URL

查看错误详细信息,获取有关如何修复应用程序的信息和建议。 大多数的错误消息都包含建议的修复方法。 为避免常见的错误,请验证:

  • 是有权创建应用程序代理应用程序的管理员
  • 内部 URL 唯一
  • 外部 URL 唯一
  • URL 以 http 或 https 开头,以“/”结尾
  • URL 应为域名,而非 IP 地址

在创建应用程序时,错误消息应显示在右上角。 还可以选择通知图标以查看错误消息。

配置连接器/连接器组

由于出现有关连接器和连接器组的警告,导致在配置应用程序时遇到问题,请参阅有关启用应用程序代理的说明,以了解如何下载连接器的详细信息。 如果要了解连接器的详细信息,请参阅连接器文档

如果连接器处于非活动状态,则它们无法访问该服务。 通常,这是因为所有必需的端口都未打开。 若要了解所需端口的列表,请参阅启用应用程序代理文档的先决条件部分。

上传自定义域证书

自定义域允许指定外部 URL 的域。 若要使用自定义域,需上传该域的证书。 有关使用自定义域和证书的详细信息,请参阅在 Microsoft Entra 应用程序代理中使用自定义域

如果在上传证书时遇到问题,请在门户中查找错误消息,以获取证书问题的其他信息。 常见的证书问题包括:

  • 证书已过期
  • 证书自签名
  • 证书缺少私钥

尝试上传证书时,右上角显示错误消息。 还可以选择通知图标以查看错误消息。

后续步骤