分享方式:


Power BI 使用案例:為客戶內嵌

注意

本文構成Power BI實作規劃系列文章的一部分。 此系列主要著重於 Microsoft Fabric 內的 Power BI 體驗。 如需系列簡介,請參閱 Power BI 實作規劃

此使用案例著重於開發人員如何在客戶的自定義應用程式中以程序設計方式內嵌Power BI內容。 (開發人員不一定負責建立Power BI內容。 當應用程式物件包含沒有許可權或適當授權來存取您組織中 Power BI 內容的使用者時,就會套用適用於您的客戶 的內嵌案例。 自定義應用程式需要具有許可權和適當授權的內嵌身分識別,才能存取 Power BI 內容。 自訂應用程式可以是多租用戶應用程式。

注意

在此案例中,Power BI 為平台即服務 (PaaS)。 內嵌案例有時稱為 App擁有數據

案例圖表

下圖描述支援為客戶內嵌的最常見用戶動作和 Power BI 元件的高階概觀。

圖表顯示為客戶內嵌,也就是將內容整合到外部應用程式。下表說明圖表中的專案。

提示

如果您想要將其內嵌在簡報、檔或部落格文章中,建議您下載案例圖表,或將其列印成牆面海報。 因為它是可調整的向量圖形 (SVG) 影像,因此您可以相應增加或減少,而不會遺失品質。

上圖描述下列使用者動作、工具和功能:

項目 說明
專案 1. Power BI 內容建立者會使用 Power BI Desktop 開發 BI 解決方案。
專案 2. 準備好時,內容建立者會將Power BI Desktop 檔案 (.pbix) 或Power BI項目檔 (.pbip) 發佈至 Power BI 服務
專案 3. 某些數據源可能需要 內部部署數據網關或 VNet 閘道 進行數據重新整理,例如位於私人組織網路內的數據源。
專案 4. Power BI 工作區包含準備內嵌的 Power BI 專案。 內嵌身分識別,無論是服務主體還是主要用戶帳戶,都必須屬於工作區 管理員 或成員角色。 在多租用戶解決方案中,藉由為每個租使用者建立一個工作區,以達成租用戶的區隔。 此一設計模式稱為「工作區分隔」
專案 5. 自定義應用程式會提示應用程式使用者使用任何驗證方法進行驗證(不一定是 Microsoft Entra ID,先前稱為 Azure Active Directory)。
專案 6. 驗證成功時,自定義應用程式會使用內嵌身分識別來取得和快取 Microsoft Entra 存取令牌。
專案 7. 自定義應用程式會使用 Microsoft Entra 存取令牌,代表內嵌身分識別進行 Power BI REST API 呼叫。 具體而言,應用程式會使用存取令牌來擷取工作區專案的元數據。 元數據包含在自定義應用程式中內嵌內容所需的屬性。 它也會使用存取令牌來產生和快取內嵌令牌,其代表Power BI內容的事實,以及應用程式如何存取它。
專案 8. 自訂應用程式會在 HTML 專案中內嵌特定的 Power BI 專案 iframe 。 應用程式可以支援建立和編輯Power BI報表,前提是內嵌身分識別具有執行此動作的許可權。
專案 9. Power BI 系統管理員會監督和監視 Power BI 服務 中的活動。

重點

以下是一些重點,以程序設計方式在客戶的自定義應用程式中內嵌Power BI內容。

使用案例

通常,為您的客戶內嵌是由獨立軟體供應商 (ISV) 完成的。 ISV 可辨識在應用程式中內嵌分析的需求。 它可讓使用者直接存取內容中的深入解析,協助他們根據事實而不是意見做出決策。 內嵌 Power BI 內容通常較快且成本較低的視覺效果,而不是開發視覺效果。

ISV 可以開發 多租使用者應用程式,其中每個客戶都是租使用者。 內嵌 Power BI 分析的多租使用者應用程式會針對您的客戶案例使用內嵌,因為應用程式使用者包含外部使用者。 本文稍後會詳細說明多租用戶應用程式。

可內嵌的內容

為客戶內嵌時,您可以內嵌下列 Power BI 內容類型:

  • Power BI 報表
  • 特定的Power BI報表視覺效果
  • 分頁報表
  • 問答體驗
  • 儀表板​​
  • 特定的儀表板圖格

內容所在的位置沒有限制,但內容不能位於個人工作區中。 重要的是內嵌身分識別有權檢視或建立或編輯內容。

驗證

驗證流程是 使用 Microsoft Entra ID 的非互動式驗證 (也稱為 無訊息驗證)。 非互動式驗證表示應用程式使用者不需要擁有Power BI 帳戶,即使這麼做,也不會使用。 因此,專用的 Microsoft Entra 身分識別,稱為內嵌身分識別,會使用 Microsoft Entra 標識符進行驗證。 內嵌身分識別可以是服務主體或主要用戶帳戶(稍後所述)。

驗證流程會嘗試以驗證服務無法提示使用者提供其他資訊的方式取得 Microsoft Entra 令牌。 一旦應用程式使用者向應用程式進行驗證(應用程式可以使用任何驗證方法),應用程式就會使用內嵌身分識別,使用非互動式驗證流程來取得 Microsoft Entra 令牌。

應用程式取得 Microsoft Entra 令牌之後,它會快取它,然後使用它來產生 內嵌令牌。 內嵌權杖表示 Power BI 內容和其存取方式的相關事實。 應用程式會使用內嵌令牌在 HTML 元素內 iframe 嵌內容。

服務主體

應用程式可以使用服務主體來取得 Microsoft Entra 令牌。 Microsoft Entra 服務主體是應用程式所使用的安全性身分識別。 它會定義 Microsoft Entra 租使用者中應用程式的存取原則和許可權、在登入期間啟用應用程式驗證,以及在資源存取期間授權等核心功能。 服務主體可以使用應用程式密碼或憑證進行驗證。 當 [允許服務主體使用 Power BI API 租使用者] 設定時,服務主體只能使用 Power BI REST API,且服務主體屬於允許的群組。

提示

針對實際執行應用程式,建議使用服務主體。 它提供最高的安全性,因此它是 Microsoft Entra ID 建議的方法。 此外,也支援更佳的自動化和規模,而且減少管理額外負荷。 不過,其需要 Power BI 系統管理員權限才能設定和管理。

主使用者帳戶

應用程式可以使用 主要用戶帳戶 來取得AD令牌。 主要用戶帳戶是一般 Microsoft Entra 使用者。 在 Power BI 中,帳戶必須屬於工作區 管理員 或成員角色,才能內嵌工作區內容。 其也必須具有 Power BI Pro 或 Power BI Premium Per User (PPU) 授權。

注意

您無法使用主要使用者帳戶來內嵌編頁報表。

如需內嵌身分識別的詳細資訊,請參閱 設定內嵌Power BI內容的許可權。

授權

為您的客戶內嵌 Power BI 內容時,您必須確保內容位於具有下列其中一種授權模式的工作區中:

  • 進階版 容量:Power BI 進階版 提供此授權模式。
  • 內嵌:Power BI Embedded 提供此授權模式。
  • 網狀架構容量: 此授權模式適用於 Microsoft Fabric

重要

本文有時是指 Power BI 進階版 或其容量訂用帳戶 (P SKU)。 請注意,Microsoft 目前正在合併購買選項,並淘汰每個容量 SKU 的 Power BI 進階版。 新的和現有的客戶應該考慮改為購買網狀架構容量訂用帳戶(F SKU)。

如需詳細資訊,請參閱 Power BI 進階版 授權Power BI 進階版 常見問題的重要更新。

每一個授權模式選項都需要購買「容量型」授權的計費產品。 容量型授權可讓您建立「保留容量」

容量代表處理工作負載所需的計算資源,例如,報表轉譯與資料重新整理。 「保留」容量會與其他客戶的工作負載隔離,因此可提供可靠且一致性效能的規模。

注意

您無法在生產環境中搭配 Fabric(免費)、Power BI Pro 或 Power BI PPU 授權使用內嵌客戶 案例。

如需產品與授權的詳細資訊,請參閱 選取適當的PowerBI內嵌式分析產品

Power BI 用戶端 API

Power BI 用戶端 API 可讓開發人員在自定義應用程式與 Power BI 內容之間達成緊密整合。 他們會使用在瀏覽器中執行的 JavaScript 或 TypeScript 撰寫自訂邏輯來開發應用程式。

應用程式可以設定和自動化作業,而且可以回應使用者起始的動作。 此外,您可以整合 Power BI 功能,包括瀏覽、篩選和交叉分析篩選器、功能表作業、版面配置和書籤。

提示

Power BI Embedded Analytics 遊樂場是一個網站,可協助您學習、探索及實驗 Power BI 內嵌式分析。 其中包含適用於實際操作體驗的開發人員沙箱,其會搭配用戶端 API 使用範例 Power BI 內容或您自己的內容。 程式碼片段和展示項目也可供您探索。

如需詳細資訊,請參閱什麼是 Power BI 內嵌式分析遊樂場?

強制執行數據許可權

當應用程式使用者只能存取檢視數據子集時,您需要開發一個解決方案,以限制對 Power BI 語意模型(先前稱為數據集)數據的存取。 原因可能是某些使用者不允許檢視特定資料,例如其他銷售區域的銷售結果。 達成此需求通常涉及設定資料列層級安全性 (RLS),這涉及定義篩選模型資料的角色和規則。

當您使用 「客戶」案例時,應用程式必須設定內嵌令牌的有效身分識別,以限制數據的存取。 此有效身分識別會決定Power BI 如何連線到模型,以及其如何強制執行 RLS 角色。 設定有效身分識別的方式取決於Power BI語意模型的類型。

如需內嵌內容的 RLS 角色詳細資訊,請參閱 強制執行 Power BI 內嵌分析的數據許可權。

多租用戶應用程式

多個組織可以使用多租用戶應用程式,其中每個組織都是租使用者。 內嵌 Power BI 分析的多租使用者應用程式可以使用 內嵌客戶 案例,因為應用程式使用者包含外部使用者。 設計多租使用者應用程式時,您可以從兩個不同的租用模型中進行選擇。

建議的方法是使用工作區分隔模型。 您可以為每個租用戶建立一個 Power BI 工作區來達成此作法。 每個工作區都包含該租用戶專屬的Power BI成品,語意模型會連線到每個租用戶的個別資料庫。

提示

如需工作區隔離模型的詳細資訊,請參閱 自動化工作區區隔。 如需可調整多租使用者應用程式的詳細資訊,請參閱 Power BI Embedded 中多租使用者應用程式的服務主體配置檔。

或者,也提供單一的「多客戶資料庫」模型。 當您使用此模型時,您的解決方案會透過包含一組跨所有租用戶共用的Power BI專案的單一工作區來達成區隔。 語意模型中定義的 RLS 角色將有助於更安全地篩選數據,以確保組織只檢視自己的數據。

無程式代碼內嵌

開發程式設計解決方案需要技能、時間和精力。 請考慮有一種內嵌技術稱為無程式代碼內嵌,非開發人員可用來在Power Pages內嵌Power BI報表或儀錶板。

閘道安裝

通常,存取位於私人組織網路或虛擬網路內的數據源時, 需要數據網關 。 網關的兩個用途是重新 整理匯入的數據,或檢視查詢即時連線或 DirectQuery 語意模型的報表。

注意

強烈建議您透過個人模式的閘道,使用標準模式集中式數據閘道。 在標準模式中,數據閘道支持即時連線和 DirectQuery 作業(除了排程的數據重新整理作業)。

系統監督

活動記錄檔會記錄 Power BI 服務 中發生的用戶活動。 Power BI 系統管理員可以使用收集的活動記錄數據來執行 稽核 ,以協助他們瞭解使用模式和採用。

若要深入瞭解Power BI內嵌式分析,請透過內 嵌Power BI分析 學習路徑。

您也可以在一天課程中完成Power BI 開發人員。 其中包含一個自學套件,可引導您完成開發 ASP.NET Core MVC 應用程式的程式。

如需可協助您進行Power BI實作決策的其他實用案例,請參閱 Power BI使用案例 一文。