チュートリアル: "顧客向けの埋め込み" サンプル アプリケーションを使用して Power BI コンテンツを埋め込む

適用対象: アプリ所有データ ユーザー所有データ

埋め込み分析Power BI Embedded (Azure プラン) を使用すると、レポート、ダッシュボードおよびタイルなどの Power BI コンテンツをアプリケーションに埋め込むことができます。

このチュートリアルでは、次の方法について説明します。

  • 埋め込み環境を設定する。
  • "顧客向けの埋め込み" ("アプリ所有データ" とも呼ばれます) サンプル アプリケーションを構成する。

アプリケーションを使用するために、ユーザーが Power BI にサインインしたり、Power BI ライセンスを持つ必要はありません。

独立ソフトウェア ベンダー (ISV) や開発者 (サード パーティ向けのアプリケーションを作成する必要がある) の場合は、"顧客向けの埋め込み" 方法を使用して Power BI コンテンツを埋め込むことをお勧めします。

重要

国/地域内クラウド向けのコンテンツを埋め込む場合は、このチュートリアルの最初のいくつかの手順が異なります。 詳細については、国/地域内クラウド向けのコンテンツの埋め込みに関するページを参照してください。

コード サンプルの仕様

このチュートリアルには、次のフレームワークのいずれかで "顧客向けの埋め込み" サンプル アプリケーションを構成する手順が含まれています。

  • .NET Framework
  • .NET Core
  • Java
  • Node JS
  • Python

このコード サンプルでは次のブラウザーがサポートされています。

  • Microsoft Edge
  • Google Chrome
  • Mozilla Firefox

前提条件

このチュートリアルを開始する前に、以下に一覧表示されている Power BI とコードの両方の依存関係があることを確認してください。

Method

"顧客向けの埋め込み" サンプル アプリを作成するには、これらの手順に従います。

  1. 認証方法を選択します

  2. Microsoft Entra アプリケーションを登録する

  3. Power BI ワークスペースを作成します

  4. Power BI レポートを作成して発行します

  5. 埋め込みパラメーター値を取得します

  6. サービス プリンシパル API アクセス

  7. ワークスペース アクセスを有効にします

  8. コンテンツを埋め込みます

手順 1 - 認証方法を選択する

埋め込みソリューションは、選択する認証方法によって異なります。 そのため、認証方法の違いを理解し、ソリューションに最適なものを決定することが重要です。

以下の表で、サービス プリンシパルマスター ユーザーの認証方法のいくつかの主な違いについて説明します。

考慮事項 サービス プリンシパル マスター ユーザー
メカニズム Microsoft Entra アプリのサービス プリンシパル オブジェクトを使用すると、Microsoft Entra で Power BI に対して埋め込みソリューション アプリを認証できます。 Microsoft Entra アプリでは Power BI ユーザーの資格情報 (ユーザー名とパスワード) を使用して、Power BI に対して認証を行います。
セキュリティ "サービス プリンシパル" は Microsoft Entra ID で推奨される承認方法です。 サービス プリンシパルを使う場合は、"アプリケーション シークレット" または "証明書" を使用して認証できます。

このチュートリアルでは、"サービス プリンシパル" と "アプリケーション シークレット" の使用についてのみ説明します。 "サービス プリンシパル" と "証明書" を使用して埋め込む場合は、サービス プリンシパルと証明書に関する記事を参照してください。
この認証方法は、"サービス プリンシパル" ほど安全ではありません。 "マスター ユーザー" の資格情報 (ユーザー名とパスワード) に注意する必要があります。 たとえば、それらは埋め込みアプリケーションで公開しないでください。また、パスワードを頻繁に変更してください。
Microsoft Entra ID の委任されたアクセス許可 必要なし。 "マスター ユーザー" または管理者は、アプリから Power BI REST API へのアクセス許可 (スコープとも呼ばれます) に対する同意を付与する必要があります。 たとえば、Report.ReadWrite.All です。
Power BI サービスへのアクセス "サービス プリンシパル" を使用して、Power BI サービスにアクセスすることはできません。 Power BI サービスには、"マスター ユーザー" の資格情報を使用してアクセスできます。
ライセンス Pro ライセンスは必要ありません。 ご自分がメンバーまたは管理者であるすべてのワークスペースのコンテンツを使用できます。 Power BI Pro または Premium Per User (PPU) のライセンスが必要です。

