简介:

本文介绍如何配置SSAS数据库和cube相关维度的安全设置。

相对数据引擎来说,在Management Studio中配置分析服务的安全设置基本没什么区别。但是也会有一些限制,比如SSAS的权限配置都是围绕角色进行的,其次,角色的成员必须是基于windows或者ad环境的,SQL Server用户(比如sa)是无法使用的。还有,权限是无法直接授予给windows或者ad用户或者组的,这些用户或者组必须填加到角色中才可以。另外,如果UAC处于打开的状态,那么比如要以"Run as Administrator"管理员身份的方式来运行BIDS才可以使配置生效。

翻译笔记:

此篇来自MSSQLTIPS,是我目前见过介绍的最全的一篇,一直以来就想写一些关于SSAS安全方面的东西,于是就决定直接拿过来翻译,原文地址:

http://www.mssqltips.com/sqlservertip/2776/configuring-permissions-for-sql-server-analysis-services/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=20140421

在翻译的过程中,对于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分析服务的权限配置的更多相关文章

  1. SSAS(SQL Server 分析服务)、***S(SQL Server报表服务)、SSIS(SQL Server集成服务)

    一.数据仓库入门 实验手册 1. 创建数据源  http://jimshu.blog.51cto.com/3171847/13366622. 创建数据源视图 http://jimshu.blog.51 ...

  2. SQL Server代理(1/12):配置和概况

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. SQL Server代理是SQL Serv ...

  3. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  4. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  5. SQL Server : Browser服务

    SQL Server : Browser服务是SQL Server 2005新增的,简单的说,如果一个物理服务器上面有多个SQL Server实例,那么为了确保客户端能访问到正确的实例,所以SQL S ...

  6. Sql Server 2008服务启动失败,错误17058

    SQL Server (SQLEXPRESS) 服务因 17058 (0x42A2) 服务性错误而停止. 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/even ...

  7. SQL Server (MSSQLSERVER) 服务因 找不到指定的模块。 服务特定错误而停止。

    新装了sql server 2008,发现sqlserver 服务没法起来.查看系统日志是7024如下: 事件类型: 错误 事件来源: Service Control Manager 事件种类: 无 ...

  8. syslog-ng日志收集分析服务搭建及配置

    syslog-ng日志收集分析服务搭建及配置:1.网上下载eventlog_0.2.12.tar.gz.libol-0.3.18.tar.gz.syslog-ng_3.3.5.tar.gz三个软件: ...

  9. Microsoft SQL Server for Linux安装和配置

    虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...

随机推荐

  1. 数据结构图文解析之:数组、单链表、双链表介绍及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  2. Bzoj1597 [Usaco2008 Mar]土地购买

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4005  Solved: 1460 Description 农夫John准备扩大他的农场,他正在考虑N ...

  3. Django Channels 学习笔记

    一.为什么要使用Channels 在Django中,默认使用的是HTTP通信,不过这种通信方式有个很大的缺陷,就是不能很好的支持实时通信.如果硬是要使用HTTP做实时通信的话只能在客户端进行轮询了,不 ...

  4. 戴尔OMSA 使用指南

    戴尔的OMSA我们已经安装完成,但是没有web页面.因此我们目前想要看到服务器的相关硬件信息就需要使用命令行的方式获取了.那么,这里就介绍如何使用命令获取服务器硬件信息. 下面是我监控一些硬件信息的命 ...

  5. Google Map API V3开发(6) 代码

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

  6. NAT穿越

    1.NAT类型 目前主要的NAT类型有如下几种: 1)Full-cone NAT, also known as one-to-one NAT 一旦一个内网地址 (iAddr:iPort) 被映射到一个 ...

  7. ubuntu系统修改mysql字符集

    1.进入mysql,查看默认字符集: mysql>show variables like 'char%'; 2.退出mysql; 3.输入命令:sudo gedit /etc/mysql/con ...

  8. javascript数据结构与算法--散列

    一:javascript数据结构与算法--散列  一:什么是哈希表? 哈希表也叫散列表,是根据关键码值(key,value)而直接进行访问的数据结构,它是通过键码值映射到表中一个位置来访问记录的,散列 ...

  9. 【转载】使用pandas进行数据清洗

    使用pandas进行数据清洗 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的 ...

  10. 【Android学习】《Android开发视频教程》第一季笔记

    视频地址: http://study.163.com/course/courseMain.htm?courseId=207001 课时5    Activity基础概念 1.Android开发技术结构 ...