【问题标题】:Power BI Configuration Visible to End UsersPower BI 配置对最终用户可见
【发布时间】:2019-03-04 18:02:14
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript asp.net asp.net-mvc asp.net-core powerbi-embedded


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      虽然,这仍然不是完全证明,因为一旦服务器返回带有参数的嵌入 url 到浏览器,那么浏览器必须发出最终请求来为 bi saas 服务供电,这可以在浏览器网络选项卡或使用提琴手很容易看到,但我们已经避免在 html 脚本部分很容易看到过滤器。让我们知道是否有人对此问题有更好的解决方案。

      【讨论】:

        猜你喜欢
        • 2016-08-31
        • 2020-09-02
        • 2021-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多