[译]SQL Server分析服务的权限配置
简介:
本文介绍如何配置SSAS数据库和cube相关维度的安全设置。
相对数据引擎来说,在Management Studio中配置分析服务的安全设置基本没什么区别。但是也会有一些限制,比如SSAS的权限配置都是围绕角色进行的,其次,角色的成员必须是基于windows或者ad环境的,SQL Server用户(比如sa)是无法使用的。还有,权限是无法直接授予给windows或者ad用户或者组的,这些用户或者组必须填加到角色中才可以。另外,如果UAC处于打开的状态,那么比如要以"Run as Administrator"管理员身份的方式来运行BIDS才可以使配置生效。
翻译笔记:
此篇来自MSSQLTIPS,是我目前见过介绍的最全的一篇,一直以来就想写一些关于SSAS安全方面的东西,于是就决定直接拿过来翻译,原文地址:
在翻译的过程中,对于Cell Data部分由于没有具体使用过,所以这部分是基本是直译过来的。有兴趣的朋友可以一起来研究探讨下这部分的话题。
维度部分感觉原文所阐述的方式有点绕(最起码我是这么理解),所以这部分我根据自己的理解直接写,没有直译。
文中DWA的概念我也是头一次看到,Data warehouse administrator,搞BI的兄弟们终于也可以有一个跟DBA一样类似的称谓了。
在安装SQL Server的时候配置管理员权限:
配置SSAS安全的第一步是在安装SQL Server的时候。在安装SQL Server的过程当中,有些DBA或者DWA总是习惯一顿下一步。然而,在这个过程中的有些配置界面还是会影响到安装的结果的。其中的一个步骤就是配置SSAS的管理员账户,这个账户被配置好了之后,配置其它用户就不会显得那么麻烦。SSAS的管理员账户将拥有完整的权限,包括所有的SSAS数据库,多维数据集,维度等。

同样在安装完毕后,在SSMS里也可以填加其它的管理员账户。首先打开SSMS,连接到分析服务。


连接成功后,右键单击分析服务实例,选择属性。

如下图所示,点击"安全"选项,在右侧的界面就可以继续填加其它管理员账户。


数据库以及Cube层面的安全配置:
数据库和Cube层面的配置可以在BIDS和Management Studio中进行,当然在BIDS中的话,如果项目是在版本管理工具中管理的话,需要留意每次部署都可能会覆盖掉目标分析服务数据库上的权限配置,这种情况下可以借助部署向导(详细)来完成。所以这里建议在BIDS中进行配置,而且,无论在哪里配置,配置的方法是一样的。
右键分析服务数据库下的角色文件夹,选择新角色:

如下图所示,这里首先要配置角色的名称,以及这个角色的描述信息(可选)。然后就是三个复选框角色这个角色的权限:
Full Control: 顾名思义,就是完全控制。差不多跟上面配置的管理员权限对这个分析服务数据库的所有权限,也就是说这个角色的配置只局限在当前的分析服务数据库,而不是所有的其它此分析服务实例下的数据库。完全控制将赋予成员配置其它用户的权限以及处理和维护数据库,多维数据集以及维度的权限。
Process database: 这个权限允许成员处理分析服务数据库以及跟它关联的多维数据集和维度的信息。
Read definitions: 这个权限允许用户读取分析服务数据库的元数据信息。然后,赋予这个权限不代表就拥有了其下的多维数据集或者维度的元数据信息,这个层面的权限控制将在后面讨论。
通常来说,对于普通的浏览用户是不需要勾选这三条权限的。

切换到成员选项卡,管理员可以在这里填加用户或者组到这个角色中。请留意,SQL Server账户(比如sa)是无法填加到这里的。为了维护的方便,这里建议只填加组到角色中。

切换到数据源选项卡中,虽然看上去这里是配置数据源的访问权限,除非角色是要在数据挖掘结构中处理数据或者链接外部数据,这里不建议做单独的配置。

切换到多维数据集选项卡,这里将配置角色对于哪些多维数据集拥有访问权限。对于多维数据集的配置主要有以下三项:
Access:
None: 指定角色成员没有访问此cube的权限。
Read: 指定角色有读取多维数据集的权限,但是没有回写的权限。这是大多数配置所考虑的情况。
Read/Write: 对应上一个选项,这个组的用户拥有回写权限。关于回写可以参考这篇文章。
Local Cube/Drillthrough Access
None: 不授予钻取或者本地cube创建的权限。
Drill through: 授予角色的钻取权限。(对应Cube下的Action选显卡下的设置)
Drill through and Local Cube: 授予钻取以及本地cube创建的权限。
Process:
指定角色是否可以处理指定的多维数据集。
需要注意的是,如果Access权限没有赋予给角色,那么这个角色下的用户是无法在客户端工具中看到多维数据集的。


切换到单元数据,这里允许管理员设置角色的读取,选择性读取以及读写权限。当每一个部分前面的复选框被选中之后,下面的MDX表达式才可用。

导航到维度选项卡,这里允许管理员配置维度级别的权限。首先,在维度层次上有两个选项,读取或者读取读取写入。在维度选项卡的下一个选项卡是对维度数据的权限配置,比如,可以给销售部门配置若干的角色,每个角色只允许访问维度中对应的几个成员数据。同时你可以选择是通过勾选的方式来配置还是通过写MDX表达式的方式来配置。


针对维度设置的一个细节,默认对维度成员的数据做限制之后,向上汇总的数据默认还是全部的数据。比如配置一个销售角色组只能看到东区和南区的数字,但是向上汇总的时候能看到东南西北四个区的所有数据,这显然不是我们需要的结果。这个时候就需要勾选界面下方的"Visual Totals"复选框,这样向上汇总就只能看到配置好的东区和南区的数据(北区和西区的数字是不会被汇总的)。但有一点需要留意,就是勾选这个会降低性能。

结语:
同对组织数据的管理一样,SSAS的安全管理也同样重要。对于DBA或者DWA来说,通常我们需要快速准确地提供数据,同样也有责任提供数据在安全以及权限上的控制,所以SSAS允许我们做如下的权限设置:
- 谁是数据库的管理员
- 谁能处理数据库,多维数据集或者维度
- 谁能浏览多维数据集和维度的元数据信息
- 谁能读取SSAS数据库的:
- 钻取
- 维度以及维度成员数据
[译]SQL Server分析服务的权限配置的更多相关文章
- SSAS(SQL Server 分析服务)、***S(SQL Server报表服务)、SSIS(SQL Server集成服务)
一.数据仓库入门 实验手册 1. 创建数据源 http://jimshu.blog.51cto.com/3171847/13366622. 创建数据源视图 http://jimshu.blog.51 ...
- SQL Server代理(1/12):配置和概况
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. SQL Server代理是SQL Serv ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- SQL Server : Browser服务
SQL Server : Browser服务是SQL Server 2005新增的,简单的说,如果一个物理服务器上面有多个SQL Server实例,那么为了确保客户端能访问到正确的实例,所以SQL S ...
- Sql Server 2008服务启动失败,错误17058
SQL Server (SQLEXPRESS) 服务因 17058 (0x42A2) 服务性错误而停止. 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/even ...
- SQL Server (MSSQLSERVER) 服务因 找不到指定的模块。 服务特定错误而停止。
新装了sql server 2008,发现sqlserver 服务没法起来.查看系统日志是7024如下: 事件类型: 错误 事件来源: Service Control Manager 事件种类: 无 ...
- syslog-ng日志收集分析服务搭建及配置
syslog-ng日志收集分析服务搭建及配置:1.网上下载eventlog_0.2.12.tar.gz.libol-0.3.18.tar.gz.syslog-ng_3.3.5.tar.gz三个软件: ...
- Microsoft SQL Server for Linux安装和配置
虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...
随机推荐
- deepin 15.3 安装配置nginx
1.安装nginx sudo apt-get install nginx 2.配置nginx sudo gedit /etc/nginx/sites-enabled/default 找到:index ...
- BZOJ 1078: [SCOI2008]斜堆
1078: [SCOI2008]斜堆 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 770 Solved: 422[Submit][Status][ ...
- 使用 zssh 进行 Zmodem 文件传输
Zmodem 最早是设计用来在串行连接(uart.rs232.rs485)上进行数据传输的,比如,在 minicom 下,我们就可以方便的用 Zmodem (说 sz .rz 可能大家更熟悉)传输文件 ...
- Alpha阶段测试报告
测试说明 APP中前后端交互的接口主要有两种,一种是游戏开始前获取信息的HTTP请求接口,这种接口可以看成是静态的,比较简单:另外一种就是游戏过程中进行实时通信的Websocket请求接口,因为这是在 ...
- Spring3.0目录
(1)Spring 入门知识 (2)IoC/DI基本思想的演变 (3)深入理解IoC/DI (4)Spring的简单demo
- 使用Java 多线程编程 让三个线程轮流输出ABC,循环10次后结束
简要分析: 要求三个线程轮流输出,这里我们要使用一个对象锁,让关键部分的代码放入同步块当中.同时要有一个变量记录打印的次数到达10次循环后不再打印,另外一个就是要给每个线程一个标志号,我们根据标识号来 ...
- [译]merge vs rebase
git rebase和git merge设计的初衷是解决相同的一件事, 即把一个分支合并到另外一个分支--只是他们两个处理的方式非常不一样. 当你在一个特定的分支开发新功能, 团队的其它成员在mast ...
- AJAX 与 MySQL
AJAX 与 MySQL AJAX 可用来与数据库进行交互式通信. AJAX 数据库实例 下面的实例将演示网页如何通过 AJAX 从数据库读取信息: 实例 Select a person: P ...
- R语言进行数据预处理wranging
R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with R packages:tidyr dplyr Ground rules ...
- linuxmint 17没有vim
首先上软件管理器中安装vim,之后配置.vimrc文件 下面是从网上摘抄的配置文件: """""""""&qu ...