Javascript 对最终用户可见的Power BI配置

Javascript 对最终用户可见的Power BI配置,javascript,asp.net,asp.net-mvc,asp.net-core,powerbi-embedded,Javascript,Asp.net,Asp.net Mvc,Asp.net Core,Powerbi Embedded,我们正在使用Power BI API,使用Power BI Javascript库将报表嵌入到我们的asp.net核心MVC应用程序中。我们将只有一个主用户拥有Power BI帐户,并且我们将使用其凭据获取所有登录用户的报告。报告还将具有用户可以从UI应用的过滤器,并且在基于用户权限嵌入报告时将应用默认过滤器。我们正在尝试使用Javascript API过滤报告,正如这里所建议的那样:并且我们正在跟随微软将报告嵌入到我们的视图中。但问题是,所有配置(包括访问令牌和过滤器)都可以在浏览器的开发者工

我们正在使用Power BI API,使用Power BI Javascript库将报表嵌入到我们的asp.net核心MVC应用程序中。我们将只有一个主用户拥有Power BI帐户,并且我们将使用其凭据获取所有登录用户的报告。报告还将具有用户可以从UI应用的过滤器,并且在基于用户权限嵌入报告时将应用默认过滤器。我们正在尝试使用Javascript API过滤报告,正如这里所建议的那样:并且我们正在跟随微软将报告嵌入到我们的视图中。但问题是,所有配置(包括访问令牌和过滤器)都可以在浏览器的开发者工具中看到,如下所示:

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

在服务器端应用配置、筛选并生成PowerBI报告,然后返回生成的svg以查看类似于服务器端渲染的视图?
或者有没有其他方法可以使用PowerBIClient类将参数从服务器发送到PowerBI,并在PowerBI端筛选报告?

尝试了所有方法后,我们仍然无法实现完全的安全性,但我们可以通过在服务器端添加参数作为查询字符串而不是在客户端使用筛选器来更改嵌入url。我们遵循这篇msdn文章实现了以下目标:


尽管如此,这仍然不是充分的证据,因为一旦服务器向浏览器返回带有参数的嵌入url,浏览器就必须向power bi saas服务发出最终请求,这可以在浏览器网络选项卡或使用fiddler轻松看到,但我们避免了在html脚本部分容易看到的过滤器。让我们知道是否有人对此问题有更好的解决方案。

报告筛选器不是安全功能。 您应该尝试以下方法: