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

如何在Airflow中加密变量?将‘Is Encrypted’列改为True

Airflow JSON变量加密及修改Is Encrypted状态步骤

前提说明

Airflow变量的加密完全依赖FERNET_KEY配置,已存在的未加密变量不会自动转为加密状态,需要手动重新设置才能让Is Encrypted列变为True。


步骤1:确认FERNET_KEY配置有效性

  • 检查Airflow配置文件(airflow.cfg)中的fernet_key项,确保配置了有效密钥。
  • 若未配置或需要生成新密钥,执行以下命令生成:
    airflow users generate_fernet_key
    
  • 将生成的密钥替换到airflow.cfg的fernet_key字段,然后重启Airflow的webserver、scheduler等服务。

步骤2:重新加密已存在的未加密JSON变量

方法一:通过Airflow UI操作

  • 进入Airflow后台的「Admin」→「Variables」页面,找到目标JSON变量。
  • 点击「Edit」按钮,将原JSON值重新粘贴到「Value」输入框,点击「Save」保存。
  • 保存完成后,系统会自动用FERNET_KEY加密该值,Is Encrypted列会切换为True。

方法二:通过CLI命令操作

  1. 导出所有变量到本地文件(找到目标变量的key和JSON值):
    airflow variables export variables.json
    
  2. 删除原未加密变量:
    airflow variables delete <你的变量key>
    
  3. 重新设置加密后的变量:
    airflow variables set <你的变量key> '{"key1": "value1", "key2": "value2"}'
    
    (注意:JSON值需用单引号包裹,避免特殊字符解析问题)

步骤3:验证加密状态

  • 返回「Variables」页面,查看目标变量的Is Encrypted列是否变为True。
  • 也可通过CLI验证:执行airflow variables get <你的变量key>,若输出为加密后的乱码字符串(而非原JSON),则说明加密成功。

注意事项

  • FERNET_KEY一旦配置后请勿随意修改,否则已加密的变量将无法解密。
  • Airflow 2.x版本中,只要FERNET_KEY有效,UI编辑变量时会自动处理加密逻辑,无需额外操作。
  • JSON格式变量的加密逻辑与普通变量一致,无需针对JSON做特殊配置,确保值为合法JSON字符串即可。

内容的提问来源于stack exchange,提问作者Hung Dao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:05:00