最终用户可以看到Power BI配置

问题描述 投票:0回答:2

我们正在使用Power BI API将报表嵌入到使用Power BI Javascript库的asp.net核心MVC应用程序中。我们只有一个拥有Power BI帐户的主用户,我们将使用其凭据为所有登录用户获取报告。报告还将包含可由用户从UI应用的过滤器以及根据用户的权限嵌入报表时将应用默认过滤器。我们正在尝试使用Javascript API过滤报告,如下所示:PowerBI Reports Filter Using Javascript API,我们正在关注微软的PowerBI Embedded Reports Demo,以便在我们的视图中嵌入报告。但问题是所有配置包括访问令牌和过滤器在浏览器的开发人员工具中都可见,如下所示:

PowerBI JS In Chrome Inspector

现在,根据用户的角色和权限为用户提供的过滤器受到限制,因此他们只能应用某些过滤器进行报告,并且只显示已过滤的报告数据,但如果访问令牌和过滤器在开发人员工具中清晰可见,则可以删除过滤并使用任何工具,例如邮递员,并查看不需要的完整报告。我们理解这个问题的出现是因为我们只使用一个PowerBI主帐户,但我们无法为所有用户提供PowerBI订阅。那么,我们有办法吗?

  • 应用配置,过滤器并在服务器端生成PowerBI报告,然后将生成的svg返回到View,类似于角度服务器端呈现?

或者有没有其他方法使用PowerBIClient类从服务器向PowerBI发送参数并在power bi端过滤报告?

javascript asp.net asp.net-mvc asp.net-core powerbi-embedded
2个回答
1
投票

报告过滤器不是安全功能。你应该尝试这种方法:https://docs.microsoft.com/en-us/power-bi/developer/embedded-row-level-security


0
投票

在尝试了所有内容之后,我们仍然无法实现完全的安全性,但我们能够通过在服务器端添加参数作为查询字符串而不是在客户端使用过滤器来更改嵌入URL。我们按照这篇msdn文章来实现:PowerBI API Query String Filters MSDN

虽然,这仍然不是完全证明,因为一旦服务器返回嵌入带有参数的URL到浏览器,那么浏览器必须提出最终请求以支持bi saas服务,这可以在浏览器网络选项卡或使用fiddler中轻松看到,但我们避免过滤器很容易在html脚本部分中看到。如果有人对这个问题有更好的解决方案,请告诉我们。

© www.soinside.com 2019 - 2024. All rights reserved.