授予多维数据集或模型权限 (Analysis Services)

多维数据集或表格模型是 Analysis Services 数据模型中的主要查询对象。从 Excel 连接到多维或表格数据进行临时数据浏览时,用户通过将特定多维数据集或表格模型选作 Pivot 报表对象后的数据结构而开始。此主题解释了如何授予访问多维数据集或表格格式数据的必要权限。

默认情况下,除“服务管理员”或“数据库管理员”以外,其他人无权查询数据库中的多维数据集。非管理员访问多维数据集需要为包含多维数据集的数据库所创建的角色的成员身份。成员身份支持 Windows 用户或组账户,在 Active Directory 中或本地计算机上定义。开始前,请确定将为哪一个帐户分配即将创建的角色中的成员身份。

如果拥有对多维数据集的 Read 访问权限,则对其中维度、度量值组和透视也就拥有了相同权限。多数管理员都将授予多维数据集级读取权限,然后限制对特定对象、关联数据的权限,或者根据用户标识限制权限。

为保护连续解决方案部署上的角色定义,最佳做法是在 SQL Server Data Tools 中将角色定义为模型的一部分,然后让数据库管理员在数据库发布后在 SQL Server Management Studio 中分配角色成员身份。但可以使用其中一个工具来执行两个任务。为简化操作,我们将为角色定义和成员身份使用 SQL Server Management Studio。

注意注意

仅服务器管理员或数据库管理员具有“完全控制”权限,可从源文件到服务器部署多维数据集,或创建角色和分配成员。有关这些权限级别的详细信息,请参阅授予服务器管理员权限 (Analysis Services)授予数据库权限 (Analysis Services)

步骤 1:创建角色

  1. 在 SSMS 中,连接到 Analysis Services。如需此步骤的帮助,请参阅从客户端应用程序进行连接 (Analysis Services)

  2. 在“对象资源管理器”中打开“数据库”文件夹,并选择一个数据库。

  3. 右键单击“角色”并选择“新角色”。请注意,角色在数据库级创建并应用于其中的对象。不能在数据库间共享角色。

  4. 在“常规”窗格中,输入一个名称,并输入一些说明(可选)。此窗格也包含几个数据库权限,如:完全控制、处理数据库和读取定义。查询多维数据集或表格模型都不需要这些权限。有关这些权限的更多信息,请参阅授予数据库权限 (Analysis Services)

  5. 输入名称和可选说明后,继续进行下一步。

步骤 2:分配成员身份

  1. 在“成员身份”窗格中,单击“添加”,输入将使用此角色访问多维数据集的 Windows 用户或组帐户。Analysis Services 仅支持 Windows 安全身份。请注意,在此步骤中不用创建数据库登录。在 Analysis Services 中,用户通过 Windows 帐户连接。

  2. 继续下一步,设置多维数据集权限。

    请注意,我们将跳过“数据源”窗格。Analysis Services 数据的一般使用者不需要对数据源对象的权限。有关何时设置此权限的详细信息,请参阅授予数据源对象权限 (Analysis Services)

步骤 3:设置多维数据集权限

  1. 在“多维数据集”窗格,选择一个多维数据集,然后单击“读取”或“读/写”访问。

    “读取”访问对多数操作而言已足够。“读/写”仅用于写回,不用于处理。有关此功能的更多信息,请参阅设置分区写回

    请注意,你可以选择多个多维数据集,以及“创建角色”对话框中可用的其他对象。授予对多维数据集的权限就是授权了对与此多维数据集关联的维度和透视的访问。无需手动添加多维数据集中已表示的对象。

    如果需要根据对象或用户更改授权,例如:要使某些度量值不可用,可以用原子方式允许或拒绝对特定对象上,甚至对单元的访问。有关详细信息,请参阅授予对维度数据的自定义访问权限 (Analysis Services)授予对单元数据的自定义访问权限 (Analysis Services)

  2. 此时,单击“确定”后,此角色的所有成员均可在你指定的权限级别下访问多维数据集。

    请注意,在“多维数据集”窗格中,你可授予用户通过“钻取和本地多维数据集”从服务器多维数据集创建本机多维数据集的权限,或者通过“钻取”权限仅允许钻取。

    最终,此窗格会使你授予对多维数据集的“处理数据库”权限,从而使此角色的所有成员均具有为此多维数据集处理数据的能力。由于处理通常是受限操作,因此我们建议你将任务留给管理员,或特别为该任务定义独立的角色。有关处理权限最佳做法的更多信息,请参阅授予处理权限 (Analysis Services)

步骤 4:测试

  1. 使用 Excel 测试多维数据集访问权限。你也可使用 SQL Server Management Studio,遵循接下来所述的相同技术 ─ 作为非管理员用户运行应用程序。

    注意注意

    如果你是 Analysis Services 管理员,管理员权限将和具有更低权限的角色结合,使测试隔离的角色权限变得困难。为简化测试,我们建议你使用分配给正在测试的角色的帐户,打开第二个 SSMS 实例。

  2. 按住 Shift 键并右键单击 Excel 快捷方式,以便访问**“以其他用户身份运行”**选项。输入一个拥有此角色中的成员身份的 Windows 用户或组帐户。

  3. Excel 打开时,使用“数据”选项卡连接 Analysis Services。由于你要作为不同的 Windows 用户运行 Excel,因此“使用 Windows 身份验证”选项就是测试角色时要使用的凭据类型。如需此步骤的帮助,请参阅从客户端应用程序进行连接 (Analysis Services)

    如果连接出错,请检查 Analysis Services 的端口配置,并验证服务器是否接受远程连接。有关端口配置的信息,请参阅将 Windows 防火墙配置为允许 Analysis Services 访问

步骤 5:脚本角色定义和分配

  1. 最后一步,你应生成一个捕获刚才创建的角色的定义的脚本。

    从 SQL Server Data Tools 重新部署一个项目将覆盖未在项目内定义的任何角色或角色成员身份。重新部署后,重建角色和角色成员身份最迅速的方法是通过脚本。

  2. 在 SSMS 中,导航到“角色”文件夹,右键单击一个现有角色。

  3. 选择“编写角色脚本为”|“CREATE TO”|“文件”。

  4. 保存该文件,以 .xmla 为文件扩展名。要测试此脚本,请删除当前角色,打开 SSMS 中的文件并按 F5 以执行此脚本。

下一步

你可优化多维数据集权限以限制对单元或维度数据的访问。有关详细信息,请参阅授予对维度数据的自定义访问权限 (Analysis Services)授予对单元数据的自定义访问权限 (Analysis Services)

请参阅

任务

授予数据挖掘结构和模型权限 (Analysis Services)

授予数据源对象权限 (Analysis Services)

概念

Analysis Services 支持的身份验证方法