保护连接

译者:@ImPerat0R_@ThinkingChen

默认情况下,Airflow在元数据数据库中是以纯文本格式保存连接的密码。在安装过程中强烈建议使用crypto包。crypto包要求您的操作系统安装了libffi-dev。

如果最初未安装crypto软件包,您仍可以通过以下步骤为连接启用加密:

  1. 安装crypto包pip install apache-airflow[crypto]
  2. 使用下面的代码片段生成fernet_key。 fernet_key必须是base64编码的32字节密钥。
  1. from cryptography.fernet import Fernet
  2. fernet_key= Fernet.generate_key()
  3. print(fernet_key.decode()) # 你的fernet_key,把它放在安全的地方

3.将airflow.cfg中的fernet_key值替换为步骤2中的值。或者,可以将fernet_key存储在OS环境变量中。在这种情况下,您不需要更改airflow.cfg,因为Airflow将使用环境变量而不是airflow.cfg中的值:

  1. # 注意双下划线
  2. export AIRFLOW__CORE__FERNET_KEY=your_fernet_key
  1. 重启Airflow webserver。
  2. 对于现有连接(在安装airflow[crypto]和创建Fernet密钥之前已定义的连接),您需要在连接管理UI中打开每个连接,重新键入密码并保存。