Может ли Cloud Composer запускать Dag с разными учетными записями служб в одной среде Composer?

#google-cloud-platform #airflow #google-cloud-composer #k8s-serviceaccount

#google-облачная платформа #airflow #google-cloud-composer #k8s-serviceaccount

Вопрос:

У меня настроено несколько Dag для запуска KubernetesPodOperator в Cloud Composer / Airflow, они запускаются под учетной записью службы среды Composer, я хочу знать, есть ли возможность запустить Dag с учетной записью службы, отличной от учетной записи службы, установленной в среде Composer?

Я просмотрел документацию, но не вижу, как это можно сделать

При создании среды вы указываете учетную запись службы. Кластер вашей среды использует эту учетную запись службы для запуска модулей с различными компонентами среды, такими как рабочие группы и планировщики Airflow. https://cloud.google.com/composer/docs/how-to/access-control

https://cloud.google.com/composer/docs/composer-2/authentication

Я думаю, вы могли бы сделать это с помощью олицетворения учетной записи службы, но примеров того, как это сделать, нет https://github.com/apache/airflow/issues/12061

Комментарии:

1. Вы можете определить secret env и secret volume в начале баз данных с помощью KubernetesPodOperator. Я не пробовал, но это должно сработать.

Ответ №1:

Если вы используете операторы GCP для взаимодействия со службами Google, вы можете делать это через разные подключения.

Вы можете определить любое количество соединений, которые вы хотите, которые должны быть подключениями «GCP», и использовать эти соединения в своих DAG / задачах. Таким образом, вы даже можете иметь разные учетные записи служб для разных задач в одной и той же группе баз данных.

См. https://airflow.apache.org/docs/apache-airflow-providers-google/stable/connections/gcp.html