Tableau Server设置反向代理的宝贵实践经验

关联官方文章:针对 Tableau Server 配置代理 一、代理的过程与设置代理转发的最简单方法 通常,Tableau server会被安装在企业的内网环境中,内网服务器的典型特征是仅仅分配了内网的IP地址(典型如192.168.X.X或者172.16.X.X网段)。此时外部的客户端是无法访问Tableau server上的视图的。 此时,就需要一个“桥”,来传递外网客户端的访问请求(1),转发给内网的Tableau server(2),并将返回的视图结果(3),再传递给访问的客户端(4),即下图的过程。 中间的这个桥梁,Tableau server称之为“反向代理”。 并且,在官方的网站中给出了设置反向代理的方法。 但是!!!! 大部分情况下,其实不需要设置,还有更加简单的方法。 反向代理的机制就是为了成为外网客户端和内网服务器的中间桥梁,在企业中,通常有少量的公网IP地址作为统一访问使用(静态公网IP是稀缺资源),IT部门会设置路由转发,将来自某个端口的访问请求,转发到指定的内网服务器中,这就是大名鼎鼎的路由映射NAT功能。 NAT是Network Address Translation(网络地址转换)的简称,于1994年提出来,专门用于内网IP地址的设备连接往外使用,实现的载体通常是转发互联网信号的路由器。 在上面的企业案例中,客户设置外网地址的同时,通常同时就会设置外网地址和端口的映射到内部的服务器。在单一节点的Tableau server部署情况下,不需要额外配置其他地方即可使用。 二、设置反向代理的必要性和方法 那什么时候才必须在Tableau server中配置反向代理呢? ——当你有一个多节点构成的集群时! 因为Tableau Server已经淡化了主节点和附节点这样的定义,内网访问可以通过负载均衡和默认网关访问,来自路由器的请求就没有那么聪明了。此时就需要配置反向代理,告诉路由器将外网的请求转发给哪一个节点。 这里使用tsm configuration 命令,下面是我给我的客户做的配置过程,如下: [root@localhost ~]# tsm configuration 与服务器配置相关的命令类别。可用命令: tsm configuration get [参数] — 从当前活动服务器配置中获取值。 tsm configuration set [参数] — 设置服务器配置密钥。 1-设置客户端通过代理服务器访问 Tableau Server 时将使用的 域名地址: [root@localhost ~]# tsmContinue reading “Tableau Server设置反向代理的宝贵实践经验”

Tableau Server 大规模用户权限管理

今天客户问了一个问题,正好图书出版也没有细致写这一章节,借此机会整理在此,后期修订时作为补充。 场景:集团企业在使用Tableau,通过Tableau Server为企业各业务经理、主管、员工多层次员工提供受控的权限访问。 问题:如何快速、有效地管理数据权限,确保数据安全。 作为大数据可视化的分析平台,Tableau Server提供了受控的数据访问,支持行级别的权限管理,实现的基本原理是将每位访问者的用户名与数据源的特定字段建立关联关系。 这里使用到了用户函数。 1、大规模受控数据访问的基本原理 大规模受控访问,必须在数据源中具备能与访问者匹配的字段,可以称之为“权限字段”。依据“权限字段”,对访问的用户标识匹配,仅显示匹配的数据明细,从而实现行级别的控制。 常见的“权限字段”为数据源中的用户相关字段,比如“地区经理”、“业务员”等字段。 最重要的两个用户标识是用户名及其归属的群组;如果同时匹配时,可以设置是同时满足还是满足一个即可访问——这里会用到逻辑的判断。 如图所示,假定数据源中有一个字段“地区经理”,分别与各个地区相对应,每个地区下面又可以包含各个城市和城市经理。在tableau Server访问时,我们希望不同的地区经理登录其账号时,只显示对应数据明细所构造的视图——即行级别数据安全管控,简称RLS。 2、大规模受控数据访问的条件和方法 大规模受控访问需要满足几个条件: 数据源中有对应的权限字段 Tableau Server有用户的信息 而关键在于如何将二者匹配起来,大规模部署需要自动化实现,此时就需要一个映射的函数。Tableau中提供了多种用户函数,常见有: Usename() FullName() IsUsename() IsFullName() IsMemberOf() UserDomain() 这里最重要的是Usename() 和IsMemberOf()函数。 以超市数据为例,如果希望每个地区经理只看他自己的数据,那么就需要判断用户登录的标识与Tableau Server中用户名的匹配情况。常见的判断是: USERNAME() = [地区经理] 由于这个判断是布尔,因此会自动创建一个判断的字段,将这个字段加入筛选器,就可基于登录用户对应的用户名,与数据库的字段匹配。 这种情况下,需要确保数据源的名称,和Tableau Server中的用户名对应。 在超市数据中,有6位地区经理,可以在Tableau Server中创建对应的用户。我在Tableau Online中,只能以邮箱为用户名,所以就需要通过计算建立二者之间的映射。为此,我添加了一个case when函数。   基于这样的关系,就可以直接使用以下的函数判断,从而实现的受控的访问: USERNAME()=[地区经理-online] 这里实现的是「地区经理」对数据的访问,如何同时对「城市经理」的数据管控呢? tableau Server没有用户层次的概念,只有用户和群组。对城市的判断和上面对“地区经理”一样,只需要增加一个逻辑判断即可。当然,由于有的人是地区经理,有的人是城市经理,此时就需要做一个二次的判断。比如: USERNAME()=[地区经理-online]  OR  USERNAME()=[城市经理]  这样,只需要满足其中之一,即可查看对应的数据。 ———————— 这种基于username的方法适用于以下情况,需要同时满足: 数据源中有对应的权限字段,比如“地区经理”“省区经理”甚至“城市经理”; Tableau Sever有对应的用户账号,用户名需要与数据源中保持一致,如果不一致的,需要使用case when函数建立映射; 支持对具有层级的字段同时做判断,比如地区、省份、城市,使用逻辑函数的OR判断,满足其中一个即可授权,这样确保可以查看最高层次对应的数据。Continue reading “Tableau Server 大规模用户权限管理”

