授予维度权限 (Analysis Services)
维度安全用于在维度对象(而非其数据)上设置权限。通常情况下,当在维度上设置权限时,允许或拒绝访问处理操作是主要目标。
但也许你的目标不是控制处理操作,而是对维度的数据访问,或者其包含的属性和层次结构。例如,设有区域销售部门的公司可能会禁止部门以外人员访问销售业绩信息。要允许或拒绝不同成员访问维度数据的各个部分,可以对维度属性和维度成员设置权限。请注意,不能拒绝对单个维度对象本身的访问,而只能拒绝对其数据的访问。如果你的直接目的是允许或拒绝访问维度中的成员,包括对单个属性层次结构的访问权限,请参阅 授予对维度数据的自定义访问权限 (Analysis Services) 了解更多信息。
此主题的剩余部分介绍了可以对维度对象本身设置的权限,包括:
读取或读/写权限(只能从“读取”或“读/写”中选择;指定为“无”不是有效的选择)。如前所述,如果你的目标是限制对维度数据的访问,请参阅 授予对维度数据的自定义访问权限 (Analysis Services) 了解详细信息。
处理权限(当方案需要一个可调用单个对象的自定义权限的处理策略时执行此操作)
读取定义权限(通常你会执行此操作以支持工具中的交互式处理,或者提供模型可视化。你可以通过读取定义查看维度的结构,但无权查看其数据或功能以修改其定义)。
当定义维度的角色时,根据对象是独立数据库维度(对数据库而言是内部,对多维数据集而言是外部)还是多维数据集维度,可用的权限也有所不同。
注意 |
---|
默认情况下,数据库维度上的权限由多维数据集维度继承。例如,如果启用客户数据库维度上的“读/写”权限,则客户多维数据集维度将根据当前角色的上下文继承“读/写”权限。如果想覆盖权限设置,则可以清除所继承的权限。 |
在数据库维度上设置权限
数据库维度是数据库内的单独对象,允许在同一模型中重新使用维度。考虑在模型中多次使用的“日期”数据库维度,例如:订购日期、发货日期和截止日期多维数据集维度。由于多维数据集和数据库维度在数据库中是对等的对象,因此可以在每个对象上单独设置处理维度。
在 SQL Server Management Studio 中,连接到 Analysis Services 实例,在对象资源管理器中展开相应数据库的**“角色”**,然后单击某个数据库角色(或创建新的数据库角色)。
在“维度”窗格中,应将维度集设置为“所有数据库维度”。
默认情况下,权限设置为“读取”。
虽然可以使用“读/写”权限,但我们建议你不要使用此权限。“读/写”用于维度写回方案,该方案已被弃用。请参阅SQL Server 2012 中不推荐使用的 Analysis Services 功能。
或者,只要未在数据库级别上设置“读取定义”和“处理”权限,你就可以在单个维度对象上设置这些权限。有关详细信息,请参阅授予处理权限 (Analysis Services)和 授予对象元数据的读取定义权限 (Analysis Services)。
在多维数据集维度上设置权限
多维数据集维度是指已被添加到多维数据集的数据库维度。因此,它们在结构上依赖于关联的度量值组。就授权而言,虽然你能够以原子方式处理这些对象,但是将多维数据集和多维数据集维度视为单一实体很重要。
在 SQL Server Management Studio 中,连接到 Analysis Services 实例,在对象资源管理器中展开相应数据库的**“角色”**,然后单击某个数据库角色(或创建新的数据库角色)。
在“维度”窗格中,将维度集更改为 <cube-name>“多维数据集维度”。
默认情况下,从相应数据库维度中继承权限。清除“继承”复选框,以将权限从“读取”更改为“读/写”。在使用“读/写”权限之前,请务必阅读上一节的说明。
重要提示 |
---|
如果使用分析管理对象 (AMO) 配置数据库角色权限,那么,任何对多维数据集的 DimensionPermission 特性中多维数据集维度的引用都将切断对数据库的 DimensionPermission 特性的权限继承。有关 AMO 的详细信息,请参阅使用分析管理对象 (AMO) 进行开发。 |
请参阅
任务
授予数据挖掘结构和模型权限 (Analysis Services)
授予对维度数据的自定义访问权限 (Analysis Services)