通过 Microsoft Entra 应用程序代理启用对 Power BI Mobile 的远程访问

本文讨论如何使用 Microsoft Entra 应用程序代理将 Power BI 移动应用连接到 Power BI 报表服务器 (PBIRS) 和 SQL Server Reporting Services (SSRS) 2016 及更高版本。 通过该集成,未接入企业网络的用户可以从 Power BI 移动应用访问其 Power BI 报表,同时受到 Microsoft Entra 身份验证的保护。 此保护包括条件访问和多重身份验证等安全权益

先决条件

步骤 1:配置 Kerberos 约束委派 (KCD)

对于使用 Windows 身份验证的本地应用程序,可以通过 Kerberos 身份验证协议以及一项称为 Kerberos 约束委派 (KCD) 的功能来实现单一登录 SSO。 专用网络连接器使用 KCD 获取用户的 Windows 令牌,即使该用户尚未直接登录到 Windows。 若要了解有关 KCD 的详细信息,请参阅 Kerberos 约束委派概述用于通过应用程序代理单一登录到应用的 Kerberos 约束委派

Reporting Services 端无其他需要配置的内容。 若要进行正确的 Kerberos 身份验证,需要有效的服务主体名称 (SPN)。 启用 Reporting Services 服务器进行 Negotiate 身份验证。

配置服务主体名称 (SPN)

SPN 是使用 Kerberos 身份验证的服务的唯一标识符。 Report Server 需要适当的 HTTP SPN。 有关如何为报表服务器配置正确的服务主体名称 (SPN) 的信息,请参阅为报表服务器注册服务主体名称 (SPN)。 使用 -L 选项运行 Setspn 命令,来验证是否已添加 SPN。 若要详细了解该命令,请参阅 Setspn

启用协商身份验证

若要使报表服务器可以使用 Kerberos 身份验证,需要将报表服务器的身份验证类型配置为 RSWindowsNegotiate。 使用 rsreportserver.config 文件配置此设置。

<AuthenticationTypes>
    <RSWindowsNegotiate />
    <RSWindowsKerberos />
    <RSWindowsNTLM />
</AuthenticationTypes>

有关详细信息,请参阅修改 Reporting Services 配置文件在报表服务器上配置 Windows 身份验证

请确保连接器是受信任的,以便可委派到添加到 Reporting Services 应用程序池帐户的 SPN

配置 KCD,使 Microsoft Entra 应用程序代理服务能够将用户标识委派到 Reporting Services 应用程序池帐户。 专用网络代理连接器,以检索经过 Microsoft Entra ID 身份验证的用户的 Kerberos 票证。 服务器将上下文传递给 Reporting Services 应用程序。

若要配置 KCD,请针对每个连接器计算机重复执行以下步骤:

  1. 以域管理员身份登录域控制器,然后打开“Active Directory 用户和计算机”。
  2. 找到运行连接器的计算机。
  3. 双击选择计算机,然后选择委派选项卡。
  4. 将委派设置设为“信任此计算机仅委派指定服务”。 然后,选择“使用任意身份验证协议”。
  5. 依次选择“添加”和“用户或计算机”。
  6. 输入为 Reporting Services 设置的服务帐户。
  7. 选择“确定”。 若要保存更改,请再次选择“确定”。

有关详细信息,请参阅用于通过应用程序代理单一登录到应用的 Kerberos 约束委派

步骤 2:通过 Microsoft Entra 应用程序代理发布 Reporting Services

