分享方式:


從 Power BI 行動應用程式連線到 Power BI 報表伺服器和 SSRS

本文討論如何設定您的環境以使用 Power BI 行動裝置應用程式支援 OAuth 驗證,才能連線至 Power BI 報表伺服器和 SQL Server Reporting Services 2016 或更新版本。

需求

Web 應用程式 Proxy (WAP) 和 Active Directory 同盟服務 (AD FS) 伺服器需要 Windows Server。 您不需要有 Windows 功能等級網域。

為了讓使用者能夠將報表伺服器連線新增至其 Power BI 行動應用程式,您必須將報表伺服器的主資料夾存取權授予他們。

注意

自 2025 年 3 月 1 日起,Power BI 行動版 應用程式將無法再透過 Windows Server 2016 上設定的 AD FS,使用 OAuth 通訊協定連線到報表伺服器。 在 Windows Server 2016 和 Web 應用程式 Proxy (WAP) 上使用 OAuth 搭配 AD FS 的客戶,必須將其 AD FS 伺服器升級至 Windows Server 2019 或更新版本,或使用 Microsoft Entra 應用程式 Proxy。 在 Windows 伺服器升級之後,Power BI 行動版 應用程式使用者可能必須重新登入報表伺服器。

行動應用程式所使用的驗證媒體櫃變更需要此升級。 變更絕不會影響 Windows Server 2016 上 AD FS Microsoft 支援服務,而只會影響 Power BI 行動版 應用程式連線的能力。

網域名稱系統 (DNS) 設定

公用 URL 是 Power BI 行動裝置應用程式將連線至的 URL。 例如,它可能看起來如下所示。

https://reports.contoso.com

報表對 Web 應用程式 Proxy (WAP) 伺服器公用 IP 位址的 DNS 記錄。 您也需要設定 AD FS 伺服器的公用 DNS 記錄。 例如,您可能已使用下列 URL 來設定 AD FS 伺服器。

https://fs.contoso.com

fs 對 Web 應用程式 Proxy (WAP) 伺服器公用 IP 位址的 DNS 記錄,因為它將會發行為 WAP 應用程式的一部分。

憑證

您必須為 WAP 應用程式和 AD FS 伺服器設定憑證。 這兩個憑證都必須是行動裝置所辨識之有效憑證授權單位的一部分。

Reporting Services 設定

在 Reporting Services 端上不需要進行太多設定。 您只需要確定:

服務主體名稱(SPN)

SPN 是使用 Kerberos 驗證之服務的唯一識別碼。 您需要確定具有報表伺服器的適當 HTTP SPN。

如需如何設定報表伺服器之適當服務主體名稱 (SPN) 的資訊,請參閱為報表伺服器註冊服務主體名稱 (SPN)

啟用交涉驗證

若要讓報表伺服器使用 Kerberos 驗證,您需要將報表伺服器的驗證類型設定為 RSWindowsNegotiate。 您是在 rsreportserver.config 檔案內完成。

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

如需詳細資訊,請參閱修改 Reporting Services 設定檔設定報表伺服器上的 Windows 驗證

Active Directory 同盟服務 (AD FS) 設定

您需要在環境內的 Windows 伺服器上設定 ADFS。 透過伺服器管理員並選取 [管理] 下的 [新增角色及功能] 即可完成設定。 如需詳細資訊,請參閱 Active Directory Federation Services

重要

自 2025 年 3 月 1 日起,Power BI 行動版 應用程式將無法再透過 Windows Server 2016 上設定的 AD FS 連線到報表伺服器。 請參閱本節開頭的筆記的注意事項。

建立應用程式群組

在 [AD FS 管理] 畫面內,您要建立 Reporting Services 的應用程式群組,其中包含 Power BI 行動版應用程式的資訊。

您可以使用下列步驟來建立應用程式群組。

  1. 在 [AD FS 管理] 應用程式內,以滑鼠右鍵按一下 [應用程式群組],然後選取 [新增應用程式群組]

    AD FS 新增應用程式

  2. 在 [新增應用程式群組精靈] 內,提供應用程式群組的名稱,然後選取 [存取 Web API 的原生應用程式]

    AD FS 應用程式群組精靈 01

  3. 選取 [下一步]。

  4. 提供所新增應用程式的名稱

  5. 自動產生用戶端識別碼時,請針對 iOS 和 Android 輸入 484d54fc-b481-4eee-9505-0258a1913020。

  6. 您要新增下列重新導向 URL

    Power BI Mobile 的項目 - iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilems

    Android 應用程式只需要遵循下列步驟:
    urn:ietf:wg:oauth:2.0:oob

    AD FS 應用程式群組精靈 02

  7. 選取 [下一步]。

  8. 提供報表伺服器的 URL。 此 URL 是將會叫用您 Web 應用程式 Proxy 的外部 URL。 它的格式應該如下。

    注意

    此 URL 區分大小寫!

    https://<report server url>/reports

    AD FS 應用程式群組精靈 03

  9. 選取 [下一步]。

  10. 選擇符合您組織需求的存取控制原則

    AD FS 應用程式群組精靈 04

  11. 選取 [下一步]。

  12. 選取 [下一步]。

  13. 選取 [下一步]。

  14. 選取關閉

完成時,您應該會看到應用程式群組的內容,如下所示。

