为本地开发人员匿名 GCP Cloud SQL 导出
Anonymise GCP Cloud SQL export for local dev
我们每天例行地将我们的云 SQL (PostGres) 实例备份到 GCS Bucket。我正在寻找实现以下目标的想法和最佳途径:
- 在备份完成后匿名化 .SQL 文件中的敏感数据 - 这可能是另一个在导出后触发的例行自动化作业
- 压缩为 .tar.gz(或其他格式)以便更快地下载
- 然后开发人员将下载、解压缩并 运行 在他们的本地 postgres SQL docker 本地开发环境的容器中
我一直在研究是否有 GCP 内置服务来执行此操作,但找不到任何东西。我想尽可能多地使用 GCP 云服务,而不是必须在计算实例等上编写脚本和 运行
我目前的想法是以某种方式使用:
- Cloud Functions 使用 Python 进行匿名化(如果可能的话)
- 云调度程序设置 cron 作业以定期执行此操作
我只是不确定细节,也不确定是否真的有更简单的方法。
技术可行性
有一个 Google 云 Data Loss Prevention API 可用于匿名化(屏蔽)数据。
由于您正在从云 SQL 数据库中读取数据,您可能会发现适用于云 SQL 的 DLP 代理很有用(请参阅 tutorial)。
使用此代理应用程序,您可以向实例或容器内的数据库提交查询,并将其匿名化。你可以挂载一个带保险丝的桶,然后直接把结果转储到那里。
感谢@Iñigo 发布有关 DLP 的信息,这一定会派上用场。
我还发现我们一直在使用这个工具,直到昨天我才知道!
https://gitlab.com/dalibo/postgresql_anonymizer
效果很好,已经作为 docker 图片出现了。