次の方法で共有


セキュリティで保護されたポータルまたは Web サイトにレポートを埋め込む

Power BI レポートの埋め込みオプションを使うと、ユーザーは簡単かつ安全に内部 Web ポータルにレポートを埋め込むことができます。 ポータルはクラウドベースか、SharePoint 2019 など、ホステッド オンプレミスになります。 埋め込まれたレポートでは、行レベルのセキュリティ (RLS) と Analysis Services 表形式モデルのオブジェクト レベルのセキュリティ (OLS) を使って、すべての項目のアクセス許可とデータのセキュリティが守られます。 URL または iframe を受け入れるすべてのポータルに、ノーコードで埋め込むことができます。

[埋め込み] オプションでは URL フィルターと URL 設定がサポートされています。 これを使うと、HTML と JavaScript の基本的な知識だけを必要とするローコードの方法を使って、ポータルと統合できます。

重要

Chromium セキュリティ更新プログラムが進行中のため、埋め込み オプションは以前とまったく同じように機能しなくなり、ユーザーに複数回の認証を求められる場合があります。 これに対処するには、独自の Power BI 埋め込みソリューションを作成することを検討してください。

Power BI レポートをポータルに埋め込む方法

  1. Power BI サービスで、レポートを開きます。

  2. [ファイル] メニューで、 [レポートを埋め込む]>[Web サイトまたはポータル] の順に選択します。

  3. 表示される 安全な埋め込みコード ダイアログで、 このコンテンツを埋め込むために使用できるリンクの下にある値を選択します。 または、ブログまたは Web サイトで iframe を使う場合は、[HTML you can paste into a website] (Web サイトに貼り付けることのできる HTML) で値を選びます。

    埋め込みオプション ダイアログ ボックスのスクリーンショット

  4. ユーザーがレポートの URL を直接開くか、Web ポータルに埋め込まれているものを開くかに関係なく、レポートにアクセスするには認証が必要です。 ユーザーがブラウザー セッションで Power BI にサインインしていない場合、次の画面が表示されます。 [サインイン] を選ぶと、新しいブラウザー ウィンドウまたはタブが開きます。 サインインが求められない場合、ポップアップをブロックしていないか確認してもらいます。

    このレポート ダイアログを表示するためのサインインが表示されている Power BI サインイン ページのスクリーンショット。

  5. ユーザーがサインインすると、レポートが開き、データが表示され、ページ ナビゲーションとフィルター設定が許可されます。 表示アクセス許可を持つユーザーだけが、Power BI でレポートを表示できます。 行レベルのセキュリティ (RLS) 規則もすべて適用されます。 ユーザーはライセンスを正しく取得する必要があります。 彼らには Power BI Pro または Premium Per User (PPU) のライセンスが必要です。あるいはコンテンツが Power BI Premium 容量内のワークスペースに格納される必要があります。 ユーザーは、新しいブラウザー ウィンドウを開くたびにサインインする必要があります。 ただし、サインインした後は、他のレポートが自動的に読み込まれます。

    売上およびマーケティング サンプル レポートのスクリーンショット。

  6. iframe を使うとき、場合によっては、ポータルの Web ページに収まるように [高さ][幅] の値を編集する必要があります。

<iframe width="1080" height="760" src="https://app.powerbi.com/reportEmbed?reportId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true" frameborder="0" allowFullScreen="true"></iframe>

レポートへのアクセスを許可する

[埋め込む] オプションによって、ユーザーがレポートを表示することが自動的に許可されるわけではありません。 表示権限は Power BI サービスで設定されます。

Power BI サービスでは、アクセスを必要とするユーザーと埋め込みレポートを共有できます。 Microsoft 365 グループを使っている場合は、ワークスペースのメンバーとしてユーザーの一覧を指定できます。

ライセンス

埋め込みレポートを表示するには、Power BI Pro または Premium Per User (PPU) のライセンスが必要です。 または、Power BI Premium 容量 (EM または P SKU) 内のワークスペースにコンテンツを置く必要があります。

URL の設定を使って埋め込みエクスペリエンスをカスタマイズする

埋め込み URL の入力設定を使って、ユーザー エクスペリエンスをカスタマイズできます。 提供される iframe で、URL の src 設定を更新できます。

プロパティ 説明
pageName pageName クエリ文字列パラメーターを使用し、開くレポート ページを設定します。 後で示すように、この値は、Power BI サービスでレポートを表示したとき、レポートの URL の終わりにあります。
URL フィルター Power BI UI から受け取った埋め込み URL の URL フィルターを使って、埋め込みコンテンツをフィルター処理できます。 この方法では、基本的な HTML および JavaScript エクスペリエンスのみとのローコードの統合を構築できます。

埋め込まれたレポートに対して開くページを設定する

