安全角色 - 分析服务(多维数据)

角色用于Microsoft SQL Server Analysis Services 来管理 Analysis Services 对象和数据的安全性。 在基本方面,角色将Microsoft Windows 用户和组的安全标识符(SID)关联,这些用户和组具有为 Analysis Services 实例管理的对象定义的特定访问权限和权限。 Analysis Services 中提供了两种类型的角色:

  • 服务器角色是一个固定角色,它提供对 Analysis Services 实例的管理员访问权限。

  • 数据库角色、管理员定义的角色,用于控制对非管理员用户的对象和数据的访问权限。

Microsoft SQL Server Analysis Services 安全性的安全性是使用角色和权限管理的。 角色是用户组。 用户(也称为成员)可以添加或删除角色。 对象的权限由角色指定,角色中的所有成员都可以使用角色具有权限的对象。 角色中的所有成员都对对象具有同等权限。 权限对对象而言是特定的。 每个对象都有一个权限集合,该集合具有对该对象授予的权限,可以对对象授予不同的权限集。 从对象的权限集合中,每个权限都有一个分配给该权限的角色。

角色和角色成员对象

角色是用户集合(成员)的包含对象。 角色定义在 Analysis Services 中建立用户的成员身份。 由于权限由角色分配,因此用户必须是角色的成员,然后用户才能访问任何对象。

对象 Role 由参数 Name、Id 和 Members 组成。 成员是字符串的集合。 每个成员都以“domain\username”的形式包含用户名。 名称是包含角色名称的字符串。 ID 是包含角色的唯一标识符的字符串。

服务器角色

Analysis Services 服务器角色定义对 Analysis Services 实例的 Windows 用户和组的管理访问权限。 此角色的成员有权访问 Analysis Services 实例上的所有 Analysis Services 数据库和对象,并且可以执行以下任务:

  • 使用 SQL Server Management Studio 或 SQL Server Data Tools (SSDT)执行服务器级管理功能,包括创建数据库和设置服务器级属性。

  • 使用分析管理对象(AMO)以编程方式执行管理功能。

  • 维护 Analysis Services 数据库角色。

  • 启动跟踪(除了处理事件外,还可以由具有进程访问权限的数据库角色执行)。

Analysis Services 的每个实例都有一个服务器角色,用于定义哪些用户可以管理该实例。 此角色的名称和 ID 是管理员,与数据库角色不同,无法删除服务器角色,也不能添加或删除权限。 换句话说,用户要么是 Analysis Services 实例的管理员,要么不是 Analysis Services 实例的管理员,具体取决于该 Analysis Services 实例的服务器角色中是否包括该用户。

数据库角色

Analysis Services 数据库角色定义用户对 Analysis Services 数据库中的对象和数据的访问权限。 数据库角色在 Analysis Services 数据库中创建为单独的对象,仅适用于在其中创建该角色的数据库。 Windows 用户和组由管理员包含在角色中,管理员还定义角色中的权限。

角色的权限可能允许成员访问和管理数据库,以及数据库中的对象和数据。 每个权限都有一个或多个与之关联的访问权限,这反过来又授予对数据库中特定对象的访问权限的更精细控制。

权限对象

权限与特定角色的对象(多维数据集、维度、其他对象)相关联。 权限指定该角色的成员对该对象可执行的作。

Permission 类是一个抽象类。 因此,必须使用派生类来定义对相应对象的权限。 对于每个对象,将定义权限派生类。

物体 班级
Database DatabasePermission
DataSource DataSourcePermission
Dimension DimensionPermission
Cube CubePermission
MiningStructure MiningStructurePermission
MiningModel MiningModelPermission

权限启用的可能作显示在列表中:

行动 价值观 说明
流程 {truefalse}

Default=false
如果 true,成员可以处理对象和对象中包含的任何对象。

进程权限不适用于挖掘模型。 MiningModel 权限始终继承自 MiningStructure.
ReadDefinition {None, , AllowedBasic}

Default=None
指定成员是否可以读取与对象关联的数据定义(ASSL)。

如果 Allowed,成员可以读取与对象关联的 ASSL。

Basic 并且 Allowed 由对象中包含的对象继承。 Allowed overrides BasicNone.

Allowed 是对象上DISCOVER_XML_METADATA所必需的。 Basic 创建链接的对象和本地多维数据集是必需的。
读取 {NoneAllowed}

Default=None (DimensionPermission 除外,其中 default=Allowed
指定成员是否具有对架构行集和数据内容的读取访问权限。

Allowed 为数据库提供读取访问权限,使你能够发现数据库。

Allowed 在多维数据集上提供对架构行集和多维数据集内容的读取访问权限(除非受 CellPermissionCubeDimensionPermission约束)。

Allowed 对维度授予对维度中所有属性的读取权限(除非受 CubeDimensionPermission约束)。 读取权限用于对唯一的 CubeDimensionPermission 静态继承。 None 在维度上隐藏维度,并仅授予对可聚合属性的默认成员的访问权限;如果维度包含不可聚合属性,则会引发错误。

Allowed MiningModelPermission授予权限以查看架构行集中的对象和执行预测联接。

需要 NoteAllowed 才能读取或写入数据库中的任何对象。
写入 {NoneAllowed}

Default=None
指定成员是否对父对象的数据具有写入访问权限。

Access 适用于 DimensionCube类和 MiningModel 子类。 它不适用于生成验证错误的数据库 MiningStructure 子类。

Allowed Dimension授予对维度中所有属性的写入权限。

Allowed Cube授予对定义为 Type=writeback 的分区的多维数据集单元格的写入权限。

Allowed MiningModel授予修改模型内容的权限。

Allowed MiningStructure在 Analysis Services 中没有特定含义。 注意: 除非读取也设置为 >,否则无法将写入设置为
管理 说明: 仅在数据库权限中 {truefalse}

Default=false
指定成员是否可以管理数据库。

true 授予成员对数据库中所有对象的访问权限。

成员可以具有特定数据库的“管理”权限,但不能对其他人拥有管理权限。

另请参阅

授权访问对象和操作(Analysis Services)