You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Composer 2中如何安全传递Secret Manager密钥至DBT profiles.yml

问题:Cloud Composer 2中dbt-airflow算子调用Secret Manager密钥文件到profiles.yml的安全实现方式

已完成Cloud Composer 2的Secret Manager后端配置,尝试两种方式将Secret Manager中的密钥文件传入dbt的profiles.yml均失败:

失败尝试1:直接通过keyfile字段传入Secret内容

keyfile字段要求传入文件路径而非JSON内容,配置示例如下:

target: dev
  outputs:
    dev:
      project: "myproject-dev"
      job_execution_timeout_seconds: 10800
      job_retries: 3
      location: US
      method: service-account
      priority: interactive
      dataset: dev
      threads: 20
      type: bigquery
      maximum_bytes_billed: 150000
      keyfile: "{{ env_var('DBT_ENV_SECRET_KEYFILE') }}" 

失败尝试2:使用keyfile_json字段结合环境变量

先将Secret内容存入环境变量:

os.environ['DBT_ENV_SECRET_KEYFILE'] = '{{var.value.dbtdev }}'

再传入profiles.yml:

target: dev
  outputs:
    dev:
      project: "myproject-dev"
      job_execution_timeout_seconds: 10800
      job_retries: 3
      location: US
      method: service-account-json
      priority: interactive
      dataset: dev
      threads: 20
      type: bigquery
      maximum_bytes_billed: 150000
      keyfile_json: "{{ env_var('DBT_ENV_SECRET_KEYFILE') }}" 

但因传入内容为字符串,不符合dbt要求的键值对结构,触发"无效架构"报错。

需求

希望找到更简单安全的实现方式,比如使用安全临时文件,不使用Pods,优先采用dbt-airflow或Cosmos DBT,求最佳安全方案。

内容的提问来源于stack exchange,提问作者Nora Nathalie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:34:55