我们希望有一个生产环境,但是不知道如何正确处理机密,尤其是Google bigquery客户端JSON文件
我们尝试在自动创建的kubernetes集群上设置kubernetes机密(通过在Google Cloud Composer(气流)环境中自动创建)。目前,我们只是将文件放在存储桶中,但希望有更好的方法。
def get_bq_client ():
""" returns bq client """
return bq.Client.from_service_account_json(
join("volumes", "bigquery.json")
)
我们希望对所需的秘密进行某种形式的适当管理。遗憾的是,使用Airflow Variables无效,因为我们无法使用json文件作为文本来创建客户端对象
答案 0 :(得分:0)
一种可行的解决方案是加密JSON文件并将其放在存储桶中。只要解密密钥存在于存储桶中,并且没有其他地方,您就可以使用某些源代码控制的秘密检入代码,并在存储桶中检出和解密。