如何避免更改 SSAS 角色的 Excel 连接字符串

Posted

技术标签:

【中文标题】如何避免更改 SSAS 角色的 Excel 连接字符串【英文标题】:How to avoid changing the Excel connection string for SSAS Role 【发布时间】:2015-10-23 13:41:55 【问题描述】:

我已经使用从 Active Directory 更新的用户维度在我们的 BI-SSAS 项目中实施了动态安全性。我创建了 SSAS-Roles 并在里面限制用户只能看到指定的分支。 作为前端,他们使用 Excel。问题是 Excel 不使用默认创建的 SSAS 角色,因此我需要修改连接字符串并添加以下属性:Extended Properties="Role=PowerUsers"。 我们如何使用创建的角色而无需从 excel 编辑连接字符串?可以默认添加这个 Excel 连接字符串属性吗?

【问题讨论】:

如果从连接字符串中删除 Roles=,为什么 Excel 不使用正确的角色?有问题的用户是 SSAS 管理员吗?你100%确定吗?如果您将 Profiler 连接到 SSAS 并在该用户连接时观看它应该列出用户所属的角色。如果角色说 *,PowerUsers,Readers 那么星号表示用户是管理员。 @GregGalloway 嗨...我也会尝试使用 Profiler,但我可以告诉你,如果用户打开一个新的 Excel 文件并连接到我们的 SSAS Cube,那么他可以看到所有的分支。如果我在连接字符串中使用此属性,那么他会受到限制。 您还可以安装 BIDS Helper 并在您的多维数据集上运行角色报告。如果用户在您不知道的组中,它将扩展安全组。 bidshelper.codeplex.com/… @GregGalloway 嗨,格雷格!我在分析中放置了一个配置文件,正如您已经假设的那样,初始化是使用 *,powerusers 我会运行 BIDS Helper 角色报告并检查服务器级别的 SSAS 管理员。该用户是管理员。如果您将他删除为管理员,则无需在连接字符串上指定角色。 【参考方案1】:

如果从连接字符串中删除 Roles=,为什么 Excel 不使用正确的角色?有问题的用户是 SSAS 管理员吗?你100%确定吗?如果您将 Profiler 连接到 SSAS 并在该用户连接时观看它应该列出该用户所属的角色。如果角色说 *,PowerUsers,Readers 则星号表示用户是管理员。如果您将他移除为管理员,则无需在连接字符串上指定角色。

您还可以安装 BIDS Helper 并在您的多维数据集上运行 Roles Report。如果用户在您不知道的组中,它将扩展安全组。

【讨论】:

【参考方案2】:

在独立的 Excel 数据透视表中没有直接的方法,但您可以尝试几种潜在的方法: 1)将连接字符串(文件)保存在用户可以访问的共享文件夹中,一旦指定该文件(文件夹),您无需在 Excel 中修改任何内容,但您仍然必须在文件夹。 (不好但应该没问题) 2)'如果'你使用的是SharePoint excel服务,事情很简单:只需创建一个SSS,都可以在SharePoint SSS下管理

【讨论】:

以上是关于如何避免更改 SSAS 角色的 Excel 连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

SSAS XMLA DISCOVER:如何获取 SSAS 数据库中的角色列表

[功能发布]Excel与PowerBI互通互联升级版连接SSAS和AzureAS

无法从 Excel 连接到远程 OLAP (SSAS) “无法建立连接,因为目标计算机主动拒绝它”

更改用户角色时如何避免数据库异常?

SSAS 2012 - 维度建模

SSAS 安全角色不适用于 PowerBI 报告