適用対象: アプリ所有データ
ユーザー所有データ
トークン ベースの ID を使用すると、ISV は Microsoft Entra アクセス トークンを使用して、顧客の ID を顧客のテナントで管理されている Azure SQL データベースに渡すことができます。
Azure SQL Database でデータを保持および管理する ISV の顧客は、ISV アプリで Power BI Embedded と統合すると、テナント内でデータを安全に保つことができます。
埋め込みトークンを生成する際は、Azure SQL サーバー用のユーザーの Microsoft Entra アクセス トークンを渡すことで、Azure SQL のユーザーの ID を指定します。 このアクセス トークンは、その特定のセッションにおいて、Azure SQL からそのユーザーに関連するデータだけをプルするために使用されます。
Important
App-owns-data SSO の制限事項:
- アプリ所有データのシナリオ (サービス プリンシパルまたはマスター ユーザー認証) では、DirectQuery データソースの SSO は Azure SQL Database でのみサポートされます。
- SSO を使用して埋め込みトークンを生成する場合は、SSO が有効
IdentityBlobデータソースにを指定する必要があります。 IdentityBlob を省略すると、トークンの生成またはクエリの実行が失敗します。
トークンベースの ID を設定する
トークンベース ID が動作するのは、Microsoft Entra 認証を許可するように構成された Azure SQL Database に接続されている容量上の DirectQuery モデルに対してのみです。 トークン ベースの ID を使用するには、エンド ユーザーの OAuth2 資格情報を使用するように、セマンティック モデルのデータ ソースを構成する必要があります。 Azure SQL Database の Microsoft Entra 認証の詳細について学習します。
トークン ベースの ID を構成する前に、次のことを確認します。
- DirectQuery データ ソースは Azure SQL Database (App-owns-data シナリオでサポートされている唯一の SSO データソース) です。
- Azure SQL Databaseは、Microsoft Entra 認証用に構成されます。
- Azure SQL サーバーで使用するためのユーザーのMicrosoft Entraアクセス トークンを所有しており、
IdentityBlobとして渡すことができます。
Power BI ポータルで、[セマンティック モデル] > その他のオプション (3 つのドット) > [設定] > [データ ソースの資格情報] > [資格情報の編集] を選択します。
[OAuth2] オプション ボックスをオンにします。
ID トークンを生成する
Azure SQL のアクセス トークンを作成するためには、Azure portal の Microsoft Entra アプリ登録構成において、Azure SQL Database API に対して "Azure SQL DB と Data Warehouse へアクセスする" ための委任されたアクセス許可をアプリが持っている必要があります。
Azure AD v2 エンドポイントからスコープ に対してユーザーのトークンを認証して取得します。
支援が必要な場合は、次の MSAL コード サンプルを参照してください。
- Microsoft ID プラットフォーム認証および承認のコード サンプル - Microsoft Entra | Microsoft Learn
- Microsoft ID プラットフォームと OAuth 2.0 認証コード フロー
埋め込みトークンを生成する
レポートにトークン ベースの ID を埋め込むには、目的の ISV ユーザーのトークン ベース ID を含む埋め込みトークンを生成します。 さまざまなシナリオでの埋め込みトークンの生成については、次の例を参照してください。
Note
SSO が有効化されているそれぞれの Azure SQL データソースに対して、有効な identityBlob を含む datasourceIdentities エントリを必ず追加してください。 SSO 対応データソースに identityBlobがない場合、埋め込みトークン生成呼び出しは失敗するか、クエリの実行でエラーが返されます。
- SSO を使用する Power BI レポート
- SSO 対応のページ分割されたレポート
- セマンティック モデル上で SSO と RLS を使用した Power BI レポート
- RLS を使用して Power BI セマンティック モデルに接続された改ページ対応レポートと、DirectQuery を使用して別の Power BI セマンティック モデルに接続されている SSO データ ソース
{
"datasets": [
{
"id": "66ba5010-xxxx-xxxx-xxxx-f2bf0125abeb",
}
],
"reports": [
{
"allowEdit": false,
"id": "9e6da541-xxxx-xxxx-xxxx-7d9442827cce"
}
],
"datasourceIdentities": [
{
"identityBlob": "eyJ…",
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "YourServerName.database.windows.net",
"database": "YourDataBaseName"
}
}
]
}
]
}
次の例は、SSO と RLS がデータセットに適用された埋め込み Power BI レポートを示しています。