pageName の値は、Power BI サービスでレポートを表示したとき、レポートの URL の終わりにあります。

  1. Web ブラウザーで Power BI サービスからレポートを開き、アドレス バーの URL をコピーします。

    https://app.powerbi.com/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/reports/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ReportSection2
    
  2. pageName プロパティとその値を URL の末尾に追加します。

    https://app.powerbi.com/reportEmbed?reportId=/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true&pageName=ReportSection2
    

URL フィルターを使ってレポートの内容をフィルター処理する

URL フィルターを使用し、さまざまなレポート ビューを提供できます。 たとえば、次の URL では、エネルギー業界のデータを表示するようにレポートがフィルター処理されます。

pageNameURL フィルターを組み合わせて使うと強力です。 基本的な HTML と JavaScript を使ってエクスペリエンスを構築できます。

たとえば、次のようなボタンを HTML ページに追加できます。

<button class="textLarge" onclick='show("ReportSection", "Energy");' style="display: inline-block;">Show Energy</button>

ボタンを選ぶと、関数が呼び出され、エネルギー業界のフィルターを含む更新後の URL で iframe が更新されます。

function show(pageName, filterValue)

{

var newUrl = baseUrl + "&pageName=" + pageName;

if(null != filterValue && "" != filterValue)

{

newUrl += "&$filter=Industries/Industry eq '" + filterValue + "'";

}

//Assumes there's an iFrame on the page with id="iFrame"

var report = document.getElementById("iFrame")

report.src = newUrl;

}
https://app.powerbi.com/reportEmbed?reportId=/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true&pageName=ReportSection&filter=Industries/Industry eq 'Energy'

ボタンを好きなだけ追加して、ローコードのカスタム エクスペリエンスを作成できます。

考慮事項と制限事項

  • ページ分割されたレポートはセキュリティで保護された埋め込みシナリオでサポートされています。URL パラメーターを使用したページ分割されたレポートもサポートされています。 詳細については、「Power BI のページ分割されたレポートの URL 内でレポート パラメーターを渡す」を参照してください。

  • セキュリティ保護された埋め込みオプションは、Power BI サービスに発行されたレポートに対して機能します。

  • セキュリティで保護された方法で埋め込まれたコンテンツをホストするには、最上位のページに HTTPS を使う必要があります。 セキュリティで保護されていないホスト ページを使って、セキュリティで保護された方法で埋め込まれたコンテンツにアクセスすることはサポートされていません。

  • ユーザーは、新しいブラウザー ウィンドウまたはタブを開くたびに、サインインしてレポートを表示する必要があります。

  • 認証のために、ユーザーはポップアップ ウィンドウを有効にする必要があります。

  • ユーザーが過去にはレポートに正常にアクセスできたにもかかわらず、現在問題が発生している場合は、ブラウザーのキャッシュをクリアすることをお勧めします。

  • 一部のブラウザーでは、サインイン後にページを更新する必要があります (特に InPrivate または Incognito モードを使っている場合)。

  • サポートされていないブラウザー バージョンを使うと、問題が発生する可能性があります。 Power BI でサポートされているブラウザーの一覧については、「Power BI のサポートされているブラウザー」をご覧ください。

  • Web サイトで Cross-Origin-Opener-Policy (COOP) ヘッダーが "同じ配信元" に設定されている場合、MSAL ではこのヘッダーがサポートされていないため、サインインして埋め込みコンテンツを表示することはできません。 その代わりに、"restrict-properties" (Chromium ベースのブラウザーの場合) または "same-origin-allow-popups" を選択しますあるいは、クロスオリジン-Opener-Policy を変更できない場合は、iframe に埋め込む代わりに、埋め込み URL に直接リンクしてください。

  • 11 より前のバージョンの Internet Explorer を使うか、互換表示モードを有効にする必要があるため、クラシック SharePoint Server はサポートされていません。

  • シングル サインオン エクスペリエンスを実現するには、SharePoint Online に埋め込むオプションを使うか、ユーザー所有データ埋め込み方法を使ってカスタム統合を構築します。

  • [埋め込む] オプションで提供される自動認証機能は、Power BI JavaScript API では動作しません。 これらは、バージョン 2.10.4 以降の PBI 埋め込みクライアント SDK でブロックされます。 Power BI JavaScript API の場合は、ユーザー所有データ埋め込み方法を使います。

  • 自動認証機能は、モバイル アプリケーションやデスクトップ アプリケーションなど、アプリケーションに埋め込まれている場合には機能しません。

  • 認証トークンの有効期間は Microsoft Entra 設定に基づいて制御されます。 認証トークンの有効期限が切れると、ユーザーはもう一度サインインし、更新された認証トークンを取得する必要があります。 既定の有効期間は 1 時間ですが、組織によってはこれより短い、または長いことがあります。 このシナリオでは、トークンを自動的に更新することはできません。