チュートリアル: 顧客向けのサンプル を使用して 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 とコードの依存関係があることを確認してください。
Power BI の依存関係
独自の Microsoft Entra テナント。
Power BI に対してアプリを認証するには、以下のいずれかが必要です。
サービス プリンシパル - Microsoft Entra ID がアプリを認証できるようにする Microsoft Entra サービス プリンシパル オブジェクト。
Power BI Pro ライセンス - これはマスター ユーザーであり、アプリはこれを使用して Power BI に対する認証を行います。
Power BI Premium Per User (PPU) ライセンス - これはマスター ユーザーであり、アプリはこれを使用して Power BI に対する認証を行います。
コードの依存関係
.NET Core 3.1 SDK (またはそれ以降)
統合開発環境 (IDE)。 次のいずれかの環境を使用することをお勧めします。
Method
"顧客向けの埋め込み" サンプル アプリを作成するには、これらの手順に従います。
手順 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 にアプリケーションを登録すると、次のことが可能になります。
- アプリの ID を確立する
- アプリから Power BI REST API にアクセスできるようにする
- "マスター ユーザー" を使用する場合 - アプリの Power BI REST アクセス許可を指定します
Microsoft Entra ID にアプリケーションを登録するには、アプリケーションの登録に関する手順に従います。
Note
アプリケーションを登録する前に、使用する認証方法 ("サービス プリンシパル" または "マスター ユーザー") を決定する必要があります。
手順 3 - Power BI ワークスペースを作成する
Microsoft Fabric では、レポート、ダッシュボード、タイルがワークスペースに保持されます。 これらのアイテムを埋め込むには、アイテムを作成してワークスペースにアップロードする必要があります。
ヒント
既にワークスペースがある場合は、この手順を省略できます。
ワークスペースを作成するには、次のようにします。
Fabric にサインインします。
ワークスペースを選択します。
+ 新しいワークスペースを選択します。
ワークスペースに名前を付けて、 [保存] を選択します。
手順 4 - Power BI レポートを作成して発行する
次の手順では、レポートを作成してワークスペースにアップロードします。 Power BI Desktop を使用して独自のレポートを作成してから、ワークスペースにそれを発行することができます。 ワークスペースにサンプル レポートをアップロードすることもできます。
ヒント
レポートがあるワークスペースが既に存在する場合は、この手順を省略できます。
サンプル レポートをダウンロードしてワークスペースに発行するには、これらの手順に従います。
GitHub の Power BI Desktop サンプル フォルダーを開きます。
[コード] を選んでから、 [ZIP のダウンロード] を選択します。
ダウンロードした ZIP を抽出し、Samples Reports フォルダーに移動します。
埋め込むレポートを選択し、自分のワークスペースに発行します。
手順 5 - 埋め込みパラメーター値を取得する
コンテンツを埋め込むには、特定のパラメーター値を取得する必要があります。 以下の表には必要となる値が示されており、それぞれが "サービス プリンシパル" 認証方法、"マスター ユーザー" 認証方法、あるいはその両方に適用できるかどうかが示されています。
コンテンツを埋め込む前に、以下に一覧表示されているすべての値があることを確認してください。 一部の値は、使用する認証方法によって異なる場合があります。
パラメーター | サービス プリンシパル | マスター ユーザー |
---|---|---|
クライアント ID | ||
ワークスペース ID | ||
レポート ID | ||
クライアント シークレット | ||
テナント ID | Node JS の場合のみ必要 | |
Power BI ユーザー名 | ||
Power BI パスワード |
クライアント ID
ヒント
適用対象: Service プリンシパル Master ユーザー
クライアント ID GUID ("アプリケーション ID" とも呼ばれます) を取得するには、これらの手順に従います。
Microsoft Azure にログインします。
[アプリの登録] を検索し、 [アプリの登録] リンクを選択します。
Power BI コンテンツを埋め込むために使用する Microsoft Entra アプリを選択します。
[概要] セクションで、 [アプリケーション (クライアント) ID] の GUID をコピーします。
ワークスペース ID
ヒント
適用対象: Service プリンシパル Master ユーザー
ワークスペース ID の GUID を取得するには、これらの手順に従います。
Power BI サービスにサインインします。
埋め込むレポートを開きます。
URL から GUID をコピーします。 GUID は /groups/ と /reports/ の間にある数値です。
または、[管理ポータル] の設定で、ワークスペース名の横にある [詳細] を選択して、ワークスペース ID を見つけることもできます。
レポート ID
ヒント
適用対象: Service プリンシパル Master ユーザー
テナント ID GUID を取得するには、次の手順に従います。
Power BI サービスにサインインします。
埋め込むレポートを開きます。
URL から GUID をコピーします。 GUID は /reports/ と /ReportSection の間にある数値です。
クライアント シークレット
ヒント
適用対象: Service プリンシパル Master ユーザー
クライアント シークレットを取得するには、これらの手順に従います。
Microsoft Azure にログインします。
[アプリの登録] を検索し、 [アプリの登録] リンクを選択します。
Power BI コンテンツを埋め込むために使用する Microsoft Entra アプリを選択します。
[管理] で、[証明書とシークレット] を選択します。
[クライアント シークレット] で、 [新しいクライアント シークレット] を選択します。
[クライアント シークレットの追加] ポップアップ ウィンドウで、アプリケーション シークレットの説明を入力し、アプリケーション シークレットの有効期限を選択し、 [追加] を選択します。
[クライアント シークレット] セクションで、新しく作成されたアプリケーション シークレットの [値] 列にある文字列をコピーします。 そのクライアント シークレットの値が "クライアント ID" です。
注意
クライアント シークレットの値が最初に表示されときに、必ずそれをコピーしてください。 このページから移動すると、クライアント シークレットは表示されなくなり、その値を取得できなくなります。
テナント ID
ヒント
適用対象: Service プリンシパル Master ユーザー
テナント ID GUID を取得するには、これらの手順に従います。
Microsoft Azure にログインします。
[アプリの登録] を検索し、 [アプリの登録] リンクを選択します。
Power BI コンテンツを埋め込むために使用する Microsoft Entra アプリを選択します。
[概要] セクションで、 [ディレクトリ (テナント) ID] の GUID をコピーします。
Power BI のユーザー名とパスワード
ヒント
適用対象: Service プリンシパル Master ユーザー
マスター ユーザーとして使用する Power BI ユーザーの "ユーザー名" と "パスワード" を取得します。 これは、Power BI サービスで、ワークスペースを作成してレポートをアップロードするために使用したものと同じユーザーです。
手順 6 - サービス プリンシパル API アクセス
ヒント
適用対象: Service プリンシパル Master ユーザー
この手順は、"サービス プリンシパル" 認証方法を使用する場合にのみ関連します。 "マスター ユーザー" を使用する場合は、この手順を省略し、「手順 7 - ワークスペース アクセスを有効にする」に進んでください。
Microsoft Entra アプリから Power BI コンテンツおよび API にアクセスできるようにするには、Power BI 管理者が Power BI 管理ポータルでサービス プリンシパル アクセスを有効にする必要があります。 テナントの管理者でない場合は、テナントの管理者に連絡し、 [テナント設定] を有効にしてもらってください。
"Power BI サービス" で、 [設定]>[設定]>[管理ポータル] の順に選択します。
[テナント設定] を選択してから、 [開発者の設定] セクションまで下にスクロールします。
[サービス プリンシパルは Fabric API を使用可能] を展開して、このオプションを有効にします。
注意
"サービス プリンシパル" を使用する場合は、"セキュリティ グループ" を使用してテナント設定へのアクセスを制限することをお勧めします。 この機能の詳細については、サービス プリンシパルに関する記事のこれらのセクションを参照してください。
手順 7 - ワークスペース アクセスを有効にする
Power BI サービスでレポート、ダッシュボード、セマンティック モデルなどの Microsoft Entra アプリのアクセス オブジェクトを有効にするには、"サービス プリンシパル" または "マスター ユーザー" を "メンバー" または "管理者" としてご利用のワークスペースに追加します。
Fabric にサインインします。
アクセスを有効にするワークスペースまでスクロールし、[ 管理アクセスを選択します。
[アクセス] ペインで、使用する認証方法に応じて、"サービス プリンシパル" または "マスター ユーザー" を [メール アドレスの入力] テキスト ボックスにコピーします。
Note
"サービス プリンシパル" を使用する場合、その名前は Microsoft Entra アプリに指定した名前になります。
[追加] を選択します。
手順 8 - コンテンツを埋め込む
Power BI の埋め込みサンプル アプリケーションを使用すると、Power BI の "顧客向けの埋め込み" アプリを作成できます。
Power BI レポートを埋め込むには、これらの手順に従って、"顧客向けの埋め込み" サンプル アプリケーションを変更します。
Power BI の開発者向けサンプル フォルダーを開きます。
[コード] を選んでから、 [ZIP のダウンロード] を選択します。
ダウンロードした ZIP ファイルを抽出し、PowerBI-Developer-Samples-master フォルダーに移動します。
アプリで使用する言語に応じて、次のいずれかのフォルダーを開きます。
- .NET Core
- .NET Framework
- Java
- Node JS
- Python
注意
"顧客向けの埋め込み" サンプル アプリケーションでサポートされるのは、上記の一覧にあるフレームワークのみです。 React サンプル アプリケーションでサポートされるのは、" 組織向けの埋め込み " ソリューションのみです。
顧客向けの埋め込みフォルダーを開きます。
これらのいずれかの方法を使用して、"顧客向けの埋め込みサンプル アプリ" を開きます。
Visual Studio を使用する場合は、AppOwnsData.sln ファイルを開きます。
Visual Studio Code を使用する場合は、AppOwnsData フォルダーを開きます。
appsettings.json を開きます。
認証方法に応じて、次のパラメーター値を入力します。
パラメーター サービス プリンシパル マスター ユーザー 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」を参照) 適切なオプションを選択してプロジェクトを実行します。
Visual Studio を使用する場合は、 [IIS Express] (再生) を選択します。
Visual Studio Code を使用する場合は、[実行] > [デバッグの開始] の順に選択します。
アプリケーションの開発
"顧客向けの埋め込み" サンプル アプリケーションを構成して実行した後、独自のアプリケーションの開発を開始できます。
開発を開始し、Power BI Embedded のすべての新機能と更新プログラムに対応するには、Power BI 埋め込み分析プレイグラウンドをお試しください。
準備ができたら、運用開始の要件を確認します。 また、容量が必要であり、キャパシティ プランニングに関する記事を参照して、ニーズに最も適した SKU を確立する必要があります。
重要
無料の埋め込み試用版トークンを開発に使用した場合は、運用環境用の容量を購入する必要があります。 容量を購入するまで、"無料試用版バージョン" のバナーは埋め込みレポートの上部に引き続き表示されます。
関連するコンテンツ
他にわからないことがある場合は、 Power BI コミュニティでご質問ください。