概述
本文介绍如何使用Microsoft Entra应用程序代理使Power BI移动应用能够连接到 Power BI Report Server (PBIRS) 和 SQL Server Reporting Services (SSRS) 2016 及更高版本。 通过此集成,远离企业网络的用户可以从Power BI移动应用访问其Power BI报表,并通过Microsoft Entra身份验证进行保护。 此保护包括条件访问和多重身份验证等 安全优势 。
先决条件
- 在您的环境中部署报表服务。
- 启用 Microsoft Entra 应用程序代理。
- 如果可能,请对Power BI使用相同的内部和外部域。 有关自定义域的详细信息,请参阅 使用应用程序代理中的自定义域。
步骤 1:配置 Kerberos 约束委派(KCD)
对于使用 Windows authentication 的本地应用程序,可以使用 Kerberos 身份验证协议和名为 Kerberos 约束委派(KCD)的功能实现单一登录(SSO)。 专用网络连接器使用 KCD 为用户获取Windows令牌,即使用户未直接登录到Windows。 有关 KCD 的详细信息,请参阅 Kerberos 约束委派概述 和 Kerberos 约束委派,以便使用应用程序代理单一登录应用。
Reporting Services端的配置很少。 若要进行正确的 Kerberos 身份验证,需要有效的服务主体名称(SPN)。 启用报表服务服务器以支持Negotiate身份验证。
配置服务主体名称(SPN)
SPN 是使用 Kerberos 身份验证的服务的唯一标识符。 报表服务器需要适当的 HTTP SPN。 有关如何为报表服务器配置适当的服务主体名称(SPN)的信息,请参阅为报表服务器注册服务主体名称(SPN)。
运行带有 Setspn 选项的 -L 命令,以验证 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 Users and Computers。
- 找到运行连接器的计算机。
- 双击并选择计算机,然后选择“ 委派 ”选项卡。
- 将委派设置设为“仅信任此计算机用于委派指定服务”。 然后选择“ 使用任何身份验证协议”。
- 选择添加,然后选择用户或计算机。
- 输入为Reporting Services设置的服务帐户。
- 选择“确定”。 若要保存更改,请再次选择“ 确定 ”。
有关详细信息,请参阅 使用应用程序代理实现单一登录到应用程序的 Kerberos 约束委托。
步骤 2:通过 Microsoft Entra 应用程序代理发布 Reporting Services
现在,你已准备好配置Microsoft Entra应用程序代理。
使用以下设置通过应用程序代理发布报表服务。 有关如何通过应用程序代理发布应用程序的分步说明,请参阅使用Microsoft Entra应用程序代理发布应用程序。
内部 URL:输入连接器可以在企业网络中访问的报表服务器的 URL。 请确保此 URL 是可以从连接器安装所在的服务器进行访问的。 最佳做法是使用一级域名(如
https://servername/),以免通过应用程序代理发布的子路径出现问题。 例如,使用https://servername/,而不是https://servername/reports/或https://servername/reportserver/。注释
使用与报表服务器的安全 HTTPS 连接。 有关配置安全连接的详细信息,请参阅 在本机模式报表服务器上配置安全连接。
External 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 Overview 页上,选择 App registrations。
在“ 所有应用程序 ”选项卡上,搜索在步骤 2 中创建的应用程序。
选择应用程序,然后选择身份验证。
添加平台的重定向 URI。
在 iOS 上为应用配置Power BI Mobile时,请添加类型为
Public Client (Mobile & Desktop)的重定向统一资源标识符(URI)。msauth://code/mspbi-adal%3a%2f%2fcom.microsoft.powerbimobilemsauth://code/mspbi-adalms%3a%2f%2fcom.microsoft.powerbimobilemsmspbi-adal://com.microsoft.powerbimobilemspbi-adalms://com.microsoft.powerbimobilems
在 Android 上为应用配置Power BI Mobile时,请添加类型为
Public Client (Mobile & Desktop)的重定向统一资源标识符(URI)。urn:ietf:wg:oauth:2.0:oobmspbi-adal://com.microsoft.powerbimobilemsauth://com.microsoft.powerbim/g79ekQEgXBL5foHfTlO2TPawrbI%3Dmsauth://com.microsoft.powerbim/izba1HXNWrSmQ7ZvMXgqeZPtNEU%3D
重要
必须为应用程序添加重定向 URI 才能正常工作。 如果您要为 Power BI Mobile iOS 和 Android 配置应用,请添加公共客户端(移动和桌面)类型的重定向 URI 到为 iOS 配置的重定向 URI 列表:
urn:ietf:wg:oauth:2.0:oob。
步骤 4:从 Power BI Mobile 应用进行连接
在Power BI移动应用中,连接到Reporting Services实例。 请输入您通过应用程序代理发布的应用程序的外部 URL。
选择 连接。 Microsoft Entra登录页加载。
输入用户的有效凭据,然后选择“登录”。 Reporting Services服务器中的元素将被显示。
步骤 5:为托管设备配置 Intune 策略(可选)
可以使用Microsoft Intune来管理公司员工使用的客户端应用。 Intune 提供数据加密和访问要求等功能。 使用 Intune 策略启用Power BI移动应用程序。
- 浏览到 Entra ID>应用注册。
- 注册本机客户端应用程序时,选择在步骤 3 中配置的应用程序。
- 在应用程序的页面上,选择 “API 权限”。
- 选择“添加权限”。
- 在组织使用的 APIs 下下,搜索并选择Microsoft移动应用程序管理。
- 将 DeviceManagementManagedApps.ReadWrite 权限添加到应用程序。
- 选择授予管理员同意以授予应用程序访问权限。
- 通过引用 如何创建和分配应用保护策略来配置所需的 Intune 策略。
Troubleshooting
如果应用程序在尝试加载报表超过几分钟后返回错误页,则可能需要更改超时设置。 默认情况下,应用程序代理支持最多需要 85 秒才能响应请求的应用程序。 若要将此设置延长到 180 秒,请在应用程序的应用程序代理设置页中选择后端超时到 Long 。 有关如何创建快速可靠的报表的提示,请参阅 Power BI 报表最佳做法。
条件访问策略不支持使用Microsoft Entra应用程序代理使Power BI移动应用连接到本地Power BI Report Server,这些策略要求Power BI应用作为批准的客户端应用。