【问题标题】:Allow users from external network to access SSAS cubes允许来自外部网络的用户访问 SSAS 多维数据集
【发布时间】:2018-06-19 11:50:13
【问题描述】:

我想知道有哪些方法可以实现以下目标。

假设名为 CompanyA 的公司正在使用 SSAS 多维数据集,而 CompanyA 被另一家名为 CompanyB 的公司收购。 A公司的用户分阶段迁移到B公司的网络。

因此,仍然居住在 CompanyA 网络中的用户以及已迁移到 CompanyB 网络的用户应该可以访问 SSAS 多维数据集。

另外,CompanyA 域不属于 CompanyB 的可信用户域 反之亦然

这样的场景是否可行。如果是,那么请告诉我除了使用 VPN 之外还有哪些方法可以实现这一点。

我已经搜索过这个场景,但他们中的大多数都在谈论外部网络。但是这种情况下,外部网络属于被收购的公司,这就不同了。

【问题讨论】:

  • 是否可以选择 Azure 分析服务和表格模型?它使这个场景变得简单。
  • @GregGalloway:谢谢。我们没有使用 Azure。我们将它们托管在 Windows server 2008 R2 上
  • 如果我和你一起工作是值得的,我会努力推翻这个决定。只是我的 2 美分。
  • 范围内有哪些客户端工具?电源 BI? Excel?自定义网站?
  • 您的 AD 域会信任被收购公司的 AD 域吗?一种或两种方式或不信任?

标签: reporting-services ssas powerbi cubes


【解决方案1】:

可能最简单的选择(最少的代码和最少的复杂性)是每天备份多维数据集,将备份文件复制到公司 B 网络上的新 SSAS 服务器,然后跳过安全角色的成员恢复备份(这是SSMS 中的还原对话框中的选项)。所有这些都可以每天自动运行。也许新的 B 公司域服务器甚至可以有一个与 A 公司网络上的服务器名称匹配的 DNS 别名。

但是,如果您不想在公司 B 域中托管多维数据集的另一个副本,那么还有另一个选项需要一些 C# 编码。对于 Excel 用户,您可以在可公开访问的网站上托管此 proxy code。该网站允许“基本身份验证”,代码负责说明凭据是否有效。因此,您可以弄清楚如何让 B 公司的用户进行适当的身份验证。确保使用 HTTPS。此解决方案使用 CustomData 属性将用户名传递给多维数据集。因此,您需要使用CustomData() MDX function 在多维数据集中设置自定义角色,或者如果不需要数据级安全性则忽略该角色。我已经为一个客户做了这个,所以它确实有效。

对于 SSRS,我建议为 B 公司用户设置一个单独的自定义网站,该网站在远程处理模式下使用 ReportViewer 控件显示相应的报告。这假设报表可以使用公司 A 服务帐户连接到 SSAS,并且所有用户都看到相同的数据。

我会推荐上述 SSRS 方法,因为它比将整个 SSRS 网站更改为使用 custom forms auth 更容易且侵入性更小。

对于 Power BI,您可以将网关更改为使用 CustomData。在 Power BI 网站中的齿轮图标... 管理网关... 展开网关和数据源... 单击用户选项卡... 单击映射用户名按钮。你会看到这样的屏幕。选择自定义数据。

我相信您应该能够邀请 bob@companyb.com 用户并且它应该可以工作。我怀疑仪表板必须在公司 A Power BI 租户的 Power BI Premium 上运行,或者 bob@companyb.com 必须具有 Power BI Pro 许可证。

顺便说一句,我上次检查的 Power BI Desktop 和 Power BI 服务不支持我在上面的 Excel 场景中提到的自定义 SSAS 代理。但是,如果您可以使用上面提到的映射用户名 CustomData 设置发布到 Power BI 服务,则不需要用户在 Power BI Desktop 中进行连接。

【讨论】:

  • 谢谢。我会检查你提到的建议。 http 访问 ssas 多维数据集怎么样。此方法是否允许外部用户访问 ssas 多维数据集并允许使用 AD 组授予对特定多维数据集的访问权限
  • @bharathy 常规 HTTP 访问(通过 msmdpump)将要求所有用户使用公司 A 域用户帐户进行身份验证。上面提到的代理代码可以是任何身份验证。是的。如果您编写 C# 代码来验证公司 B 的身份验证,那么它可以做到这一点。您可以使用 CustomData 函数设置动态安全性,以仅授予该 B 公司用户访问适当数据的权限。
  • 谢谢。你好 Greg,即使 A 公司和 B 公司之间没有信任,上述内容是否成立
  • 谢谢。如果您有关于“验证公司 B 身份验证的 C# 代码然后它可以做到这一点,您能否分享任何链接。您可以使用 CustomData 函数设置动态安全性,以仅授予对该公司 B 用户适当数据的访问权限”。
  • 我没有任何链接。鉴于您的特定网络和 AD 设置,您必须弄清楚如何验证身份验证是否正确
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多