Tableau Server从10.5到2019.4升级步骤

注:客户服务记录,兼实施后的客户资料 。 1、远程10.5tableau server服务器并备份 (1)以管理员身份打开命令提示符,并导航到 bin 目录。 建议首先在文件中找到bin,然后复制到命令中。 (2)使用tabadmin命令备份   2、文件复制到最新的服务器上 使用远程连接24服务器,在24服务器上再远程25服务器,window server之间可以直接复制粘贴。 复制到24服务器之后,复制到默认的Tableau server 备份路径中: C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\backups\ (ProgramData默认为隐藏文件夹,可以在地址中直接输入) 3、恢复备份 官方说明见:https://help.tableau.com/current/server/zh-cn/db_restore.htm#db (1)停止服务器。在命令提示符处,键入: tsm stop (2)从备份文件进行还原。在命令提示符处,键入: tsm maintenance restore –file <file_name> 在上面的行中,将<file_name> 替换为要用来进行还原的备份文件的名称。 注意:在还原 .tsbak 文件时,Tableau Server 会自动创建其当前 data 文件夹的副本,将它命名为 tabsvc.bak-*,并将它放在 C:\ProgramData\Tableau\Tableau Server\data 中。此文件夹是 Tableau Server 的应急备份,在备份还原过程中出现问题时,Tableau 支持人员或许会用到它。 (3)重新启动服务器: tsm start     4、验证链接 备份之后,确认数据没有变化   注意,原来的用户也被替换为此前版本的Tableau账号。       附件: 从10.5升级到2019.4      

【实战】Red Hat 7.6安装Server 2019.2(附我的命令文件)

客户重装红帽系统7.6,完全远程安装Tableau Server 2019.2.1系统,完整步骤,博客结尾,附带我的命令源文件,可以点击下载。 环境说明: Red Hat 7.6 Tableau Server 2019.2 我的本机:MacBook Pro 说明安装的主要步骤 Tableau Server安装分为几大步:安装软件并启动TSM脚本(Tableau Service Manager可以理解为管理工具)、激活并注册软件(用许可证密钥激活软件、用企业最终用户信息注册软件)、配置软件(最主要是本地存储策略)、初始化TSM、创建管理账户。测试发布,确认无误后,安装驱动程序。 关注几个问题: 如何解决“TSM初始化脚本”的用户和权限问题? 如何使用命令远程下载驱动程序到远程服务器,wget和curl命令 条件:远程连接linux 感谢@唐安毅指点,我才知道macOS中自带了远程终端命令,超级方便,这里必须贴个图说明一下。   第一,【意外步骤】清除 known_hosts 这个客户的服务器重装之后,使用macos的远程工具连接,会提示错误,因为此前保存的key失效了。这是系统的安全设置,因此需要自己先把自己电脑上保存的此前的key删除。因为我只保留了这一台电脑的key,简单考虑,直接删除了key的文件。 192:.ssh wuyupeng$ rm -f known_hosts 192:.ssh wuyupeng$ ls 192:~ wuyupeng$ ssh 60.216.XX.XX @@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOINGContinue reading “【实战】Red Hat 7.6安装Server 2019.2(附我的命令文件)”

Tableau server 笔记要点

