目录

Tableau中的数据安全性概述

本文是关于什么的?

业务需求(Tableau Server组中保留的安全配置)

解决方案概念

分步解决方案

在Tableau Server上创建Tableau Server组

创建用户筛选器(Tableau Desktop中的计算字段)

在工作簿中应用用户筛选器以进行访问控制

测试访问控制

结论

继续...


Tableau中的数据安全性概述

当我们谈论Tableau中的数据安全性时,我们想到了各种选择,例如我们可以基于数据库实现安全性或者可以基于Tableau Server和用户筛选器实现安全性,甚至可以使用混合方法应用安全性。

在Tableau提供的所有可用数据安全性选项中,哪一种是最佳方法,这是很难一齐回答的问题。该问题的答案取决于基于组织结构和业务模型的某些因素。

如果您的组织结构保持静态并且不经常更改,则服务器组可能是一个不错的选择。但是,对于组织结构和安全规则频繁更改的组织而言,面向数据库的安全配置可能是更好的方法。

总体而言,在满足当前和未来业务需求的情况下,混合方法可能是一种更成功的选择。

本文是关于什么的?

本文旨在提供一种使用两种方法处理行级数据安全性的端到端思想:

  • 使用Tableau服务器组的数据安全性(仅在服务器组中保留配置)
  • 使用混合方法的数据安全性(将服务器组中的配置与数据库一起保留)

在阅读完本文之后,用户将能够很好地理解该概念,并将该技术应用于他们的实时项目。

我们将看到基于实时需求的数据安全逐步实现。本文分为两个部分。

在第一部分中,我们将使用Tableau Server组来保留安全性配置并将此配置用于数据访问控制。在第二部分中,配置部分将保留在数据库中,我们将看到如何使用混合方法。

有关处理数据安全性(使用Tableau User Filter选项),可以参考Tableau中的数据安全性 文章。

业务需求(Tableau Server组中保留的安全配置)

为了便于说明和实现示例目的,我们选择了金融机构的数据子集。数据集包含与两个部门和两个业务和支持部门的总部相关的数据。

在此组织中,下面提到了四个访问级别:

  • 总裁——可以查看所有部门和所有分支机构的公司所有数据
  • 直属经理——他负责任何单个业务,例如财务、人力资源等,因此他可以查看所有分支机构的业务数据。
  • 分公司经理——他负责其分公司,因此他可以查看其分公司所有部门的数据。
  • 分支机构部门经理——他负责分支机构中的单个部门,因此他应该只能看到其分支机构中部门的数据。这是最低的访问级别。

以下是此数据集中的部门:

以下是此数据集中的分支:

以下是用户列表:

现在的要求是根据以下安全矩阵进行访问:

解决方案概念

以下是实现上述实现安全性要求的高级步骤:

  • 在Tableau Server上创建服务器组
  • 在各自的服务器组中添加用户
  • 创建用户筛选器(Tableau Desktop中的计算字段)
  • 在工作簿的工作表中应用用户过滤器以进行访问控制
  • 测试访问控制

分步解决方案

Tableau Server上创建Tableau Server

Tableau Server中的组是一个保存用户信息的对象。您可以基于在Tableau Server中本地创建的活动目录用户创建组。

为了在Tableau Server中创建组,请登录到Tableau Server,选择您的站点并通过以下屏幕快照中提到的导航进入“组”菜单:

将打开以下屏幕:

单击添加组按钮:

单击添加组按钮:

它将打开屏幕以添加组。如果使用的是Active Directory,请选择“Active Directory组”选项,否则请选择“本地组”选项。

通过分析业务需求,我们可以将各组分为三个主要类别。下图演示了应创建以处理业务需求的每个组的类别、名称和逻辑。

如下所示,在Tableau Server中添加以下组:

在服务器组中添加用户

为了在站点中添加用户,请按如下所述从链接转到用户页面:

添加网站中的所有9位用户:

下一步是按照我们之前针对每个用户业务角色的计划,为用户分配各自的服务器组。

以下是我们需要分配用户的组:

为了将组分配给用户,请按照以下步骤操作。例如,让我们将服务器组分配给Manoj。

单击用户菜单,转到用户Manoj并单击三个点。它会打开一个小菜单,选择“组成员身份选项,如下所示:

现在,选择适用于该用户的组:

单击保存按钮以保存用户Manoj的组分配。

我们特意选择了具有最多分配组的分支部门用户。对“用户服务器组分配”表中提到的所有用户重复相同的步骤。

创建用户筛选器(Tableau Desktop中的计算字段)

创建服务器组后,下一步就是创建一个计算字段,该字段将用作每个组中的过滤器。

为了创建此计算字段,请打开tableau桌面,单击以创建一个计算字段:

将其命名为“用户过滤器”,并在其中写入以下条件:

ISMEMBEROF() 是Tableau的内置函数,该函数检查登录的用户是否是传递给此函数的服务器组的成员。

