将凭据传递给 Dataflow 作业的正确方法是什么?
我的一些 Dataflow 作业需要凭据才能进行 REST 调用和获取/后处理数据。
我目前正在使用环境变量将凭据传递给 JVM,将它们读入一个 Serializable 对象并将它们传递给 DoFn 实现的构造函数。我不确定这是正确的方法,因为任何可序列化的类都不应该包含敏感信息。
我想到的另一种方法是将凭证存储在 GCS 中并使用服务帐户 key 文件检索它们,但想知道为什么我的工作要执行从 GCS 读取凭证的任务。
最佳答案
Google Cloud Dataflow 没有对传递或存储安全 secret 的 native 支持。但是,您可以使用 Cloud KMS 和/或 GCS,因为您建议使用 Dataflow 服务帐户凭据在运行时读取 secret 。
如果您在运行时从 DoFn
读取凭证,您可以使用 DoFn.Setup
生命周期 API 读取一次值并在 DoFn
的生命周期内缓存它.
您可以在此处了解 Google Cloud 中 secret 管理的各种选项:Secret management with Cloud KMS .
关于google-cloud-platform - 向 Google Dataflow 作业发送凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49532987/