手順 2 - Microsoft Entra アプリケーションを登録する

Microsoft Entra ID にアプリケーションを登録すると、次のことが可能になります。

Microsoft Entra ID にアプリケーションを登録するには、アプリケーションの登録に関する手順に従います。

Note

アプリケーションを登録する前に、使用する認証方法 ("サービス プリンシパル" または "マスター ユーザー") を決定する必要があります。

手順 3 - Power BI ワークスペースを作成する

Power BI により、レポート、ダッシュボード、およびタイルがワークスペースに保持されます。 これらのアイテムを埋め込むには、それらを作成してワークスペースにアップロードする必要があります。

ヒント

既にワークスペースがある場合は、この手順を省略できます。

ワークスペースを作成するには、次のようにします。

  1. Power BI にサインインします。

  2. [ワークスペース] を選択します。

  3. [ワークスペースの作成] を選択します。

  4. ワークスペースに名前を付けて、 [保存] を選択します。

手順 4 - Power BI レポートを作成して発行する

次の手順では、レポートを作成してワークスペースにアップロードします。 Power BI Desktop を使用して独自のレポートを作成してから、ワークスペースにそれを発行することができます。 ワークスペースにサンプル レポートをアップロードすることもできます。

ヒント

レポートがあるワークスペースが既に存在する場合は、この手順を省略できます。

サンプル レポートをダウンロードしてワークスペースに発行するには、これらの手順に従います。

  1. GitHub の Power BI Desktop サンプル フォルダーを開きます。

  2. [コード] を選んでから、 [ZIP のダウンロード] を選択します。

    A screenshot showing the ZIP download option in the Power B I desktop samples GitHub

  3. ダウンロードした ZIP を抽出し、Samples Reports フォルダーに移動します。

  4. 埋め込むレポートを選択し、自分のワークスペースに発行します

手順 5 - 埋め込みパラメーター値を取得する

コンテンツを埋め込むには、特定のパラメーター値を取得する必要があります。 以下の表には必須の値が表示されており、"サービス プリンシパル" 認証方法、"マスター ユーザー" 認証方法、あるいはその両方に適用できるかどうかが示されています。

コンテンツを埋め込む前に、以下に一覧表示されているすべての値があることを確認してください。 一部の値は、使用する認証方法によって異なります。

パラメーター サービス プリンシパル マスター ユーザー
クライアント ID Applies to. Applies to.
ワークスペース ID Applies to. Applies to.
レポート ID Applies to. Applies to.
クライアント シークレット Applies to. Does not apply to.
テナント ID Applies to. Node JS の場合のみ必要
Power BI ユーザー名 Does not apply to. Applies to.
Power BI パスワード Does not apply to. Applies to.

Client ID

ヒント

適用対象: Applies to.サービス プリンシパル Applies to.マスター ユーザー

クライアント ID GUID ("アプリケーション ID" とも呼ばれます) を取得するには、これらの手順に従います。

  1. Microsoft Azure にログインします。

  2. [アプリの登録] を検索し、 [アプリの登録] リンクを選択します。

  3. Power BI コンテンツを埋め込むために使用する Microsoft Entra アプリを選択します。

  4. [概要] セクションで、 [アプリケーション (クライアント) ID] の GUID をコピーします。

ワークスペース ID

ヒント

適用対象: Applies to.サービス プリンシパル Applies to.マスター ユーザー

ワークスペース ID の GUID を取得するには、これらの手順に従います。

  1. Power BI サービスにサインインします。

  2. 埋め込むレポートを開きます。

  3. URL から GUID をコピーします。 GUID は /groups//reports/ の間にある数値です。

    A screenshot showing workspace ID GUID in the Power B I service U R L

または、[管理ポータル] の設定で、ワークスペース名の横にある [詳細] を選択して、ワークスペース ID を見つけることもできます。

A screenshot showing how to find the workspace I D from the admin settings.

レポート ID

ヒント

