适用范围:️ 应用拥有数据 用户拥有数据
基于令牌的标识允许 ISV 使用 Microsoft Entra 访问令牌将客户的标识传递给客户租户中管理的 Azure SQL 数据库。
在 ISV 应用中与 Power BI Embedded 集成时,在 Azure SQL 数据库中保留和管理其数据的 ISV 客户可以在租户中保护其数据。
在生成嵌入令牌时,需要通过传递用户的 Microsoft Entra 访问令牌来为 Azure SQL 服务器指定该用户的身份。 然后,使用访问令牌仅从 Azure SQL 提取该用户在特定会话中的相关数据。
设置基于令牌的标识
基于令牌的标识仅适用于连接到配置为允许Microsoft Entra 身份验证的 Azure SQL 数据库的容量上的 DirectQuery 模型。 语义模型的数据源必须配置为使用最终用户的 OAuth2 凭据,才能使用基于令牌的标识。 了解有关 Microsoft Entra 身份验证适用于 Azure SQL 数据库的信息。
在 Power BI 门户中,选择 语义模型 > “更多选项”(三点) > 设置 > 数据源凭据 > “编辑凭据”。
选中 “OAuth2 ”选项框。
生成标识令牌
若要为 Azure SQL 创建访问令牌,应用必须在 Azure 门户中 Microsoft Entra 应用注册配置上具有对 Azure SQL 数据库 API 的委派权限,即访问 Azure SQL 数据库和数据仓库权限。
从 Azure AD v2 终结点 为以下范围的用户进行身份验证和获取令牌: https://database.chinacloudapi.cn/.default
有关帮助,请参阅以下 MSAL 代码示例:
- 用于Microsoft标识平台身份验证和授权的代码示例 - Microsoft Entra |Microsoft Learn
- Microsoft 身份认证平台和 OAuth 2.0 授权代码流程
生成嵌入令牌
若要使用基于令牌的标识嵌入报表,请生成包含所需 ISV 用户的令牌基标识的嵌入令牌。 请参阅以下示例,了解如何为不同的方案生成嵌入令牌。
- 使用 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.chinacloudapi.cn",
"database": "YourDataBaseName"
}
}
]
}
]
}
以下示例显示了一个嵌入的 Power BI 报表,其中包含应用于数据集的 SSO 和 RLS: