Envrypt sql_alchemy_conn в файле конфигурации воздушного потока (ansible) - PullRequest
0 голосов
/ 21 июня 2019

Есть ли способ зашифровать строку файла конфигурации воздушного потока sql_alchemy_conn, в примере показан пароль в виде открытого текста. Какие есть варианты, чтобы обеспечить его. Также, если у пароля есть специальные символы, как его нужно экранировать в файле конфигурации

Попытка установить воздушный поток с помощью роли воздушного потока.

# См .: https://www.sqlalchemy.org/ sql_alchemy_conn: значение: "postgresql + psycopg2: // pgclusteradm @ имя_сервера: PLAINTEXTPASSWORD@server.postgres.database.azure.com/airflow2"

Способ шифрования пароля, не могу найти, как это зашифровать.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Существует 2 способа обеспечения этого, как указано в документах :

1) Переменная среды :

Вы можете переопределить настройку в airflow.cfg, установив следующую переменную среды:

AIRFLOW__CORE__SQL_ALCHEMY_CONN=my_conn_string

Таким образом, вы можете оставить настройку в airflow.cfg пустой, чтобы никто не мог просмотреть пароль.

2) Получить строку, выполнив команду :

Вы также можете получить строку подключения во время выполнения, добавив _cmd к ключу следующим образом:

[core]
sql_alchemy_conn_cmd = bash_command_to_run
0 голосов
/ 21 июня 2019

Вы можете предоставить URI базы данных через переменные окружения вместо файла конфигурации. Это не зашифровывает его и не обязательно делает его более безопасным, но, по крайней мере, оно не хранится в постоянном файле.

В вашем airflow.cfg вы можете поместить заполнитель:

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

Затем установите AIRFLOW__CORE__SQL_ALCHEMY_CONN=postgresql+psycopg2://... в переменной окружения при запуске компонентов Airflow. Этот способ установки и переопределения параметров конфигурации с помощью переменных среды подробно описан в документах , но основной формат - AIRFLOW__{SECTION}__{KEY}=<value>.

...