チュートリアル:"顧客向けの埋め込み" サンプル アプリケーションを使用して 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. Azure AD アプリケーションを登録します

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注意

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

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

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

ヒント

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

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

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

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

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

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

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

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

ヒント

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

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

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

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

    GitHub の Power BI Desktop サンプルの ZIP ダウンロード オプションを示すスクリーンショット

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

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

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

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

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

パラメーター サービス プリンシパル マスター ユーザー
クライアント ID 適用対象: 適用対象:
ワークスペース ID 適用対象: 適用対象:
レポート ID 適用対象: 適用対象:
クライアント シークレット 適用対象: 適用対象外
テナント ID 適用対象: 適用対象外
Power BI ユーザー名 適用対象外 適用対象:
Power BI パスワード 適用対象外 適用対象:

クライアント ID

ヒント

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

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

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

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

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

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

ワークスペース ID

ヒント

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

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

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

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

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

    Power BI サービスの URL のワークスペース ID GUID を示すスクリーンショット

レポート ID

ヒント

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

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

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

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

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

    Power BI サービスの URL のレポート ID GUID を示すスクリーンショット

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

ヒント

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

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

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

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

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

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

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

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

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

注意

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

テナント ID

ヒント

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

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

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

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

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

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

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

ヒント

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

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

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

ヒント

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

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

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

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

    Power BI サービスの [設定] メニューの管理設定メニュー オプションを示すスクリーンショット

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

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

    Power BI サービスで、[テナント設定] メニュー オプションの [開発者の設定] オプションを有効にする方法を示すスクリーンショット

注意

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

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

Power BI サービスでレポート、ダッシュボードおよびデータセットなどの Azure AD アプリのアクセス成果物を有効にするには、"サービス プリンシパル" または "マスター ユーザー" を "メンバー" または "管理者" としてご利用のワークスペースに追加します。

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

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

    Power BI ワークスペースの [その他] メニューのワークスペース アクセス ボタンを示すスクリーンショット。

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

    注意

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

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

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

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

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

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

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

    GitHub の Power BI 開発者向けサンプルの ZIP ダウンロード オプションを示すスクリーンショット

  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 Azure AD アプリのクライアント ID Azure AD アプリのクライアント ID
    TenantId Azure AD のテナント ID 該当なし
    PbiUsername 該当なし "マスター ユーザー" のユーザー名 (「Power BI のユーザー名とパスワード」を参照)
    PbiPassword 該当なし "マスター ユーザー" のパスワード (「Power BI のユーザー名とパスワード」を参照)
    ClientSecret Azure AD のクライアント シークレット 該当なし
    WorkspaceId 埋め込みレポートがあるワークスペースの ID (「ワークスペース ID」を参照) 埋め込みレポートがあるワークスペースの ID (「ワークスペース ID」を参照)
    ReportId 埋め込むレポートの ID (「レポート ID」を参照) 埋め込むレポートの ID (「レポート ID」を参照)
  4. 適切なオプションを選択してプロジェクトを実行します。

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

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

アプリケーションの開発

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

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

次のステップ