嵌入式分析访问令牌

  • 版本 :2023.1(当前版本)

嵌入式分析访问令牌

✔️ 应用拥有数据 ✔️ 用户拥有数据

使用 Power BI 内容(例如报表、仪表板和磁贴)需要访问令牌。 此令牌可以是 Azure AD 令牌和/或嵌入令牌,具体取决于你的解决方案。

在“为客户嵌入”解决方案中,Web 应用用户可以根据应用程序生成的嵌入令牌访问 Power BI 内容。

备注

使用“为客户嵌入”解决方案时,可以使用任何身份验证方法来允许对 Web 应用的访问。

在“为组织嵌入”解决方案中,Web 应用用户将使用其自己的凭据对 Azure AD 进行身份验证。 然后,他们有权访问他们在 Power BI 服务上有权访问的 Power BI 内容。

Azure AD 令牌

对于“为客户嵌入”和“为组织嵌入”这两种解决方案,都需要 Azure AD 令牌 。 所有 REST API 操作都需要此令牌,此令牌将在一小时后过期。

  • 在“为客户嵌入”场景中,Azure AD 令牌用于生成嵌入令牌。

  • 在“为组织嵌入”场景中,Azure AD 令牌用于访问 Power BI。

嵌入令牌

使用“为客户嵌入”解决方案时,Web 应用需要知道其用户可以访问哪些 Power BI 内容。 使用嵌入令牌 REST API 生成嵌入令牌,该令牌指定以下信息:

  • Web 应用用户可以访问哪些内容。

  • Web 应用用户的访问权限级别(查看、创建或编辑)。

有关详细信息,请参阅生成嵌入令牌时的注意事项。

身份验证流

本部分介绍适用于“为客户嵌入”和“为组织嵌入”嵌入解决方案的不同身份验证流程。

  • 为客户嵌入内容

  • 为组织嵌入内容

“为客户嵌入”解决方案使用非交互式身份验证流程。 用户无需登录 Azure AD 即可访问 Power BI。 但是,Web 应用会使用预留的 Azure AD 标识对 Azure AD 进行身份验证,并生成嵌入令牌。 保留标识可以是服务主体或主用户:

  • 服务主体

    Web 应用使用 Azure AD 服务主体对象对 Azure AD 进行身份验证,并获取仅限应用的 Azure AD 令牌。 Azure AD 建议使用这种仅限应用的身份验证方法。

    使用服务主体时,需要在 Power BI 服务“管理”设置中启用 Power BI API 访问权限 。 启用访问权限允许 Web 应用访问 Power BI REST API。 要对某工作区使用 API 操作,服务主体需要是该工作区的成员或管理员 。

  • 主用户 Web 应用使用用户帐户对 Azure AD 进行身份验证,并获取 Azure AD 令牌。 主用户需要具备 Power BI Pro 或 Premium Per User (PPU) 许可证。

    使用主用户时,需定义应用的委托权限(也称为范围)。 使用 Power BI REST API 时,主用户或租户管理员必须同意使用这些权限。

对 Azure AD 成功进行身份验证后,Web 应用将生成嵌入令牌,以使其用户能够访问特定的 Power BI 内容。

备注

  • 要使用“为客户嵌入”解决方案进行嵌入,需要具有 A、EM 或 P SKU 的容量。

  • 要迁移到生产环境,则需要具有容量。

下图显示了适用于“为客户嵌入”解决方案的身份验证流程。

“为客户嵌入”Power BI 嵌入式分析解决方案中的身份验证流程图。

  1. Web应用用户对 Web 应用进行身份验证(使用身份验证方法)。

  2. Web 应用使用服务主体或主用户对 Azure AD 进行身份验证 。

  3. Web 应用从 Azure AD 获取 Azure AD 令牌,并使用它来访问 Power BI REST API。 根据身份验证方法(可以是服务主体或主用户)提供对 Power BI REST API 的访问权限 。

  4. Web 应用会调用嵌入令牌 REST API 操作,以请求嵌入令牌。 嵌入令牌指定可嵌入的 Power BI 内容。

  5. REST API 将嵌入令牌返回到 Web 应用。

  6. Web 应用将嵌入令牌传递给用户的 Web 浏览器。

  7. Web 应用用户使用嵌入令牌来访问 Power BI。