Tableau服务器是企业管理和展示Tableau报表的服务平台,但报表平台存储了大量企业机密数据,不方便暴露。特别是对于比较注重网络安全的大型企业,这种BI平台往往被放置在企业内部网络中,防火墙筑得很厚,禁止外网访问。
重视数据安全无可厚非。但随着移动办公的普及,手机上越来越多企业级应用的出现,为了让数据展示更高效,加速企业数字化转型,紧跟时代,企业往往选择做更多的单点登录和系统集成。在这种场景中,Tableau服务器单点登录的二次开发变得越来越普遍。本文提供了一种在intranet环境下企业报表集成的应用方案。
理论上,将Tableau服务器报表集成到任何其他基于网络的应用程序中是可行的。比如:钉钉、企业微信等即时通讯应用;企名网站、数据展示大屏等展示平台;等等。
为了完成上述任务,我们需要做以下几件事:
1.建立其他应用程序用户列表和Tableau服务器用户列表的用户映射和权限映射
为了让其他平台的用户在登录时也能看到与其权限对应的报表,映射和同步更新必不可少。本部分需要特定背景开发学生学习,点击下面的门户
2.为Tableau服务器配置反向代理,以打开其他应用程序访问Tableau服务器的窗口
为Tableau服务器配置反向代理的目的是为了外部网络/其他应用可以访问Tableau报表,并且为了避免Tableau服务器与其他应用平台之间跨域带来的浏览器拦截问题,我们需要将Tableau服务器与其他显示平台代理为同一域。
3.摆画面服务
R报表嵌入到其他平台中。有关更多详情,请点击超链接
一般来说,嵌入报表有两种方式,一种是通过该平台将报表重定向到Tableau服务器,另一种是将Tableau报表嵌入到某个页面中。(第二步提到可能会发生跨域问题。)
本文主要介绍第二步反向代理,帮助大家避开反向代理中的坑。Tableau官方为设置反向代理提供了非常详细的解释,我将在以下内容中部分参考Tableau官方文件。
下图显示了客户端如何通过反向代理与Tableau服务器交互。(左边是用户客户端,右边是反向代理服务器,右边是Tableau服务器)
1.外部客户端启动TableauServer连接。例如,该客户端使用为反向代理服务器配置的公共URL(客户端不知道它正在访问反向代理)
2.反过来,反向代理将请求映射到TableauServer请求。可以将反向代理配置为对客户端进行身份验证(使用SSL/TLS)作为向Tableau服务器传递请求的先决条件。
https://www.zhucesz.com/获取请求并将其响应发送给反向代理。
4.反向代理将内容发回客户端。就客户端而言,刚刚与TableauServer进行了比较
交互,不可能知道反向代理通过了通信。
我们的开发兄弟建议我们使用Nginx来构建一个反向代理服务器,它开源、免费、易用。反向代理服务器构建在一个服务器之上,该服务器必须能够接收来自外部网络的请求,并确保该服务器能够与Tableau服务器通信而不会被防火墙阻止。这是最重要的基础设施建设,然后怎么配套
设置的问题。并会告诉你这台服务器的IP、域名和别名。
在配置Tableau服务器之前,您需要收集以下有关代理服务器配置的信息。要配置TableauServer,请使用tsm configuration set命令。您需要收集的信息与运行TSM所需的选项相对应。
以下大多数tsm选项也用于配置在负载均衡器后面运行的Tableau服务器部署。有关更多信息,请参见添加负载均衡器。
如果您使用的是Tableau服务器的分布式安装,请在集群中的初始节点上运行以下tsm命令。
输入以下命令以设置客户端通过代理服务器访问TableauServer时将使用的FQDN,其中名称为FQDN:
Tsm configuration set-k-v“name”例如,如果您正在通过在浏览器中键入TableauServer来访问TableauServer,请输入以下命令:Tsm configuration set-k-v
“
2.输入以下命令设置代理服务器的地址或CNAME,其中server_address是IPv4地址或CNAME值:
Tsm配置集-k-v“server_ip_address”
如果您的组织使用多个代理服务器,请输入多个用逗号分隔的IPv4地址。不支持IP范围。要改进Tableau服务器的启动和初始化,请尽量减少条目的数量。
3.输入以下命令为代理服务器指定备用名称,如其完全限定域名,任何不完整的
限定域名和任何别名。如果您有多个名称,请用逗号分隔名称。
Tsm配置集-k-v“name1,name2,name3”例如:
Tsm配置集-k-v“,proxy1,,”
4.如果代理服务器使用SSL与Internet通信,则运行以下命令告诉Tableau反向代理服务器使用端口443而不是端口80:
Tsm配置集-K-V 443
5.输入以下命令提交配置更改:
Tsm挂起-应用更改
如果挂起的更改需要重新启动服务器,则pending-changes apply命令将显示一个提示,告诉您将重新启动。即使服务器已经停止,也会显示此提示,但在这种情况下不会重新启动。可以使用--ignore-prompt选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则在不提示的情况下应用更改。有关更多信息,请参见tsm pending-changes应用程序。
配置反向代理服务器以使用Tableau服务器
当客户机通过反向代理访问Tableau服务器时,必须保留(或添加)特定的消息头。具体地说,消息链中的所有代理服务器都必须在and设置中表示。
注意:如果代理服务器使用SSL与Tableau服务器通信,则必须在Tableau服务器上配置和启用SSL。
下图显示了单个