使用 Microsoft Entra 应用程序代理启用对 Power BI Mobile 的远程访问
本文介绍如何使用 Microsoft Entra 应用程序代理使 Power BI 移动应用能够连接到 Power BI 报表服务器 (PBIRS) 和 SQL Server Reporting Services (SSRS) 2016 及更高版本。 通过此集成,远离企业网络的用户可以从 Power BI 移动应用访问其 Power BI 报表,并受Microsoft Entra 身份验证的保护。 此保护包括 安全优势,例如条件访问和多重身份验证。
先决条件
- 在环境中部署 Reporting Services。
- 启用 Microsoft Entra 应用程序代理。
- 如果可能,请对 Power BI 使用相同的内部和外部域。 若要详细了解自定义域,请参阅 使用应用程序代理中的自定义域。
步骤 1:配置 Kerberos 约束委派 (KCD)
对于使用 Windows 身份验证的本地应用程序,可以使用 Kerberos 身份验证协议和名为 Kerberos 约束委派(KCD)的功能实现单一登录(SSO)。 专用网络连接器使用 KCD 为用户获取 Windows 令牌,即使用户未直接登录到 Windows 也是如此。 若要了解有关 KCD 的详细信息,请参阅 Kerberos 约束委派概述和用于通过应用程序代理单一登录到应用的 Kerberos 约束委派。
Reporting Services 端无其他需要配置的内容。 若要进行正确的 Kerberos 身份验证,需要有效的服务主体名称(SPN)。 启用 Reporting Services 服务器进行 Negotiate
身份验证。
配置服务主体名称(SPN)
SPN 是使用 Kerberos 身份验证的服务的唯一标识符。 报表服务器需要适当的 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,请为每个连接器计算机重复以下步骤:
- 以域管理员身份登录到域控制器,然后打开 Active Directory 用户和计算机。
- 找到运行连接器的计算机。
- 双击选择计算机,然后选择“委派”选项卡。
- 将委派设置指定为“仅信任此计算机来委派指定的服务”。 然后,选择“使用任意身份验证协议”。
- 选择“添加”,然后选择“用户或计算机”。
- 输入为 Reporting Services 设置的服务帐户。
- 选择“确定”。 若要保存更改,请再次选择“确定”。
有关详细信息,请参阅用于通过应用程序代理单一登录到应用的 Kerberos 约束委派。
步骤 2:通过 Microsoft Entra 应用程序代理发布 Reporting Services
现在,你已准备好配置 Microsoft Entra 应用程序代理。
使用以下设置通过应用程序代理发布 Reporting Services。 有关如何通过应用程序代理发布应用程序的分步说明,请参阅 使用 Microsoft Entra 应用程序代理发布应用程序。
内部 URL:输入连接器可以在企业网络中访问的报表服务器的 URL。 请确保可从安装连接器的服务器访问此 URL。 最佳做法是使用顶级域(例如
https://servername/
),以避免通过应用程序代理发布的子路径出现问题。 例如,使用https://servername/
而不是https://servername/reports/
或https://servername/reportserver/
。注意
使用与报表服务器的安全 HTTPS 连接。 有关配置安全连接的详细信息,请参阅 在本机模式报表服务器上配置安全连接。
外部 URL:输入 Power BI 移动应用连接到的公共 URL。 例如,如果使用自定义域,显示的格式将是
https://reports.contoso.com
。 若要使用自定义域,请上传域的证书,并将域名系统(DNS)记录指向应用程序的默认msappproxy.net
域。 有关详细步骤,请参阅 在 Microsoft Entra 应用程序代理中操作自定义域。预身份验证方法:Microsoft Entra ID。
发布应用后,使用以下步骤配置单一登录设置:
a. 在门户中的应用程序页上,选择“单一登录”。
b. 对于 单一登录模式,请选择 集成 Windows 身份验证。
c. 将“内部应用程序 SPN”设置为此前设置的值。
d. 针对你要代表你的用户使用的连接器选择“委派的登录标识”。 有关详细信息,请参阅使用不同的本地标识和云标识。
e. 选择 保存 以保存更改。
若要完成应用程序设置,请转到 “用户和组” 部分,并分配用户访问此应用程序。
步骤 3:修改应用程序的回复统一资源标识符(URI)
配置在步骤 2 中自动创建的应用程序注册。
在 Microsoft Entra ID“概述”页上,选择“应用注册”。
在“所有应用程序”选项卡上,搜索在步骤 2 中创建的应用程序。
选择应用程序,然后选择 身份验证。
添加平台的重定向 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 Mobile iOS 和 Android 配置应用,请将公共客户端(Mobile & Desktop)类型的重定向 URI 添加到为 iOS 配置的重定向 URI 列表:
urn:ietf:wg:oauth:2.0:oob
。
步骤 4:从 Power BI 移动应用进行连接
在 Power BI 移动应用中,连接到 Reporting Services 实例。 输入通过应用程序代理发布的应用程序的“外部 URL”。
选择,连接。 Microsoft Entra 登录页面正在加载。
输入用户的有效凭据,然后选择“登录”。 Reporting Services 服务器中的元素被显示。
步骤 5:为托管设备配置 Intune 策略(可选)
可以使用 Microsoft Intune 来管理公司员工使用的客户端应用。 Intune 提供数据加密和访问要求等功能。 使用 Intune 策略启用 Power BI 移动应用程序。
- 浏览到“标识”>“应用程序”>“应用注册”。
- 注册本机客户端应用程序时,选择在步骤 3 中配置的应用程序。
- 在应用程序的页面上,选择 API 权限。
- 选择“添加权限”。
- 在“我的组织使用的 API”下,搜索“Microsoft 移动应用程序管理”并将其选中。
- 将 DeviceManagementManagedApps.ReadWrite 权限添加到应用程序。
- 选择“授予管理员同意”以授予对应用程序的访问权限。
- 通过引用 如何创建和分配应用保护策略来配置所需的 Intune 策略。
故障 排除
如果应用程序在尝试加载报表超过几分钟后返回错误页,则可能需要更改超时设置。 默认情况下,应用程序代理支持最多需要 85 秒才能响应请求的应用程序。 若要将此设置延长为 180 秒,请在应用程序的应用程序代理设置页中将后端超时选为“长”。 有关如何创建快速可靠的报表的提示,请参阅 Power BI 报表最佳做法。
条件访问策略不支持使用 Microsoft Entra 应用程序代理让 Power BI 移动应用连接到内部的 Power BI 报表服务器,因为这些策略要求 Microsoft Power BI 应用作为一个认可的客户端应用。