Powerbiサービスプリンシパル認証

サービスプリンシパルの認証方法でPowerBIレポートを埋め込む方法:

前提条件:
1)Power BI Proアカウント(ユーザー名とパスワードを含むメインアカウント、Power BI Proアカウントへのログインに使用)、またはサービスプリンシパル(アプリトークンのみ)。
2)独自のAzure ActiveDirectoryテナントを設定する必要があります。

プロセス全体は主に2つのステップに分かれています(検証タイプがメインアカウントとサービスサブジェクトに分かれているため、今回はサービスサブジェクトのみを紹介します):
1)アプリケーションをAzureに登録します;
2)PowerBIレポートをアプリケーションに埋め込みます

アプリケーションをAzureに登録する

  1. Azureポータルにログインし、左側のナビゲーションバーで[すべてのサービス]を見つけます。検索してクリックして登録します。
    ここに写真の説明を挿入

  2. [新規登録]をクリックします。
    ここに写真の説明を挿入

3.3。アプリケーション情報を入力し、登録する必要のあるURLを選択できます(リダイレクトURIとしてhttp:// localhost:13526を選択できます)。アプリケーションを登録すると、サービスプリンシパルが自動的に生成されます。(OAuth 2.0認証の場合、リダイレクトURIは認証コードの分析を容易にするためにapiアドレスを入力する必要があります。https//blog.csdn.net/leinminna/article/details/109100731を参照してください
ここに写真の説明を挿入

4.4。図に示すように、登録済みのローカルアプリケーションに関連するWindows ActiveDirectoryおよびPowerBI Serviceのアクセス許可を付与
します。必要に応じて次のリンクを参照し、必要なAPIに従って選択できます:https//docs.microsoft.com/ en-us / rest / api / power-bi / reports / getreportingroup
ここに写真の説明を挿入

権限を追加した後、すべての手順を完了するには、[管理者の同意を付与する]をクリックする必要があることに注意してください。
ここに写真の説明を挿入

サービスプリンシパル関連の権限を構成する

  1. Azure Active Directoryに新しいセキュリティグループを作成し、登録されたアプリケーションによって生成されたサービスプリンシパルをメンバーに追加します。
    ここに写真の説明を挿入
    次に
    ここに写真の説明を挿入
    、登録する必要があります
    ここに写真の説明を挿入

  2. Power BI Service Webサイトにログインして、関連する管理者権限を付与します

  3. 関連する承認のために「管理ポータル」を選択し、作成したセキュリティグループを「主要サービスにPower BIAPIへのアクセスを許可する」に追加します。
    ここに写真の説明を挿入

  4. Power BIワークスペースの新しいv2バージョンを作成し、サービスプリンシパルをこのワークスペースの管理者として設定します。
    ここに写真の説明を挿入
    ここに写真の説明を挿入

PowerBIレポートをアプリケーションに埋め込む

このプロセスは大きく3つのステップに分かれています。この例では、Postmanを介してEmbedToken、埋め込みURL、およびレポートIDを取得します。

  1. access_token(テナントIDとして太字で識別)を取得し
    、投稿をhttps://login.chinacloudapi.cn/ 2bf14663-2f99-4119-bde1-d970664a7b23 / oauth2 / token
    body as
    data:{ grant_type:client_credentials resource:https://に送信します。 analysis.chinacloudapi.cn/powerbi/api client_id:登録済みアプリケーションのアプリケーションID client_secret:アプリケーションパスワード}アプリケーションIDとテナントIDは、次の場所から取得できます。






    ここに写真の説明を挿入

アプリケーションパスワードは、次の場所で取得できます。
ここに写真の説明を挿入

例は次のとおりです
。Content-Type:application / x-www-form-urlencoded
ここに写真の説明を挿入
ここに写真の説明を挿入

  1. 前の手順でaccess_tokenを使用して、embedUrlとレポートIDを取得し
    、GETをワークスペースに送信します(ワークスペースIDとして太字で識別されます)
    https://api.powerbi.cn/v1.0/myorg/groups/ 150f3cdb-425f-40e0-b11c -5a376f012791 / reports
    認証タイプ:ベアラトークン
    トークン:前のステップのaccess_token
    ここに写真の説明を挿入

  2. 埋め込みトークンを取得
    し、https://api.powerbi.cn/v1.0/myorg/groups/29427125-e483-48fe-ab6e-e4de5dbd961e/reports/d788830e-4630-45d0-bd94-ecc7e35ccfdf/GenerateToken黄色の部品交換に投稿を送信します独自のグループIDとレポートIDになります
    承認:ベアラー最初のステップのトークン
    ヘッダーは次のとおりです。Content
    -Type:application / json
    Accept:application / json
    body as
    data:{ "accessLevel": "View"、"allowSaveAs": "true ” }:



    ここに写真の説明を挿入

情報が取得されたので、Microsoft Power BI EmbeddedPlaygroundを使用してhttps://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.htmlをテストできます

ご不明な点がございましたら、お気軽にお問い合わせください。

おすすめ

転載: blog.csdn.net/leinminna/article/details/109101761