Apache Airflow: First time login to Apache Airflow asks for username and password, what is the username and password?
Ты поставил Airflow, запустил webserver, открываешь localhost:8080 и — бац — вместо дашборда тебя встречает форма логина. Ты уверен, что не задавал никаких паро
Ты поставил Airflow, запустил webserver, открываешь localhost:8080 и — бац — вместо дашборда тебя встречает форма логина. Ты уверен, что не задавал никаких паролей. Начинаешь перебирать в голове стандартные пары: admin/admin, airflow/airflow, root/root. Ничего не подходит.
В этот момент возникает мысль, что ты что-то упустил в документации. Но нет. Всё проще.
Почему нет дефолтного пользователя
Если ты поставил Airflow через pip (python wheel), то дефолтного пользователя не существует. Система аутентификации по умолчанию отключена, но если она включена (например, через настройку rbac=True в старых версиях или автоматически в новых standalone-установках), то база пользователей изначально пуста.
Безопасность наше всё. Представь, если бы после pip install airflow у каждого в мире был доступ к твоему продакшен-оркестратору по паролю «12345». Поэтому создание первого пользователя — это ручной шаг.
Создаём ключ от всех дверей
Всё решается одной консольной командой. Но её синтаксис отличается в зависимости от версии Airflow. Определи свою и выбирай честный бой.
Для Airflow версии 2.0.0 и выше (что скорее всего):
airflow users create --role Admin --username admin --email admin --firstname admin --lastname admin --password admin
После этого сможешь войти с логином admin и паролем admin. Естественно, пароль потом сразу смени в UI или через cli.
Для Airflow версии ниже 1.10.14 (уже раритет, но вдруг):
airflow create_user -r Admin -u admin -e admin@example.com -f admin -l user -p admin
Здесь флаги другие, а email должен быть похож на настоящий.
Что на самом деле происходит
Команда users create добавляет запись в мета-БД Airflow (обычно в таблицу ab_user). Роль Admin даёт полный доступ ко всему интерфейсу и функционалу. После этого можно создавать новых пользователей, настраивать роли и политики доступа уже через веб-интерфейс.
Если команда завершается ошибкой — проверь, что переменные окружения Airflow (особенно AIRFLOW_HOME и AIRFLOW__CORE__SQL_ALCHEMY_CONN) корректно выставлены и мета-база инициализирована (airflow db upgrade).
Итог
Не ищи волшебный пароль в конфигах или документации. Его там нет. Просто выполни команду создания пользователя для своей версии. И поменяй дефолтный пароль сразу — даже если это dev-стенд. Привычка.