問題
Airflow webserverはREST APIを公開しており、DAGの参照や作成などが可能となっている。
# 疎通確認 $ curl 'https://your.domain/api/experimental/test' {"status":"OK"}
1.10.6のデフォルトの設定では破壊的操作を含むAPIを認証なしで全公開するinsecureな作りになっていた。
経過
本体でも危険性に気づき、[AIRFLOW-6027] Disable API access by default by mik-laj · Pull Request #6625 · apache/airflow · GitHub でdefault
の挙動が修正された。
また、1.10.11でshipされたChange default auth for experimental backend to deny_all by ashb · Pull Request #9611 · apache/airflow · GitHubにより、airflow.cfg
の設定がデフォルトでdeny_all
となるように修正された。
推奨される設定
API機能を利用しないAirflow webserverであればairflow.cfg
で当機能をオフにしておくのが望ましい。
[api] # How to authenticate users of the API -auth_backend = airflow.api.auth.backend.default +auth_backend = airflow.api.auth.backend.deny_all
/api/experimental
というエンドポイント名、気概を感じる