现已准备好配置 Microsoft Entra 应用程序代理。

  1. 使用以下设置通过应用程序代理发布 Reporting Services。 有关如何通过应用程序代理发布应用程序的分步说明,请参阅使用 Microsoft Entra 应用程序代理发布应用程序

    • 内部 URL:输入连接器可以在企业网络中访问的报表服务器的 URL。 请确保此 URL 是可以从连接器安装所在的服务器进行访问的。 最佳做法是使用一级域名(如 https://servername/),以免通过应用程序代理发布的子路径出现问题。 例如,使用 https://servername/,而不是 https://servername/reports/https://servername/reportserver/

      注意

      使用与 Report Server 的安全 HTTPS 连接。 有关配置安全连接的详细信息,请参阅配置本机模式报表服务器上的安全连接

    • 外部 URL:输入与 Power BI 移动应用连接的公共 URL。 例如,如果使用自定义域,则看起来 https://reports.contoso.com。 若要使用自定义域,请上传域的证书,并将域名系统 (DNS) 记录指向应用程序的默认 msappproxy.net 域。 有关详细步骤,请参阅在 Microsoft Entra 应用程序代理中使用自定义域

    • 预身份验证方法:Microsoft Entra ID。

  2. 发布应用后,请执行以下步骤来配置单一登录设置:

    a. 在门户中的应用程序页上,选择“单一登录”。

    b. 对于“单一登录模式”,选择“集成 Windows 身份验证”。

    c. 将“内部应用程序 SPN”设置为此前设置的值。

    d. 针对你要代表你的用户使用的连接器选择“委派的登录标识”。 有关详细信息,请参阅使用不同的本地标识和云标识

    e. 选择“保存”以保存更改。

要完成应用程序设置,请转到“用户和组”部分,分配要访问此应用程序的用户。

步骤 3:修改应用程序的回复统一资源标识符 (URI)

配置在步骤 2 中自动创建的应用程序注册。

  1. 在 Microsoft Entra ID“概述”页上,选择“应用注册”。

  2. 在“所有应用程序”选项卡中,搜索在步骤 2 中创建的应用程序。

  3. 依次选择应用程序和“身份验证”。

  4. 添加平台的重定向 URI。

    在 iOS 上为 Power BI Mobile 配置应用程序时,请添加类型为 Public Client (Mobile & Desktop)的重定向统一资源标识符 (URI)。

    • msauth://code/mspbi-adal%3a%2f%2fcom.microsoft.powerbimobile
    • msauth://code/mspbi-adalms%3a%2f%2fcom.microsoft.powerbimobilems
    • mspbi-adal://com.microsoft.powerbimobile
    • mspbi-adalms://com.microsoft.powerbimobilems

    在 Android 上为 Power BI Mobile 配置应用程序时,请添加类型为 Public Client (Mobile & Desktop)的重定向统一资源标识符 (URI)。

    • urn:ietf:wg:oauth:2.0:oob
    • mspbi-adal://com.microsoft.powerbimobile
    • msauth://com.microsoft.powerbim/g79ekQEgXBL5foHfTlO2TPawrbI%3D
    • msauth://com.microsoft.powerbim/izba1HXNWrSmQ7ZvMXgqeZPtNEU%3D

    重要

    必须为应用程序添加重定向 URI 才能正常工作。 如果要为 Power BI 移动版 iOS 和 Android 配置应用,将类型为公共客户端(移动和桌面)的重定向 URI 添加到为 iOS 配置的重定向 URI 列表中:urn:ietf:wg:oauth:2.0:oob

步骤 4:从 Power BI 移动应用进行连接

  1. 在 Power BI 移动应用中,连接到 Reporting Services 实例。 输入通过应用程序代理发布的应用程序的“外部 URL”

    具有外部 URL 的 Power BI 移动应用

  2. 选择“连接” 。 会加载 Microsoft Entra 登录页。

  3. 输入用户的有效凭据,然后选择“登录”。 会显示 Reporting Services 服务器中的元素。

步骤 5:为托管设备配置 Intune 策略(可选)

可以使用 Microsoft Intune 来管理你公司的员工使用的客户端应用。 Intune 提供诸如数据加密和访问要求等功能。 使用 Intune 策略启用 Power BI 移动应用程序。

  1. 浏览到“标识”>“应用程序”>“应用注册”。
  2. 注册本机客户端应用程序时,选择在步骤 3 中配置的应用程序。
  3. 在应用程序页上,选择“API 权限”。
  4. 选择添加权限
  5. 在“我的组织使用的 API”下,搜索“Microsoft 移动应用管理”并将其选中。
  6. 向应用程序添加“DeviceManagementManagedApps.ReadWrite”权限。
  7. 选择“授予管理员许可”以授予对应用程序的访问权限。
  8. 请参阅如何创建和分配应用保护策略来配置所需的 Intune 策略。

疑难解答

如果应用程序在尝试加载报表超过几分钟后返回错误页面,则可能需要更改超时设置。 默认情况下,应用程序代理支持花费长达 85 秒来响应请求的应用程序。 若要将此设置延长为 180 秒,请在应用程序的应用程序代理设置页中将后端超时选为“长”。 有关如何创建快速可靠的报表的提示,请参阅 Power BI 报表最佳实践

条件访问策略要求将 Microsoft Power BI 应用作为获批的客户端应用,它不支持使用 Microsoft Entra 应用程序代理将 Power BI 移动应用连接到本地 Power BI 报表服务器。

后续步骤