PBI Embedded场景下同一生成Token可否嵌入同账户多工作区多视觉对象或报表
关于App Owns Data模式下嵌入Token跨工作区使用的可行性解答
首先明确结论:该操作不可行,单份已生成的嵌入Token无法跨不同工作区使用,即便是同一PBI账户下的工作区也不支持。
具体原因和规则如下:
- Power BI 嵌入Token的授权范围和资源所属工作区强绑定:你调用
GenerateToken接口生成Token时,必须指定要授权的报表、数据集、视觉对象等资源ID,所有传入的资源ID必须归属同一个工作区,如果传入跨工作区的资源ID,接口会直接返回错误。 - 安全机制限制:App Owns Data模式的Token权限严格限定在生成时指定的工作区范围内,不会因为归属同一个PBI账户就自动继承其他工作区的资源访问权限。
如果需要实现多资源嵌入,可以采用以下方案:
- 按工作区维度生成对应Token:每个工作区生成一份单独的嵌入Token,同个工作区内的所有报表、视觉对象都可以使用对应工作区的同一份Token加载,无需为单份资源单独生成Token。
- 单页多跨工作区资源加载:如果需要在同一个前端页面嵌入多个不同工作区的资源,前端分别调用对应工作区的Token加载各自的Power BI组件即可。
补充优化方案:如果希望统一使用单份Token加载所有目标资源,可以将所有需要嵌入的报表、关联数据集都迁移到同一个工作区下,生成Token时一次性指定所有目标资源ID,此时生成的单份Token就可以加载该工作区内的所有指定资源。
内容的提问来源于stack exchange,提问作者Carlos Alberto Cabrera Quiroga
相关产品推荐
相关产品推荐