CMPCODE是引用分支数据的字段。此列中的值可以是SHJ(Sharjah)或MCT(Muscat)。

DEPARTMENT是指部门的字段。此列中的值可以为不适用任何部门的Parts,Service或者Null。这将在本文的第二部分中进行处理。这种情况适用于不属于任何特定部门的数据,例如与组级别有关的数据,只有总裁才能看到这些数据。

例如,如果登录的用户是PRESIDENT组的成员,则条件将返回值1,否则将返回的值0。

为了简单起见并出于解释目的,仅首先显示总裁,随后需要将所有级别的逻辑添加到同一计算字段中。

因此,完整的逻辑如下所示:

编写“IF”条件以确保仅当用户是其所有相关服务器组的成员时返回1,例如,当Sharjah part Manager是BRANCH-DEPT-MANAGER、SHARJAH-SHJ和PARTS服务器组的成员时,将返回1, CMPCODE (包含location的字段)的值为SHJ (指向Sharjah),DEPARTMENT字段的值为Parts。

这是为上面提到的业务需求编写的一个实现,当然,如果需求更加复杂,它可能会变得更加复杂。

我们将在本文的第二部分中处理更复杂的需求,在该部分中,我们将部分配置保留在数据库中。

在工作簿中应用用户筛选器以进行访问控制

以下是数据中的部门和分支机构:

用户过滤器准备就绪后,需要将“用户过滤器 ”应用于工作表以控制数据访问。如下所示,将“用户过滤器 ”放置在过滤器架中:

它看起来像这样:

现在,由于我们已将安全筛选器应用于工作簿,因此将根据分配的组来限制部门和分支机构的数据。

测试访问控制

让我们检查不同用户的数据访问权限:

检查总裁的数据访问

用户Muhammad是总裁,应该能够看到所有分支机构和部门。为了检查他的可访问数据,让我们选择用户Muhammad,如下所示:

从上面的屏幕截图可以清楚地看出,Muhammad能够看到公司的所有分支机构和所有部门。

检查Line Manager的数据访问——零件

米奇(Mickey)用户是零件生产线经理,应该能够看到公司零件部门的所有分支机构。为了检查他的可访问数据,让我们选择用户Mickey,如下所示:

从上面的屏幕截图可以清楚地看到,Mickey能够看到部件部门的所有分支机构。

检查Line Manager的数据访问权限——服务

Wasim用户是服务线经理,应该能够看到公司服务部门的所有分支机构。为了检查他的可访问数据,让我们选择用户Wasim,如下所示:

从上面的屏幕截图可以清楚地看到,Wasim能够查看该Service部门的所有分支机构。

检查分支机构经理的数据访问权限——Sharjah

用户Jeffry是Sharjah分支机构的经理,应该能够查看Sharjah分支机构的所有部门。为了检查他的可访问数据,让我们选择用户Jeffry,如下所示:

从上面的屏幕截图可以清楚地看出,Jeffry能够查看Sharjah分支的所有部门。

检查分支机构经理的数据访问——Muscat

用户Yusra是Muscat分公司的经理,应该可以看到Muscat分公司的所有部门。为了检查他的可访问数据,让我们选择用户Yusra,如下所示:

从上面的屏幕截图可以清楚地看到,Yusra能够看到Muscat分支的所有部门。

检查分支部门经理的数据访问权限——Sharjah零件经理

用户Yousaf是Sharjah零件经理,应该只能看到Sharjah中的零件部门。为了检查他的可访问数据,让我们选择用户Yousaf,如下所示:

从上面的屏幕截图可以清楚地看到,Yousaf可以看到Sharjah分支的零件部门。

检查分支部门经理的数据访问权限——Sharjah服务经理

用户Manoj是Sharjah服务经理,应该只能看到Sharjah中的服务部门。为了检查他的可访问数据,让我们选择用户Manoj,如下所示:

从上面的屏幕截图可以清楚地看到,Manoj可以看到Sharjah分支机构的服务部门。

检查分支部门经理的数据访问权限——Muscat零件经理

用户Ahmad是Muscat的零件经理,应该只能看到Muscat的零件部门。为了检查他的可访问数据,让我们选择用户Ahmad,如下所示:

从上面的屏幕截图可以清楚地看出,Ahmad能够看到Muscat分支的零件部门。

检查分支部门经理的数据访问权限——Muscat服务经理

用户Ani是Muscat服务经理,应该只能看到Muscat中的服务部门。为了检查他的可访问数据,让我们选择用户Ani,如下所示:

从上面的屏幕截图可以清楚地看出,Ani可以看到Muscat分支机构的服务部门。

结论

我们已经一一检查了所有九个用户,并验证了每个用户都只能按照公司设置的配置查看其相关数据。我们处理了服务器组中的所有配置。维护Tableau Server组中的安全性非常灵活,因为您可以仅通过在服务器组中分配和删除用户来管理和修改访问级别。

