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

目录

介绍

业务需求——第2节——(部分保留在数据库中的安全配置)

解决方案概念

在数据库中创建访问级别字段

更新用户过滤器

测试访问控制

结论


介绍

这是在Tableau中实现行级数据安全性的第2部分。在上一篇文章中,我解释了如何 使用Tableau Server组中保留的安全性配置实现Tableau中的行级数据安全性——第1部分。我建议先阅读上一部分。

在这一部分中,我们将使用部分保留在Database中的安全性配置Tableau中实现行级数据安全 

业务需求——第2节——(部分保留在数据库中的安全配置)

现在让我们扩展在数据属性级别限制访问的要求。我们有一个名为字段类别的数据库字段。由于我们具有与损益表相关的数据,因此以下是数据库中字段类别列中的数据。

  • 营业额
  • 销售成本
  • 毛利
  • 分行直接费用
  • 直接费用
  • 部门营业利润率
  • 营业利润率
  • 财务前营业利润。成本/收入
  • 融资 成本/收入
  • 融资后营业利润。成本/收入
  • 团体费用(管理费)
  • 净利
  • 直接费用(HO
  • 小组开销

我们已经在上面讨论了4个不同级别的组织经理访问级别(总裁,直属经理,分支经理和分支部门经理),现在企业希望基于用户组织经理级别可以查看这些字段类别。

基于字段类别的访问控制矩阵包含每个级别都应可见的类别:

上述矩阵的翻译如下:

总裁:他应该能够看到所有分支机构,所有部门的所有字段类别。

直属经理:他应该只能看到他所有部门的部门,从销售到营业利润的字段类别。

分公司经理:他应该能够查看其分公司的所有部门,从销售到净利润的字段类别。

分行部门经理:他应该能够看到其分行部门,涉及从销售到营业利润的字段类别。

解决方案概念

由于此需求是对第1业务需求”中提到的需求的扩展,因此我们将使用以前完成的所有工作,例如创建服务器组,将用户分配给各个服务器组,然后创建一个计算字段,该字段为在表格中用作过滤器以限制数据。这种配置对于Tableau查看以及Tableau认证都是重要的,因此请检查与安全性和更多主题相关的Tableau 认证转储

现在,我们将按照以下步骤操作,以达到增强的要求

  • 在数据库中创建访问级别字段
  • 更新用户过滤器
  • 测试访问控制

在数据库中创建访问级别字段

由于我们有4个级别的访问控制,因此我们将在数据库中创建一个长度为4的字符字段,每个字符将代表允许的访问级别。来自数据库的每条记录都会带来有关这些列的信息。

以下是此字段XXXX的格式及其翻译。

此访问级别字段的可能组合如下所示。空单元格意味着特定级别无法访问数据。以下屏幕截图说明了所有组合的访问控制。

我们在excel文件中提供了示例数据,以使您更好地理解和说明。

更新用户过滤器

我们将在用户过滤器的计算字段中使用ACCESS_LEVEL数据库字段来标识允许的访问级别并相应地编写逻辑。

例如,现在我们将通过复制它并编写总裁级别的逻辑来修改已经写入的用户过滤器计算字段,如下所示:

我们添加了一个条件检查数据库字段ACCESS_LEVEL的第一个字符。如果第一个字符为E,并且登录的用户是PRESIDENT 组的成员,则返回 1,否则返回0

通过这种方式,可以基于服务器组中用户的成员资格以及基于ACCESS_LEVEL 的记录的允许访问级别来控制数据。简而言之,借助ACCESS_LEVEL 字段,也将基于字段类别级别来控制数据访问。

一旦我们为所有级别编写了代码,用户筛选器逻辑将如下所示:

在更新用户过滤器计算字段的代码之后,在过滤器窗格中应用此字段以过滤数据访问,如下所示:

测试访问控制

一旦应用了用户过滤器,现在就可以验证所有4个级别的逻辑。

检查总裁的数据访问

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

从上面的屏幕截图可以清楚地看到,Muhammad能够看到公司的所有分支机构和所有部门,而且他还能够看到所有字段类别,即总裁可以看到第一个字符为EACCESS_LEVEL 字段中的所有组合。

检查Line Manager——服务

Wasim用户是服务线经理,应该能够看到公司服务部门的所有分支机构。关于字段类别,线经理可以查看从销售到营业利润的字段类别。

为了检查他的可访问数据,让我们选择用户Wasim,如下所示:

从上面的屏幕截图中可以清楚地看到,Wasim能够查看服务部门的所有分支机构以及ACCESS_LEVEL 字段的第二个字符为L的所有字段类别,而生产线经理可以查看

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

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

从上面的屏幕截图中可以清楚地看到,Jeffry能够查看Sharjah分支的所有部门以及ACCESS_LEVEL 字段的第三个字符为B的所有字段类别,这对于分支经理是可见的。

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

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

从上面的屏幕截图中可以清楚地看到,Manoj只能看到Sharjah分支机构的服务部门以及ACCESS_LEVEL 字段的第四个字符为'D'的所有字段类别,分支机构经理可以查看。

结论

我们已经一一检查了所有四个级别,并看到按照ACCESS_LEVEL 数据库字段中完成的配置可以查看数据。

尽管这也可以通过使用服务器组来解决,但可能会更加乏味和冒险,因为任何新字段类别的添加都将需要添加新服务器组,并且在这种情况下,必须检查所有IF条件。因此,在这种情况下,建议继续使用一种混合方法,在该方法中,可以在服务器组中放置更一致的逻辑,而可以将随时间更改的配置放置在数据库级别。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值