使用 关于站点 通过站点,可以实现数据之间的完全隔离,适用于不同子公司或部门的数据分隔;比如市场部站点、高管BI站点。 好用的TIPS 可以把常用的界面,设置为默认首页; 在“标记”输入工作簿的关键词,方便所有人查找;     安装Sever 最重要的是用户并发性——建议至少四核,适合25人左右的小型单位;如果服务器用户数大于100人,推荐16内核,内存大于32GB。 服务器上需要安装数据库的驱动程序; Active Directory或者本地身份认证; 更改身份认证,需要完全写在Tableau Sever,并删除多个文件。 推荐:Active Directory并打开自动登陆(Enable automatic logon) 打开Windows防火墙。 安装最后,需要创建管理员账户,如果使用了Active Directory,就输入电脑的用户名和密码。 添加用户 使用Active Directory,需要导入它的组group,   更改配置时,需要先停止Tableau Sever。 高可用性,需要至少三个节点;在Servers中增加分布式节点;给予每个程序分配   想让大家通过邮件订阅,需要在server配置 “通知和订阅”的服务器;

Tableau Online共享体验,非凡感受

前几天一个朋友想要学习Tableau,考虑如何分享给他我的Tableau范例,于是想试用一下Tableau Online;之前一直对“数据在云端”有一种莫名的排斥,所以迟迟未能上手,不料这次一次,体验超出想象。 本地搭建server环境,推荐阅读:【TB】如何优雅地使用Tableau Server 一、试用和创建站点 想要试用,直接通过官网的链接申请试用(注册Tableau Online试用),填写必要的个人信息、邮箱和组织即可,然后会收到确认的邮件,从注册到邀请成员加入,注册者和被邀请者会各自收到两封邮件,然后就可以登陆试用了。——详情可以见下面我画的流程图。 创建站点时,需要选择数据存放地点,比如北美、爱尔兰等,我选择的是北美,感觉北美近一些吧,但物理上其实爱尔兰更近,只差了八九个时区。 如果要说体验不佳的地方,就是我在中文环境下邀请对方,对方默认收到的是英文的信函,不过基本不会影响试用;只担心遇到不认识英文的领导 😢 二、发布Tableau 视图到online 发布Tableau前软件会体现先登陆Tableau online(激活站点和加入邀请时填写的账号密码),点击“发布工作簿”后,软件会弹出一个对话框(如下图),选择所要存放的位置(即项目),修改工作簿名称,添加必要的标签,还可以选择部分工作表等。 唯一重要的是,考虑到数据的重要性,需要决定数据源是一起发布,还是单独发布;如果数据源文件不大且保密性低,建议把提取的数据也发布到Tableau Online上;否则对方修改时,恐怕会出错,因为Tableau要重新建立视图就要重新读取数据。 发布成功之后,软件会自动跳转到浏览器并在Web端打开上传的视图,这就说明上传成功了。 特别说明:除非数据提取,否则Tableau并不会保存任何的数据资料,而只是搭建了访问者和数据的访问桥梁。用户可以自己决定是使用“实时”方式提供访问,从而把数据安全的放在本地服务器,还是通过“数据提取”将数据托管到server上——即便如此,Tableau依然会安全地保护你的所有。   三、管理共享数据 通过https://online.tableau.com就可以访问自己发布的数据了,感觉很不错。官方网站上中文界面也很不错了(下图)。用项目来管理数据,用用户和组管理权限,二者结合就是Tableau Online的共享结构了。 项目和权限管理 数据的权限管理等是在web端设置的, Tableau Online 中采用项目的方式来对内容进行分门别类和管理,通过点击项目文件夹右上方的 “更多选项 (•••)”图标,可以管理自定义权限。 准确的权限管理是用好Tableau Online的关键,不然我就睡不好觉了,唯恐数据被不恰当的使用。 邀请他人访问,通过用户和组实现权限控制 在用户菜单者,可以使用邮箱“添加用户”,实现邀请。邀请时一定要选择合适的角色,主要有站点管理员、发布者、交互者、查看者。 用户和组可以结合使用,把不同的用户组建为一个 组,然后赋予特定的权限。项目+组的管理方式,应该不错。   四、通过Reader访问,实现数据共享 既然使用Tableau online,那么移动端的Tableau Reader自然必不可少;我在手机上下载了Reader,然后可以登陆自己的账号查看发布的数据视图,除了速度有些慢,其他我都甚为满意。如果是iPad上使用,我想效果会更佳;毕竟5寸的手机屏幕对于可视化图表而言也是小了点。 必须要点赞的是,Tableau Online可以通过分享URL链接的方式,使接收者无需登录(也就无需创建账号)直接访问,相当于简洁版的Public;虽然有风险,但是魅力不可挡。 「通过 URL 向同事发送视图」。点击要共享的视图。在右上角,可以找到 “共享”图标。复制链接 URL 并将其粘贴到电子邮件、聊天消息或任何其他通信工具中。同事点击该 URL 后会直接转到工作簿或视图,而无需导航到 Tableau Online 站点中的页面。 「订阅仪表板更新」。为了确保使用您仪表板的任何人看到的是最新视图,可以使用“订阅”图标,选择让 TableauContinue reading “Tableau Online共享体验,非凡感受”