首页 > 解决方案 > Power BI Embedded 行级安全性不起作用

问题描述

我在 powerbi desktop 中有设置角色。可以在桌面中查看为角色。但是在嵌入时我收到了这个错误

{
    code: 'InvalidRequest',
    message: 'Creating embed token with effective identity requires dataset to be provided'
}

我的令牌获取 API 的有效负载是

{
 accessLevel: 'View',
 "identities": [
    {
      "username": "username",
      "roles": [ "role" ],
      "datasets": ["datasetid"]
    }
     ]
}

标签: powerbipowerbi-embeddedpowerbi-desktop

解决方案


如果您使用的是 Analysis Services 数据源,则不会在 PowerBI 报告/pbix 文件中定义角色,就像使用静态/导入数据一样。这是我指的方法:https ://docs.microsoft.com/en-us/power-bi/report-server/row-level-security-report-server

要将角色与 Analysis Services 一起使用,您需要在表格模型本身上设置角色。微软在这里有一些很好的文档:https ://docs.microsoft.com/en-us/power-bi/developer/embedded-row-level-security#working-with-analysis-services-live-connections

在此页面上查看“2. 在 Analysis Services 服务器中创建角色”。和“3. 设置您的常规设置。在这里您提供角色名称并将数据库权限设置为只读。” 这就是您创建角色的方式,因此您可以传递“RoleA”或您所称的角色。

在接下来的步骤中,“4. 设置成员资格设置。在此处添加受此角色影响的用户。” 和“5. 使用 CUSTOMDATA() 函数设置行过滤器 DAX 查询。” 您可以将某些 DAX 过滤器应用于您的角色,类似于在 PowerBI Pbix 文件中为静态数据集创建角色时的操作方式。


推荐阅读