從 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 通訊協定連線到報表伺服器。 使用 OAuth 並且在 Windows Server 2016 上配置了 AD FS 和 Web 應用程式 Proxy (WAP) 的客戶,必須將 AD FS 伺服器升級至 Windows Server 2019 或更新版本,或使用 Microsoft Entra 應用程式 Proxy。 在 Windows Server 升級之後,Power BI Mobile 應用程式使用者可能必須重新登入報表伺服器。
行動應用程式所使用的身份驗證庫變更促使此升級。 此變更絕不會影響 Microsoft 對 Windows Server 2016 上 AD FS 的支援,而只會影響 Power BI 行動版應用程式的連接能力。
網域名稱服務(DNS)組態
公用 URL 是 Power BI 行動應用程式將連線的 URL。 例如,它看起來可能如下所示。
https://reports.contoso.com
您的 DNS 記錄將 和 報告給 Web 應用程式 Proxy(WAP)伺服器的公用 IP 位址。 您也需要為 AD FS 伺服器設定公用 DNS 記錄。 例如,您可能已使用下列 URL 來設定 AD FS 伺服器。
https://fs.contoso.com
您的 DNS 記錄 fs 對應到 Web 應用程式 Proxy(WAP)伺服器的公用 IP 位址,因為它將作為 WAP 應用程式的一部分進行發佈。
證書
您必須設定 WAP 應用程式和 AD FS 伺服器的憑證。 這兩個憑證都必須是行動裝置可辨識的有效證書頒發機構單位的一部分。
Reporting Services 設定組態
Reporting Services 端不需要太多配置。 您只需要確定:
- 有有效的服務主體名稱 (SPN) ,以便進行適當的 Kerberos 驗證。
- 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 伺服器上設定 AD FS。 設定可以透過伺服器管理員完成,然後選取 [管理] 底下的 [新增角色和功能]。 如需詳細資訊,請參閱 Active Directory Federation Services。
重要
自 2025 年 3 月 1 日起,Power BI 行動裝置應用程式將無法再透過 Windows Server 2016 上設定的 AD FS 連線到報表伺服器。 請參閱本文開頭的 附註。
建立應用程式群組
在AD FS管理畫面內,您想要建立 Reporting Services 的應用程式群組,其中包含 Power BI Mobile 應用程式的資訊。
您可以使用下列步驟建立應用程式群組。
在 AD FS 管理應用程式中,以滑鼠右鍵按兩下 [應用程式群組],然後選取 [[新增應用程式群組...]
在 [新增應用程式群組精靈] 中,為應用程式群組提供 名稱,然後選取 [原生應用程式存取 Web API]。
選取 [[下一步]。
為您要新增的應用程式提供 名稱。
雖然 用戶端標識碼 會為您自動生成,請在 iOS 和 Android 中輸入 484d54fc-b481-4eee-9505-0258a1913020。
您要新增下列 重新導向 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.powerbimobilemsAndroid Apps 只需要下列步驟:
urn:ietf:wg:oauth:2.0:oob選取 下一步。
提供報表伺服器的 URL。 URL 是將會訪問你 Web 應用程式代理的外部 URL。 其格式應如下。
注意
此 URL 區分大小寫!
https://<report server url>/reports
選取 下一步。
選擇符合組織需求的 訪問控制原則。
選取 下一步。
選擇 下一步。
選取 下一步。
選取 [關閉]。
完成時,您應該會看到應用程式群組的屬性如下所示。
現在在 AD FS 伺服器上執行下列 PowerShell 命令,以確保支援令牌重新整理。
Set-AdfsApplicationPermission -TargetClientRoleIdentifier '484d54fc-b481-4eee-9505-0258a1913020' -AddScope 'openid'
Web 應用程式代理設定
您想在您環境中的伺服器上啟用 Windows 的 Web 應用程式 Proxy 角色。 它必須位於 Windows 伺服器上。 如需詳細資訊,請參閱 Windows Server 中的 Web 應用程式 Proxy 和使用 AD FS 預先驗證發佈應用程式 。
限制委派組態
若要從 OAuth 驗證轉換至 Windows 驗證,我們需要使用限制委派搭配通訊協議轉換。 這是 Kerberos 設定的一部分。 我們已在 Reporting Services 組態中定義 Reporting Services SPN。
我們需要在 Active Directory 內的 WAP 伺服器電腦帳戶上設定限制委派。 如果您沒有 Active Directory 的許可權,您可能需要與網域系統管理員合作。
若要設定限制委派,您需要執行下列步驟。
在已安裝 Active Directory 工具的電腦上,啟動 Active Directory 使用者和電腦。
尋找 WAP 伺服器的機器帳戶。 根據預設,它位於計算機容器中。
以滑鼠右鍵按下 WAP 伺服器,然後移至 [屬性]。
選取 [委派] 選項卡。
選取 信任這部計算機,僅委派至指定的服務,然後 使用任何驗證通訊協定。
這會設定此 WAP 伺服器電腦帳戶的受限委派。 然後,我們需要指定允許此計算機委派的服務。
在 [服務] 方塊底下,選取 [新增…]。
選取 [使用者或計算機...
輸入您用於 Reporting Services 的服務帳戶。 此帳戶是您在 Reporting Services 設定中新增 SPN 的帳戶。
選取 Reporting Services 的 SPN,然後選取 [確定] 。
注意
您只能看到 NetBIOS SPN。 如果兩者都存在,它實際上會同時選取 NetBIOS 和 FQDN SPN。
核取 [展開] 複選框時,結果看起來應該如下所示。
選取 [確定]。
新增 WAP 應用程式
雖然您可以在報表存取管理控制台內發佈應用程式,但我們想要透過PowerShell建立應用程式。 以下是新增應用程式的命令。
Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/ -ExternalCertificateThumbprint "AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00" -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。 |
後端伺服器驗證SPN | 您在 Reporting Services 組態中建立的服務主體名稱 (SPN)。 |
設定 WAP 應用程式的整合式驗證
新增 WAP 應用程式之後,您必須將 BackendServerAuthenticationMode 設定為使用 IntegratedWindowsAuthentication。 您需要來自 WAP 應用程式的識別碼,才能進行設定。
Get-WebApplicationProxyApplication "Contoso Reports" | fl
執行下列命令,以使用 WAP 應用程式的標識碼來設定 BackendServerAuthenticationMode。
Set-WebApplicationProxyApplication -id 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -BackendServerAuthenticationMode IntegratedWindowsAuthentication
使用 Power BI 行動應用程式連線
在 Power BI 行動裝置應用程式中,您想要連線到 Reporting Services 實例。 若要這樣做,請為您的 WAP 應用程式提供 外部 URL。
當您選取 [Connect時,系統會將您導向至 AD FS 登入頁面。 輸入網域的有效認證。
選取 登入之後,您會看到您的 Reporting Services 伺服器中的項目。
多重要素驗證
您可以啟用多重要素驗證,為您的環境啟用其他安全性。 若要深入瞭解,請參閱 使用 AD FS設定 Microsoft Entra 多重要素驗證作為驗證提供者。
故障排除
您收到「無法登入 SSRS 伺服器」錯誤
您可以設定 Fiddler 作為您行動裝置的代理,藉此查看請求進行的程度。 若要為手機裝置啟用 Fiddler Proxy,您必須在執行 Fiddler 的電腦上設定適用於 iOS 和 Android 的 CertMaker。 這個附加元件是 Telerik 為 Fiddler 開發的。
如果在使用 Fiddler 時登入成功,那麼您可能會遇到 WAP 應用程式或 AD FS 伺服器的憑證問題。
相關內容
- 為報表伺服器註冊服務主體名稱 (SPN)
- 修改 Reporting Services 設定檔
- 在報表伺服器上設定 Windows 驗證
- Active Directory 同盟服務
- 在 Windows Server 中 Web 應用程式 Proxy
- 發佈使用 AD FS 預驗證的應用程式
-
使用 AD FS 將 Microsoft Entra 多重要素驗證配置為驗證提供者
其他問題嗎? 試用Power BI社群