如何保护 MS SSAS 2005 以通过 Internet 进行 HTTP 远程访问?
Posted
技术标签:
【中文标题】如何保护 MS SSAS 2005 以通过 Internet 进行 HTTP 远程访问?【英文标题】:How to secure MS SSAS 2005 for HTTP remote access via Internet? 【发布时间】:2008-09-24 10:13:16 【问题描述】:我们正在构建一个托管应用程序,该应用程序使用 MS SQL Server Analysis Services 2005 进行一些报告,特别是 OLAP 多维数据集浏览。由于它是为大型全球组织设计的,因此安全性很重要。
Microsoft 用于浏览 OLAP 多维数据集的首选客户端工具似乎是 Excel 2007,并且整个基础架构都围绕 Windows 集成身份验证。但是,我们正在尝试构建面向 Internet 的 Web 应用程序,并且不想为每个用户创建 Windows 帐户。
似乎也没有很多不错的基于 AJAXy Web 的 OLAP 多维数据集浏览工具(快速、拖放维度、支持动作、跨浏览器等)顺便说一句,我们目前正在使用Dundas OLAP Grid,但也考虑过 RadarCube 和其他更昂贵的商业解决方案,并且仍在考虑采用 CellSetGrid 并进一步开发它 - 如果您知道任何其他廉价/开放的解决方案,请告诉我!
因此,我们计划提供两种访问多维数据集数据的模式:
-
通过我们自己的 Web 应用程序,使用这些第 3 方基于 Web 的 OLAP 浏览工具之一。
通过 msmdpump.dll 数据泵通过 HTTPS 从 Excel 直接访问,适用于 Web 版本太慢/笨拙或用户需要更强大的分析时。
对于 Web 应用程序访问,与 SSAS 数据源的连接发生在 Web 服务器上,因此我们可以愉快地在连接字符串上传递一个 CustomData 项,该项指示正在连接的用户。由于我们可能拥有太多的权限组合来为其创建单独的 SSAS 角色,因此我们实施了动态维度安全,它使用“Cube Users”维度与来自连接字符串的 CustomData 项结合使用并限制Allowed Set 相应的各种其他维度成员(通过与包含“权限映射”的度量组的其他多对多维度关系)
请参阅 Mosha 的 Dimension Security: http://www.sqljunkies.com/WebLog/mosha/archive/2004/12/16/5605.aspx
到目前为止,这一切似乎都运行良好。
对于来自 Excel 的“直接连接”,我们为 HTTP 访问设置了数据泵 (请参阅MS Technet article)但启用了匿名访问,再次依赖连接字符串来控制访问,因为我们没有 Windows 帐户。 但是,在这种情况下,连接字符串由用户控制(我们从 Web 应用程序推送一个 .odc 文件,但好奇的用户可以查看和更改它),因此我们不能依赖用户良好并保留 CustomData =grunt@corp.org 从更改为 CustomData=superuser@corp.org。事实证明,这也会导致与角色相同的问题,因为如果您不使用 Windows 集成身份验证,这些也会在连接字符串中指定。
因此问题归结为:有没有一种方法可以在没有 Windows 帐户的情况下在 IIS 中获得基本身份验证,以便与 SSAS 数据泵一起使用,让 SSAS 知道哪个用户正在连接,以便动态维度安全可以成功使用吗?
(这是我在 *** 上的第一个问题,可能是我问过的最复杂的问题:让我知道我没有很好地解释自己的地方,我会尝试澄清)
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:基本身份验证将与本地用户帐户(非域)一起使用,如果本地帐户存在于不同的机器上,甚至支持直通身份验证,但是您应该强制使用 SSL,因为基本身份验证以明文形式发送密码。
您可以在带有附加组件(例如 http://www.codeplex.com/CustomBasicAuth)的 IIS 中使用具有基本身份验证的非 Windows 帐户,但 SSAS 仍需要知道该用户是谁,并且据我所知 SSAS 仅使用 Windows 身份验证。
【讨论】:
【参考方案2】:对于 SSAS 的(相对)便宜的瘦客户端前端,请查看 RSInteract。对于奖励积分,它还将消耗 s-s-rS 报告和报告模型。
任何使用维度安全性的尝试都需要 SSAS 了解用户并为其提供访问权限。我看不出有任何方法可以绕过维护用户权限。
【讨论】:
以上是关于如何保护 MS SSAS 2005 以通过 Internet 进行 HTTP 远程访问?的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2005:“保护”存储过程免受 MS Access 使用的 FMTONLY 模式的影响
如何在 MS SQL 2005 中使用 SQL XQuery 修改多个节点