適用於:✅供您的客戶使用的 Power BI 嵌入式分析(App-owns-data)
基於憑證的身份允許 ISV 使用 Microsoft Entra 存取權杖,將客戶身份傳達給客戶租戶管理的 Azure SQL 資料庫。
在 Azure SQL Database 中保留及管理其資料的 ISV 客戶,可以在 ISV 應用程式中與 Power BI Embedded 整合時,確保其租用戶中的資料安全。
產生內嵌權杖時,藉由針對 Azure SQL Server 傳遞該使用者的 Microsoft Entra 存取權杖,在 Azure SQL 中指定使用者的身分識別。 存取權杖接著用於從 Azure SQL 中僅針對該特定工作階段提取該使用者的相關資料。
Important
App-owns-data 的單一登入限制:
- 在 App-owns-data 情境(服務主體或主要使用者驗證)中,DirectQuery 資料來源的單點登入(SSO)僅支援 Azure SQL Database。
- 在用 SSO 產生嵌入權杖時,你必須為
IdentityBlob啟用 SSO 的資料來源提供一個。 省略 IdentityBlob 會導致標記產生或查詢執行失敗。
設定權杖型身分識別
權杖型身分識別僅適用於連線至 Azure SQL Database 容量上的 DirectQuery 模型,其設定為允許 Microsoft Entra 驗證。 必須將語意模型的資料來源設定為使用最終使用者的 OAuth2 認證,才能使用基於權杖的身分識別。 深入了解 Azure SQL Database 的 Microsoft Entra 驗證。
在設定基於憑證的身份之前,請先驗證:
- 你的 DirectQuery 資料來源是 Azure SQL Database(App-owns-data 情境中唯一支援的 SSO 資料來源)。
- Azure SQL Database設定為 Microsoft Entra 認證。
- 你有使用者的 Microsoft Entra 存取權杖,可以將其作為
IdentityBlob傳遞給 Azure SQL 伺服器。
從 Power BI 入口網站,選取 [語意模型] > [更多選項 (...)] > [設定] > [資料來源認證] > [編輯認證]。
勾選 OAuth2 選項框。
產生身分識別令牌
若要為 Azure SQL 建立存取權杖,應用程式必須在 Azure 入口網站的 Microsoft Entra 應用程式註冊設定中,對 Azure SQL Database API 具備存取 Azure SQL DB 和資料倉儲的委派權限。
從 Azure AD v2 端點 為下列範圍的使用者進行驗證並取得令牌:https://database.windows.net/.default
如需說明,請參閱下列 MSAL 程式碼範例:
- Microsoft 身分識別平台驗證和授權的程式碼範例 - Microsoft Entra | Microsoft Learn
- Microsoft 身分識別平台和 OAuth 2.0 授權碼流程
產生嵌入令牌
若要使用權杖型身分識別內嵌報表,請產生內嵌權杖,其中包含所需 ISV 使用者的權杖型身分識別。 請參閱以下範例,以在不同情境下產生內嵌憑證。
Note
你必須為啟用SSO的每個Azure SQL資料來源包含具有有效datasourceIdentities的identityBlob條目。 若任何支援 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"
}
}
]
}
]
}
下列範例顯示內嵌 Power BI 報表,其中包含已套用至資料集的 SSO 和 RLS: