ssas 分析服务基于角色的动态授权

背景:

一个分析数据库,包含多个产品,全国各个地区的业务数据(比如销售数据等),

image

要求

1:各个产品负责人查看自己产品的数据

2:各个地区只能查看自己的数据

 

方案:

SQL 2005 有基于角色的授权服务,通过设置产品和地区角色,来控制对数据的访问。

 

步骤:

0:在域上设置帐号和安全组

建立安全组:产品(mbiproducts),地区(mbidepartment)

如果查看产品、地区数据的账号尚未建立,则建立相应帐号

1:在地区维度和产品维度添加帐号属性(处理数据时应将账户的数据导入该属性)

image image

2:添加角色【产品】,

账号映射:

image

数据源为:read

image

image

关键点之一【Cell Data】:[产品].[账号].currentmember=StrToTuple("[产品].[账号].&["+LCase(UserName)+"]"),这是控制该角色不允许访问其他没有授权的Cell(访问时显示N/A).

image

关键点之二: StrToTuple("[产品].[账号].&["+LCase(UserName)+"]"),

这用过控制使用该维度的时候只显示已授权的维度,其他的维度不会显示(因为显示出来数据的N/A)

image 

注意启用image ,这样Total是已授权的Total而不是真的Total。

到此,功能设置完毕。

测试Tip:

使用多维数据集(Cube)的浏览器(Browser)来测试基于角色的权限最方便。

只要简单点击左上角的切换用户(Change User)即可任意切换到所需用户,

image

最终效果:

管理员用户,可看全部品种:

image

单个产品用户,只看单个品种:

image

基于地区的授权和上述基于产品的授权过程完全相同。

转载于:https://www.cnblogs.com/gaoxx/p/4701730.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值