首页 > 解决方案 > 如何在 ETL 管道中的某处插入识别敏感信息的过程?

问题描述

希望你一切顺利 !

我们已经使用 apache NiFi 开发了 ETL 管道。只有当客户端从门户上传源数据文件时才会触发。之后,源文件中存在的数据经过各个层,被转换并存储回仓库(即配置单元)。

目标:识别敏感信息并将其屏蔽,以便最终用户看不到实际数据。

识别敏感数据和屏蔽策略:我们将利用开源工具来实现这一目标,如下所示。

  1. 数据管家工作室:这个工具让我能够识别敏感信息并正确标记它。

  2. Apache Atlas:一旦数据管理员用户确认了标签,那么该标签将被推送到 Apache atlas。

  3. Apache ranger:最后,我们可以使用 Apache ranger 定义基于标签的屏蔽策略,这将允许或拒绝特定用户。 

有关上述解决方案的更多详细信息,请访问链接。

https://www.youtube.com/watch?v=RzEfLwJaLsc

问题:为了将数据提供给 DSS 工具,它应该首先加载到配置单元表中。那也行。但是我们不能在中间停止现有的ETL流程,然后开始敏感信息的识别过程。上述解决方案必须需要一些手动过程,我想摆脱它并使其自动化。也就是说,它应该插入 NiFi 管道中的某个地方。但到目前为止,据我了解,DSS 不允许我们做类似的事情那。

手动流程:

  1. 创建资产集合

  2. 接受/拒绝 DSS 中的建议标签。

如果我们不能在管道中插入识别过程,那么客户敏感数据将暴露给每个人,并且对团队中的每个人都可见。我想要一些东西,我们可以在敏感数据实际加载到 HDFS 或 hive 表之前对其进行去标识化。

如果有人已经在这个特定领域工作过,请写下您对同一问题的回复。

  

标签: apache-nifiapache-rangerapache-atlas

解决方案


一种想法可能是使用 nifi 的 EncryptContent (https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.5.0/org.apache.nifi。 processor.standard.EncryptContent/ )。然后加载到 Hive 中的值将首先被加密,并且对管理员不可见。一旦标记完成 - 然后在管道的后续部分(我假设您也在使用 nifi) - 您可以根据需要解密回内容。


推荐阅读