適用対象: Applies to.サービス プリンシパル Applies to.マスター ユーザー

テナント ID GUID を取得するには、次の手順に従います。

  1. Power BI サービスにサインインします。

  2. 埋め込むレポートを開きます。

  3. URL から GUID をコピーします。 GUID は /reports//ReportSection の間にある数値です。

    A screenshot showing report ID GUID in the Power B I service U R L

クライアント シークレット

ヒント

適用対象: Applies to.サービス プリンシパル Does not apply to.マスター ユーザー

クライアント シークレットを取得するには、これらの手順に従います。

  1. Microsoft Azure にログインします。

  2. [アプリの登録] を検索し、 [アプリの登録] リンクを選択します。

  3. Power BI コンテンツを埋め込むために使用する Microsoft Entra アプリを選択します。

  4. [管理] で、[証明書とシークレット] を選択します。

  5. [クライアント シークレット] で、 [新しいクライアント シークレット] を選択します。

  6. [クライアント シークレットの追加] ポップアップ ウィンドウで、アプリケーション シークレットの説明を入力し、アプリケーション シークレットの有効期限を選択し、 [追加] を選択します。

  7. [クライアント シークレット] セクションで、新しく作成されたアプリケーション シークレットの [値] 列にある文字列をコピーします。 そのクライアント シークレットの値が "クライアント ID" です。

注意

クライアント シークレットの値が最初に表示されときに、必ずそれをコピーしてください。 このページから移動すると、クライアント シークレットは表示されなくなり、その値を取得できなくなります。

テナント ID

ヒント

適用対象: Applies to.サービス プリンシパル Does not apply to.マスター ユーザー

テナント ID GUID を取得するには、これらの手順に従います。

  1. Microsoft Azure にログインします。

  2. [アプリの登録] を検索し、 [アプリの登録] リンクを選択します。

  3. Power BI コンテンツを埋め込むために使用する Microsoft Entra アプリを選択します。

  4. [概要] セクションで、 [ディレクトリ (テナント) ID] の GUID をコピーします。

Power BI のユーザー名とパスワード

ヒント

適用対象: Does not apply to.サービス プリンシパル Applies to.マスター ユーザー

マスター ユーザーとして使用する Power BI ユーザーの "ユーザー名" と "パスワード" を取得します。 これは、Power BI サービスで、ワークスペースを作成してレポートをアップロードするために使用したものと同じユーザーです。

手順 6 - サービス プリンシパル API アクセス

ヒント

適用対象: Applies to.サービス プリンシパル Does not apply to.マスター ユーザー

この手順は、"サービス プリンシパル" 認証方法を使用する場合にのみ関連します。 "マスター ユーザー" を使用する場合は、この手順を省略し、「手順 7 - ワークスペース アクセスを有効にする」に進んでください。

Microsoft Entra アプリから Power BI コンテンツおよび API にアクセスできるようにするには、Power BI 管理者が Power BI 管理ポータルでサービス プリンシパル アクセスを有効にする必要があります。 テナントの管理者でない場合は、テナントの管理者に連絡し、 [テナント設定] を有効にしてもらってください。

  1. "Power BI サービス" で、 [設定]>[設定]>[管理ポータル] の順に選択します。

    A screenshot showing the admin settings menu option in the Power B I service settings menu.

  2. [テナント設定] を選択してから、 [開発者の設定] セクションまで下にスクロールします。

  3. [Power BI API の使用をサービス プリンシパルに許可] を展開し、このオプションを有効にします。

    A screenshot showing how to enable the developer settings option, in the tenant settings menu option, in Power B I service.

Note

"サービス プリンシパル" を使用する場合は、"セキュリティ グループ" を使用してテナント設定へのアクセスを制限することをお勧めします。 この機能の詳細については、サービス プリンシパルに関する記事のこれらのセクションを参照してください。

手順 7 - ワークスペース アクセスを有効にする

