【问题标题】:Power BI Embedded, Generate Embed Token only with View AccessPower BI Embedded,仅通过查看权限生成嵌入令牌
【发布时间】:2019-05-23 04:05:48
【问题描述】:

我已使用给定的here 服务主体嵌入了 power bi 报告。

我正在生成嵌入令牌,如下所示,

var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel:"View",allowSaveAs:false,identities: new EffectiveIdentity[] { new EffectiveIdentity(username: serviceAccount, roles: new string[] { "Viewer" }, datasets: new string[] { report.DatasetId }) });
EmbedToken embedToken = client.Reports.GenerateTokenInGroup(groupId, reportId, generateTokenRequestParameters);

但是当我使用 javascript sdk 嵌入报告时,如果我将权限配置如下,则用户可以编辑报告。如何防止用户在嵌入令牌中编辑报表?

permissions: models.Permissions.ReadWrite,
viewMode: models.ViewMode.Edit,

【问题讨论】:

    标签: powerbi powerbi-embedded


    【解决方案1】:

    我有一个嵌入 PowerBI 报告的 C# MVC Web 应用程序。

    这是我们的嵌入配置

    var config = {
            type: 'report',
            id: embedReportId,
            accessToken: accessToken,
            tokenType: models.TokenType.Embed,
            embedUrl: embedUrl,
            permissions: models.Permissions.View,
            settings: {
                filterPaneEnabled: false,
                navContentPaneEnabled: true,
                background: models.BackgroundType.Transparent,
                layoutType: models.LayoutType.Custom,
                customLayout: {
                    displayOption: models.DisplayOption.FitToWidth
                }
            }
        };
    

    您在问题中提到了 viewMode 属性。如您所见,我们甚至没有在配置中设置 viewMode 属性。我们只设置了权限属性,但据我所知,它并没有多大作用。此属性很少使用或仅控制您可以在 UI 上看到的次要内容。

    如果您为“查看”生成访问令牌,并且有人编辑嵌入报表查看器页面以将 HTML/javascript 中的权限属性从 models.Permissions.View 更改为 models.Permissions.ReadWrite,则任何后续调用PowerBI JavaScript 库在该报表查看器页面编辑之后尝试进行的操作将失败,因为生成的访问令牌用于查看而不是编辑,并且对 Microsoft/PowerBI 的 API 调用将失败。

    所以你真的只需要确保你的后端逻辑为任何查看上下文生成正确的访问令牌。如果您正在生成具有完全权限的访问令牌并使用 PowerBI javascript 库来隐藏内容,那么用户可能会更改您的页面源并做比您想要的更多的事情。

    祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      相关资源
      最近更新 更多