允许来自外部网络的用户访问SSAS多维数据集

时间:2018-06-19 11:50:14

标签: reporting-services ssas powerbi cubes

我想知道实现以下目标的方法是什么。

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

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

此外,CompanyA域不属于CompanyB的受信任用户域 反之亦然

这种方案是否可行?如果是的话,请让我知道除了使用VPN以外还有哪些方法可以实现此目的。

我已经针对这种情况进行了搜索,但是其中大多数人都在谈论外部网络。但是在这种情况下,外部网络属于一家被收购的公司,这使得情况有所不同。

1 个答案:

答案 0 :(得分:1)

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

但是,如果您不想在Company 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网站上,选择齿轮图标...管理网关...展开网关和数据源...单击“用户”选项卡...单击“映射用户名”按钮。您将看到这样的屏幕。选择CustomData。

Map user names dialog

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

偶然地,我上次检查的Power BI Desktop和Power BI服务不支持我在上面的Excel方案中提到的自定义SSAS代理。但是,如果可以使用上面提到的“映射用户名” CustomData设置发布到Power BI服务,则不需要用户在Power BI Desktop中进行连接。

相关问题