Power BI Online管理数据源 - Analysis Services

 

在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 表格模型中定义的动态行级别安全性。

 

 

 

posted @ 2018-06-13 11:30  TINGL  阅读(552)  评论(0编辑  收藏  举报