google 云存储桶中的秘密

Secrets in a google cloud bucket

我们想要一个生产气流环境,但不知道如何正确处理机密,特别是 google bigquery 客户端 JSON 文件

我们尝试在自动创建的 kubernetes 集群上设置 kubernetes 秘密(通过创建 google 云作曲家(气流)环境自动创建)。我们目前只是将文件放在存储桶中,但希望有更好的方法。

def get_bq_client ():
    """ returns bq client """
    return bq.Client.from_service_account_json(
        join("volumes", "bigquery.json")
    ) 

我们希望对所需的机密进行某种形式的适当管理。遗憾的是,使用 Airflow 变量不起作用,因为我们无法使用 json 文件作为文本

创建客户端对象

一种可行的解决方案是加密 JSON 文件并将其放在存储桶中。只要解密密钥存在于存储桶中,而在其他任何地方都没有,您就可以将带有秘密的代码签入某些源代码控制,并在存储桶中签出和解密。