Работа с интерфейсами Apache Airflow™
Для работы с Managed Service for Apache Airflow™ можно использовать веб-интерфейс или API Apache Airflow™.
Открыть веб-интерфейс или отправить API-запрос могут только пользователи с ролью не ниже managed-airflow.user. В API проверка роли происходит через IAM-токен, который используется для аутентификации.
Интерфейсы Apache Airflow™ доступны через интернет, поэтому проверка роли нужна для их дополнительной защиты. Даже если у злоумышленника есть ссылка на веб-интерфейс и пароль пользователя admin
для авторизации, злоумышленник не сможет обратиться к интерфейсу, так как у него нет нужной роли.
Работа с веб-интерфейсом
-
В консоли управления
откройте страницу кластера. -
Перейдите на страницу веб-сервера Managed Service for Apache Airflow™.
-
В открывшемся веб-интерфейсе введите данные для авторизации:
- Логин —
admin
. - Пароль — пароль пользователя
admin
, который вы указали при создании кластера.
- Логин —
Подробнее о работе в веб-интерфейсе см. документацию Apache Airflow™
Работа с API Apache Airflow™
Запросы к API Apache Airflow™
-
В облачной сети, в которой расположен кластер Managed Service for Apache Airflow™, создайте ВМ на основе Linux.
-
Настройте NAT-шлюз для подключения к ВМ.
-
Получите IAM-токен для субъекта с ролью не ниже
managed-airflow.user
. Процесс получения токена зависит от типа субъекта: -
Выполните запрос к API, например, с помощью cURL. В параметрах авторизации укажите имя пользователя и пароль.
Пример запроса:
curl \ --request GET \ 'https://c-<идентификатор_кластера>.airflow.yandexcloud.net/api/v1/dags' \ --user 'admin:<пароль_пользователя_admin>' \ --header 'Content-Type: application/json' \ --header 'X-Cloud-Authorization: Bearer <IAM-токен>'
Запрос возвращает список DAG-файлов. Пример ответа см. в документации API Apache Airflow™
.
Важно
Чтобы использовать базовую аутентификацию в API Apache Airflow™ как в примере выше, при создании или изменении кластера задайте значение свойства api.auth_backends
: airflow.api.auth.backend.basic_auth
в блоке Конфигурация Airflow. Подробнее об аутентификации в API см. в документации Apache Airflow™