首页 > 解决方案 > 谷歌云存储桶中的秘密

问题描述

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

我们尝试在自动创建的 kubernetes 集群上设置 kubernetes 机密(通过创建 google cloud composer (airflow) 环境自动创建)。我们目前只是将文件放在存储桶上,但希望有更好的方法。

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

我们希望对所需的秘密进行某种形式的适当管理。可悲的是,使用气流变量将不起作用,因为我们无法使用 json 文件作为文本创建客户端对象

标签: pythonairflowairflow-scheduler

解决方案


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


推荐阅读