AD FS 應用程式群組精靈

現在在 AD FS 伺服器上執行下列 PowerShell 命令,以確保支援權杖重新整理。

Set-AdfsApplicationPermission -TargetClientRoleIdentifier '484d54fc-b481-4eee-9505-0258a1913020' -AddScope 'openid'

Web 應用程式 Proxy (WAP) 設定

您要在環境內的伺服器上啟用 Windows 角色「Web 應用程式 Proxy」(角色)。 它必須位於 Windows 伺服器上。 如需詳細資訊,請參閱 Web Application Proxy in Windows Server (Windows 伺服器中的 Web 應用程式 Proxy) 和 Publishing Applications using AD FS Preauthentication (使用 AD FS 預先驗證發行應用程式)。

限制委派設定

若要從 OAuth 驗證轉換為 Windows 驗證,我們需要搭配使用限制委派與通訊協定轉換。 這是 Kerberos 設定的一部分。 我們已經在 Reporting Services 設定內定義 Reporting Services SPN。

我們需要在 Active Directory 內設定 WAP 伺服器電腦帳戶的限制委派。 如果您沒有 Active Directory 的權限,則可能需要使用網域系統管理員。

若要設定限制委派,您要執行下列步驟。

  1. 在已安裝 Active Directory 工具的電腦上,啟動 [Active Directory 使用者和電腦]

  2. 尋找 WAP 伺服器的電腦帳戶。 根據預設,該帳戶位於電腦容器中。

  3. 以滑鼠右鍵按一下 WAP 伺服器,並移至 [內容]

  4. 選取 [委派] 索引標籤。

  5. 選取 [信任這台電腦,但只委派指定的服務],然後選取 [使用任何驗證通訊協定]

    限制的 WAP

    這會設定此 WAP 伺服器電腦帳戶的限制委派。 接著,我們需要指定允許委派此電腦的服務。

  6. 在 [服務] 方塊下選取 [新增…]

    限制的 WAP 02

  7. 選取 [使用者或電腦...]

  8. 輸入您要用於 Reporting Services 的服務帳戶。 此帳戶是您在 Reporting Services 設定內新增 SPN 的帳戶。

  9. 選取 Reporting Services 的 SPN,然後選取 [確定]

    注意

    您只能看到 NetBIOS SPN。 它實際會選取 NetBIOS 和 FQDN SPN (如果兩者都存在)。

    限制的 WAP 03

  10. 核取 [展開] 核取方塊時,結果應該與下列類似。

    限制的 WAP 04

  11. 選取 [確定]。

新增 WAP 應用程式

在 Report Access 管理主控台內發行應用程式時,我們想要透過 PowerShell 建立應用程式。 以下是新增應用程式的命令。

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl https://ContosoSSRS/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
參數 註解
ADFSRelyingPartyName 您建立為 AD FS 內應用程式群組一部分的 Web API 名稱。
ExternalCertificateThumbprint 用於外部使用者的憑證。 憑證在行動裝置上必須是有效的,並且來自受信任的憑證授權單位。
BackendServerUrl 從 WAP 伺服器到報表伺服器的 URL。 如果 WAP 伺服器位於 DMZ 中,您可能需要使用完整網域名稱。 請確定您可以在 WAP 伺服器上從網頁瀏覽器叫用這個 URL。
BackendServerAuthenticationSPN 您建立為 Reporting Services 設定一部分的 SPN。

設定 WAP 應用程式的整合式驗證

新增 WAP 應用程式之後,需要設定 BackendServerAuthenticationMode 使用 IntegratedWindowsAuthentication。 若要進行這項設定,您需要來自 WAP 應用程式的識別碼。

Get-WebApplicationProxyApplication "Contoso Reports" | fl

新增應用程式群組

執行下列命令,使用 WAP 應用程式的識別碼來設定 BackendServerAuthenticationMode。

Set-WebApplicationProxyApplication -id 30198C7F-DDE4-0D82-E654-D369A47B1EE5 -BackendServerAuthenticationMode IntegratedWindowsAuthentication

新增應用程式群組精靈

與 Power BI 行動裝置應用程式連接

在 Power BI 行動裝置應用程式內,您要連線至 Reporting Services 執行個體。 若要這樣做,請提供 WAP 應用程式的外部 URL

輸入伺服器位址

選取 [連線] 時,系統會將您導向至 AD FS 登入頁面。 請輸入您網域的有效認證。

登入 AD FS

選取 [登入] 後,您會看到來自 Reporting Services 伺服器的元素。

多重要素驗證

您可以啟用 Multi-Factor Authentication 來啟用環境的額外安全性。 若要深入了解,請參閱使用AD FS 將 Microsoft Entra 多重要素驗證設定為驗證提供者

疑難排解

您收到「無法登入 SSRS 伺服器」錯誤

「無法登入 SSRS 伺服器」錯誤

您可以設定 Fiddler 作為您行動裝置的 Proxy,來查看提出它的要求有多遠。 若要啟用手機裝置的 Fiddler Proxy,您需要在執行 Fiddler 的電腦上設定 CertMaker for iOS and Android。 該附加元件是來自 Telerik for Fiddler。

如果使用 Fiddler 時登入成功,您可能會有 WAP 應用程式或 AD FS 伺服器的憑證問題。