维度安全性用于设置维度对象的权限,而不是维度对象的数据。 通常,在对维度设置权限时,允许或拒绝对处理操作的访问是主要目标。
但也许你的目标不是控制处理操作,而是数据对维度的访问控制,以及管理它所包含的属性和层次结构。 例如,具有区域销售部门的公司可能希望将销售业绩信息限制在部门外部。 若要允许或拒绝访问不同成分的维度数据部分,可以设置维度属性和维度成员的权限。 请注意,不能拒绝访问单个维度对象本身,而只能访问其数据。 如果你的直接目标是允许或拒绝对维度中成员的访问权限,包括对单个属性层次结构的访问权限,请参阅 授予对维度数据的自定义访问权限(Analysis Services), 了解详细信息。
本主题的其余部分介绍可以在维度对象本身上设置的权限,包括:
读取或读/写权限(只能从读取或读/写中进行选择;指定“none”不是选项)。 如前所述,如果你的目标是限制对维度数据的访问,请参阅 “授予对维度数据的自定义访问权限”(Analysis Services), 了解详细信息。
处理权限(当场景需要处理策略以调用针对单个对象的自定义权限时执行此操作)
读取定义权限(通常,您这样做是为了支持工具中的交互式处理或提供对模型的可见性。读取定义允许您查看维度的结构,但不授予访问其数据的权限或修改其定义的能力)。
在为维度定义角色时,可用权限因对象是独立的数据库维度(在数据库内部但在多维数据集外部)还是多维数据集维度而有所不同。
注释
默认,数据库维度的权限会被多维数据集维度继承。 例如,如果在客户数据库维度上启用 读/写 ,那么在当前角色的上下文中,客户多维数据集维度将继承 读/写 。 如果要替代权限设置,可以清除继承的权限。
设置数据库维度的权限
数据库维度是数据库中的独立对象,允许在同一模型中重复使用维度。 请考虑在模型中多次使用的 DATE 数据库维度,作为 Order Date、Ship Date 和 Due Date 多维数据集维度。 由于多维数据集和数据库维度是数据库中的对等对象,因此可以单独为每个对象设置处理权限。
在 SQL Server Management Studio 中,连接到 Analysis Services 实例,在对象资源管理器中展开相应数据库 的角色 ,然后单击数据库角色(或创建新的数据库角色)。
在 “维度 ”窗格中,维度集应设置为 “所有数据库维度”。
默认情况下,权限设置为 “读取”。
尽管 “读/写 ”可用,但建议不要使用此权限。 读取/写入 用于维度写回的场景,现已被弃用。 请参阅 SQL Server 2014 中已弃用的 Analysis Services 功能。
(可选)可以设置单个维度对象的 读取定义 和 进程 权限,前提是尚未在数据库级别设置这些权限。 有关详细信息 ,请参阅“授予进程权限”(Analysis Services) 和 授予对对象元数据(Analysis Services)的读取定义权限 。
设置多维数据集维度的权限
多维数据集维度是已添加到多维数据集的数据库维度。 因此,它们在结构上依赖于关联的度量值组。 在授权方面,尽管可以以原子方式处理这些对象,但将多维数据集和多维数据集维度视为单个实体是合理的。
在 SQL Server Management Studio 中,连接到 Analysis Services 实例,在对象资源管理器中展开相应数据库 的角色 ,然后单击数据库角色(或创建新的数据库角色)。
在“维度”窗格中,将维度设置为<多维数据集名称>多维数据集维度。
默认情况下,权限继承自相应的数据库维度。 清除 “继承 ”复选框,将权限从 “读取 ”更改为 “读/写”。 在使用 读/写之前,请务必阅读上一部分中的备注。
重要
如果使用 Analysis Management Objects(AMO)配置数据库角色权限,则在多维数据集的 DimensionPermission 属性中对立方体维度的任何引用都会切断从数据库的 DimensionPermission 属性继承的权限。 有关 AMO 的详细信息,请参阅 使用分析管理对象(AMO)进行开发。
另请参阅
角色和权限 (Analysis Services)
授予多维数据集或模型权限(Analysis Services)
授予对数据挖掘结构和模型的权限(Analysis Services)
授予对维度数据的自定义访问权限(Analysis Services)
授予对单元格数据的自定义访问权限(Analysis Services)