Power BI サービスでレポート、ダッシュボード、セマンティック モデルなどの Microsoft Entra アプリのアクセス オブジェクトを有効にするには、"サービス プリンシパル" または "マスター ユーザー" を "メンバー" または "管理者" としてご利用のワークスペースに追加します。

  1. Power BI サービスにサインインします。

  2. アクセスを有効にするワークスペースまでスクロールし、 [その他] メニューで、 [ワークスペース アクセス] を選択します。

    Screenshot showing the workspace access button in the more menu of a Power B I workspace.

  3. [アクセス] ペインで、使用する認証方法に応じて、"サービス プリンシパル" または "マスター ユーザー" を [メール アドレスの入力] テキスト ボックスにコピーします。

    Note

    "サービス プリンシパル" を使用する場合、その名前は Microsoft Entra アプリに指定した名前になります。

  4. [追加] を選択します。

手順 8 - コンテンツを埋め込む

Power BI の埋め込みサンプル アプリケーションを使用すると、Power BI の "顧客向けの埋め込み" アプリを作成できます。

Power BI レポートを埋め込むには、これらの手順に従って、"顧客向けの埋め込み" サンプル アプリケーションを変更します。

  1. Power BI の開発者向けサンプル フォルダーを開きます。

  2. [コード] を選んでから、 [ZIP のダウンロード] を選択します。

    A screenshot showing the ZIP download option in the Power B I developer samples GitHub

  3. ダウンロードした ZIP ファイルを抽出し、PowerBI-Developer-Samples-master フォルダーに移動します。

  1. アプリで使用する言語に応じて、次のいずれかのフォルダーを開きます。

    • .NET Core
    • .NET Framework
    • Java
    • Node JS
    • Python

    注意

    "顧客向けの埋め込み" サンプル アプリケーションでサポートされるのは、上記の一覧にあるフレームワークのみです。 React サンプル アプリケーションでサポートされるのは、" 組織向けの埋め込み " ソリューションのみです。

  2. 顧客向けの埋め込みフォルダーを開きます。

  1. これらのいずれかの方法を使用して、"顧客向けの埋め込みサンプル アプリ" を開きます。

    • Visual Studio を使用する場合は、AppOwnsData.sln ファイルを開きます。

    • Visual Studio Code を使用する場合は、AppOwnsData フォルダーを開きます。

  2. appsettings.json を開きます。

  3. 認証方法に応じて、次のパラメーター値を入力します。

    パラメーター サービス プリンシパル マスター ユーザー
    AuthenticationMode ServicePrincipal MasterUser
    ClientId 独自の Microsoft Entra アプリのクライアント ID 独自の Microsoft Entra アプリのクライアント ID
    TenantId 独自の Microsoft Entra のテナント ID 該当なし
    PbiUsername 該当なし "マスター ユーザー" のユーザー名 (「Power BI のユーザー名とパスワード」を参照)
    PbiPassword 該当なし "マスター ユーザー" のパスワード (「Power BI のユーザー名とパスワード」を参照)
    ClientSecret Microsoft Entra ID のクライアント シークレット 該当なし
    WorkspaceId 埋め込みレポートがあるワークスペースの ID (「ワークスペース ID」を参照) 埋め込みレポートがあるワークスペースの ID (「ワークスペース ID」を参照)
    ReportId 埋め込むレポートの ID (「レポート ID」を参照) 埋め込むレポートの ID (「レポート ID」を参照)
  4. 適切なオプションを選択してプロジェクトを実行します。

    • Visual Studio を使用する場合は、 [IIS Express] (再生) を選択します。

    • Visual Studio Code を使用する場合は、[実行] > [デバッグの開始] の順に選択します。

アプリケーションの開発

"顧客向けの埋め込み" サンプル アプリケーションを構成して実行した後、独自のアプリケーションの開発を開始できます。

開発を開始し、Power BI Embedded のすべての新機能と更新プログラムに対応するには、Power BI 埋め込み分析プレイグラウンドをお試しください。

準備ができたら、運用開始の要件を確認します。 また、容量が必要であり、キャパシティ プランニングに関する記事を参照して、ニーズに最も適した SKU を確立する必要があります。

重要

無料の埋め込み試用版トークンを開発に使用した場合は、運用環境用の容量を購入する必要があります。 容量を購入するまで、"無料試用版バージョン" のバナーは埋め込みレポートの上部に引き続き表示されます。

他にわからないことがある場合は、 Power BI コミュニティでご質問ください