这种方法的一个缺点是,如果在组织中添加了任何新部门或分支机构,则需要修改用户筛选器计算字段。因此,在组织结构变化非常频繁的情况下,应避免使用此方法。

因此,建议在规划和实现Tableau中的安全性时分析组织的结构和组织层次结构的变化趋势。

继续...

在Tableau中实现行级数据安全性的第2部分中,我将说明如何使用安全配置部分保存在数据库中来实现相同的功能。

Tableau中的行级数据安全性——第1部分相关推荐

  1. Tableau中的行级数据安全性——第2部分

    目录 介绍 业务需求--第2节--(部分保留在数据库中的安全配置) 解决方案概念 在数据库中创建访问级别字段 更新用户过滤器 测试访问控制 结论 介绍 这是在Tableau中实现行级数据安全性的第2部 ...

  2. sql 如何设置行级锁_SQL Server 2016中的行级安全性

    sql 如何设置行级锁 With the release of SQL Server 2016 comes many great new features. One of these is the i ...

  3. sql 如何设置行级锁_SQL Server中的行级安全性简介

    sql 如何设置行级锁 In this article, I'm going to discuss Row-Level Security in SQL Server. RLS or Row-Level ...

  4. 行级共享锁和行级排他锁_Power BI中的行级安全性简介

    行级共享锁和行级排他锁 Analyzing data with Power BI has always been fascinating to me. With ever-growing data c ...

  5. 教你在Tableau中绘制蝌蚪图等带有空心圆的图表(多链接)

    作者:Jeffrey A. Shaffer 翻译:蒋雨畅 校对:丁楠雅 本文约2300字,建议阅读10分钟. 本文将通过分享多种方法,包括成功的与失败的尝试,来讲解如何在Tableau中创建蝌蚪图等带 ...

  6. tableau实战系列(三十四)-教你如何在tableau中实现3D效果作图

    前言 我们知道,目前 Tableau 还不支持 3D 图表的实现.但是,如果你希望在 Tableau 中呈现立体效果,我们可以另辟蹊径,来实现一些简单的. 柱形图很常见,因为是平面的,也被称为条形图. ...

  7. html树状图右侧_如何在 Tableau 中创建控制图?

    本文作者:Jose Valero 控制图是用于研究流程如何随时间变化,并确定制造或业务流程是否在统计控制状态下的图表. 我相信这对每家公司来说都是一个有益的工具,所以在这篇文章中,我将尝试如何在 Ta ...

  8. Tableau上面地图与条形图结合_何为计算的详细级别,认识Tableau中的Level of Detail...

    何为详细级别 详细级别,英文Level of detail,Tableau用它来描述计算发生的级别,或者说计算在哪个层级发生.由于BI工具的相似性,在Power BI里也可以用类似的思想对计算进行描述 ...

  9. tableau可视化_如何在Tableau中构建自定义地图可视化

    tableau可视化 Sometime last year, I got fascinated with bubble charts when I saw a data visualization v ...

最新文章

  1. CVPR 2019最佳论文重磅出炉!李飞飞获计算机视觉基础贡献奖
  2. 小组级git服务器搭建
  3. 公需科目必须学吗_化学难吗?
  4. ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求
  5. Microsoft uaa bus driver for high definition audio
  6. TCP/ip通信模式
  7. linux 好用的 免费的 数据库管理工具 dbeaver
  8. 实体经济是因为自己不努力才落后的吗?
  9. python写csv文件按升序排列_用python给csv里的数据排序的具体代码
  10. 火狐浏览器下载慢,如何提高
  11. ANSYS湿模态分析(一)_51CAE_新浪博客
  12. linux 卸载oracle库,Linux下完美卸载 Oracle
  13. AngularJs基础视频教程 大漠穷秋AngularJs基础教程 AngularJs入门教程
  14. 印度软件与信息服务业发展经验及启示
  15. linux环境下查看进程,Linux下查看进程(程序)启动时的环境变量
  16. GBase 8a语法格式
  17. 【约束 约束 约束】
  18. 极客时间——数据结构与算法(39) 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
  19. 更学教育:B2C和C2C电商模式究竟有何区别?
  20. 基于51单片机的电子钟设计[本科自动化毕业设计论文,源码,实物]

热门文章

  1. 软件界面是怎么做出来的_电脑时间管理软件,每天要做的事情会有对话框跳出来提醒的便签软件...
  2. ubuntu14.10 linux-header更新,Ubuntu 14.04 怎样升级到 Ubuntu 14.10
  3. c语言的时间函数的介绍,c语言中时间函数介绍
  4. 设计灵感|有趣优雅的弹窗消息设计!
  5. 更具时尚感的服饰购物APP设计灵感!
  6. linux usb免驱麦克风,Android无驱usb音频实现
  7. c语言猜拳游戏实验报告,《猜拳小游戏》--一个c语言写的小项目
  8. Linux内核深入理解中断和异常(5):外部中断
  9. Linux内核构建与开发
  10. 买房前需要注意的事项有哪些