Правильный способ шифрования / дешифрования паролей Sqoop в среде Cloud Composer - PullRequest
0 голосов
/ 02 октября 2019

Текущий подход

Мы используем SQOOP для получения всех видов реляционных данных и в последнее время движемся к среде Google Cloud Composer. Мы шифруем пароли с использованием симметричного ключа GCP KMS и храним пароли в GCS.

Наш подход состоит в том, чтобы запустить конвейер с задачей PythonOperator, чтобы прочитать и расшифровать файл пароля, а затем передать его с помощью XCOM airflow (Composer) для последующих задач sqoop в конвейере.

Шаги

  1. Шифровать файлы паролей с помощью симметричного ключа (или асимметричного ключа, если он помогает) и сохранять в GCS.
  2. В начале конвейера данных, сначала создайте задачу PythonOperator для расшифровки файла паролей.
  3. Затем передайте дешифрованный пароль через XCOM Airflow (Composer) другим задачам sqoop.

Проблема с подходом

При передаче данных в XCOM они отображаются в пользовательском интерфейсе композитора. Даже в противном случае пользовательский интерфейс будет отображать всю запущенную команду. Можно просмотреть пароль, который не является безопасным.

Вопрос:

Посоветуйте, пожалуйста, есть ли лучший способ использования KMS для нашего варианта использования?

Как настроить компоновщиксреда для отображения только зашифрованных значений для данных XCOM и / или выполняющейся команды?

Хранение секретов внутри соединений Airflow не является для нас вариантом по соображениям безопасности. Поэтому sqoopOperator также исключен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...