在Power BI Online中管理SSAS数据源 测试总结:
1) 无法通过多维模型角色设定实现行级别安全性,每个角色下的成员在PBI中均可看到全部的数据。
2) 在表格模型中添加权限表,通过使用行筛选器实现动态行级别安全性,在PBI中仅可查看某个用户权限下的数据。
参考链接:
1.管理数据源 - Analysis Services
https://docs.microsoft.com/zh-cn/power-bi/service-gateway-enterprise-manage-ssas
2.通过 Analysis Services 表格模型实现动态行级别安全性
https://docs.microsoft.com/zh-cn/power-bi/desktop-tutorial-row-level-security-onprem-ssas-tabular
多维模型
基于Adventure Works DW数据进行多维建模,并部署至多维Analysis Services中。并设置角色US 只能查看 United States 的数据 (一定要启用直观总计,否则汇总数据按照全部数据统计,而不是US的汇总),在该US角色中添加成员user5:
该多维模型具有两种角色,一个是管理员admin可查看所有数据,一个user5只有US地区的数据查看权限,在Excel中连接该Analysis Services数据源验证其角色权限为正常:
在服务器中下载并安装配置网关:
在Power BI Online中选择网关DataGateway,添加数据源:
在用户界面添加映射用户名,将 AAD UPN (UPN:用户主体名称)重映射到 Active Directory 用户(AD 查找映射)
创建PBI工作区,成员包括admin@**.cn,user5@**.cn
在Power BI Desktop中以该SSAS为数据源创建简单的可视化报表,并部署至Power BI Online的SSAS工作区中
分别用admin/user5登陆Power BI Online,验证测试结果,显示这两个账号的结果相同,SSAS的角色权限没有起到相应的行级限制:
表格模型 – 方案一
基于Adventure Works DW数据创建表格模型,并部署至表格模型Analysis Services中。通过常规设置角色权限,和SSAS多维模型设置角色相似,并添加成员user5.
该表格模型同样具有两种角色,一个是管理员admin可查看所有数据,一个user5只有US地区的数据查看权限,在Excel中连接该Analysis Services数据源验证其角色权限为正常:
在Power BI Online中在网关DataGateway下添加该数据源,并设置映射用户名。并以该SSAS为数据源在Power BI Desktop中创建简单的可视化,并部署至SSAS工作区中。
分别用admin/user5验证测试结果,显示这两个账号的结果相同,SSAS的角色权限没有起到相应的行级限制,测试结果同样未见角色效果:
表格模型 – 方案二
参考链接:
通过 Analysis Services 表格模型实现动态行级别安全性
https://docs.microsoft.com/zh-cn/power-bi/desktop-tutorial-row-level-security-onprem-ssas-tabular
改造表格模型-方案一的解决方案,添加权限表,通过使用行筛选器实现动态行级安全性
DimSalesTerritory
= DimSalesTerritory[SalesTerritoryKey]
=LOOKUPVALUE(DimUserSecurity[SalesTerritoryID],
DimUserSecurity[UserName],
USERNAME(),
DimUserSecurity[SalesTerritoryID], DimSalesTerritory[SalesTerritoryKey])
测试结果如下,Power BI 服务中已成功反映并显示本地 Analysis Services 表格模型中定义的动态行级别安全性。