Analysis Services (安全角色 - 多维数据)

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

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

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

Microsoft 中的安全性SQL Server SQL Server Analysis Services安全性通过使用角色和权限进行管理。 角色为用户组。 用户(也称为成员)既可向角色中添加,也可从中删除。 对象的权限按照角色来指定,对于某一角色拥有权限的对象,该角色中的所有成员都可使用。 角色中的所有成员对这些对象具有相等的权限。 各对象都有其特定权限。 每个对象都对应一个所授权限的集合;对于同一对象,可授予不同的权限集。 对于对象权限集合中的单个权限,只能向其分配一个角色。

角色和角色成员对象

角色是用户(成员)集合的包含对象。 角色定义在 SQL Server Analysis Services 中建立用户的成员身份。 由于权限是按角色分配的,所以用户必须先是某个角色的成员,然后才能访问对象。

Role 对象由参数名称、ID 和成员组成。 成员是字符串的集合。 每个成员都包含有格式为“域\用户名”的用户名。 名称是包含角色名称的字符串。 ID 是包含角色的唯一标识符的字符串。

服务器角色

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

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

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

  • 维护SQL Server Analysis Services数据库角色。

  • 启动跟踪(并非用于处理事件,此操作可以由具有“处理”访问权限的数据库角色执行)。

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

数据库角色

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

角色的权限允许成员访问和管理数据库以及数据库中的对象和数据。 每个权限都有一个或多个与其关联的访问权限,这些访问权限进而会使该权限更好地控制对数据库中特定对象的访问。

Permission 对象

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

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

Object
Database DatabasePermission
DataSource DataSourcePermission
Dimension DimensionPermission
Cube CubePermission
MiningStructure MiningStructurePermission
MiningModel MiningModelPermission

下表列出了权限可能启用的操作:

操作 说明
进程 {truefalse}

Default=false
如果值为 true,则成员可以处理该对象以及该对象中包含的任何对象。

处理权限不适用于挖掘模型。 MiningModel 权限始终从 MiningStructure 继承。
读取定义 {None, Basic, Allowed}

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

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

BasicAllowed 由对象中包含的对象继承。 Allowed 可覆盖 BasicNone

对象的 DISCOVER_XML_METADATA 要求值为Allowed 。 创建链接对象和本地多维数据集时,要求值为Basic
读取 {NoneAllowed}

Default=None (DimensionPermission 除外,其中 default=Allowed
指定成员是否可读取架构行集和数据内容。

如果值为Allowed ,则可读取数据库,这样您就可发现数据库。

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

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

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

注意Allowed 是读取或写入数据库中的任何对象所必需的。
写入 {NoneAllowed}

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

该权限适用于 DimensionCubeMiningModel 子类。 但不适用于数据库 MiningStructure 子类,这将会生成验证错误。

允许 在 上 Dimension 授予对维度中所有属性的写入权限。

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

允许在MiningModel 授予修改模型内容的权限。

MiningStructure SQL Server Analysis Services 中,允许对 没有特定含义。

注意:除非读取也设置为 “允许” ,否则无法将“写入”设置为 “允许”
管理员

注意:仅在数据库权限中
{truefalse}

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

如果值为true ,则将授予成员对数据库中所有对象的访问权限。

成员可以拥有特定数据库的管理权限,但却不能拥有其他数据库的管理权限。

另请参阅

权限和访问权限(Analysis Services - 多维数据)
授予对对象和操作的访问权限 (Analysis Services)