通过数据流将 GCP PubSub 集成到 DLP

问题描述 投票:0回答:1

我这里有情况。我想找出将 API 流数据从应用程序提取到 GCP BigQuery 的最佳方法,同时进行数据屏蔽。然而,一些下游管理员用户本质上也需要查看未屏蔽的数据。

我在这里的想法是使用 PubSub 实现基于事件的触发数据摄取,以便在发布新文件后立即触发数据流。数据流内部将有 2 个分支。

分支1: 调用 DLP 并屏蔽传入数据并在 BigQuery 中加载表 T1 分支2: 使用“PubSub 主题到 BigQuery”模板并将未屏蔽的(按原样)数据从源加载到 BigQuery 中的另一个表 T2。

我稍后可以使用基于角色的访问权限来授予一般用户对 T1 的访问权限和对 T2 的管理员访问权限。

我向您提出的问题是关于数据流中的第一个分支。是否有任何模板可用于使用 DLP 并逐行屏蔽传入数据。如何才能做到这一点。我需要在这里使用 Apache Beam 吗?

或者是我的整个设计都是错误的,可以整体实现更好的方法吗?请指导我。

获取下一个项目的方向并相应地构建数据流。

google-cloud-platform google-bigquery google-cloud-dataflow google-cloud-pubsub google-cloud-dlp
1个回答
0
投票

你的做法似乎很合理。我认为没有任何可用的模板,但创建一个很容易。例如,如果你使用Python,粗略地说,这将是

with beam.Pipeline() as p:
    raw_messages = (p
                | 'Read from PubSub' >> beam.io.ReadFromPubSub(topic='your-pubsub-topic'))
    # branch 1
    _ = (raw_messages
                | 'Process Data' >> beam.Map(process_message_using_dlp)
                | 'Write to BigQuery' >> beam.io.WriteToBigQuery('your-dataset.your-table'))
    # branch 2
    _ = (raw_messages
                | 'Write raw to BigQuery' >> beam.io.WriteToBigQuery('your-dataset.your-table'))
© www.soinside.com 2019 - 2024. All rights reserved.