在气流配置文件中封装sql_alchemy_conn(可翻译)

时间:2019-06-20 21:45:04

标签: encryption ansible airflow

是否可以对气流配置文件sql_alchemy_conn字符串进行加密,示例中显示的密码为纯文本。有哪些选项可以保护它。另外,如果密码具有特殊字符,则必须在配置文件中将其转义

尝试使用气流角色安装气流。

#参见:https://www.sqlalchemy.org/   sql_alchemy_conn:      值:“ postgresql + psycopg2:// pgclusteradm @ servername:PLAINTEXTPASSWORD@server.postgres.database.azure.com/airflow2”

如何加密密码,找不到如何加密密码。

2 个答案:

答案 0 :(得分:0)

您可以通过环境变量而不是配置文件来提供数据库URI。这不会对其进行加密,也不一定使其变得更安全,但是至少它并不是明确地位于永久文件中。

在您的airflow.cfg中,您可以放置​​一个占位符:

[core]
...
sql_alchemy_conn = override_me
...

然后在启动Airflow组件时在环境变量中设置AIRFLOW__CORE__SQL_ALCHEMY_CONN=postgresql+psycopg2://...docs中详细介绍了通过环境变量设置和覆盖配置选项的这种方式,但基本格式为AIRFLOW__{SECTION}__{KEY}=<value>

答案 1 :(得分:0)

docs中所述,有两种方法可以确保这一点:

1)环境变量

您可以通过设置以下环境变量来覆盖 let payload = { subject : user._id, is_admin : true }; let token = jwt.sign(payload,'securepasswordgoeshere'); console.log(token); res.status(200).send({ data: token }); res.end(); 中的设置:

airflow.cfg

这样,您可以将AIRFLOW__CORE__SQL_ALCHEMY_CONN=my_conn_string 中的设置保留为空,以便没有人可以查看密码。

2)通过运行命令获取字符串

您还可以在运行时通过将airflow.cfg附加到键上来派生连接字符串,如下所示:

_cmd